“The code worked last week. Now it does nothing.”
A discount can have a start and an end date. Outside them, the code is still in your store but doesn’t apply, and the customer isn’t told why.
Get notified: Coming soonLABOLD10 wasn't applied. LABOLD10 isn't active (expired on 2026-10-15).
Why it happens
A discount’s active dates decide when it can be used. Before the start date it’s scheduled; after the end date it has expired. Either way the code still exists, so the customer can type it, but Shopify doesn’t apply it. In the lab, Shopify gave no reason: the code was simply left off.
LABOLD10 is a lab code that ended on 15 October 2026 after one use. Typed into a cart with one Hydrogen board on 24 October, it got the sentence above; the cart kept only “$10 off $80”.
The same $590.00 cart with another code typed gets another sentence: NOPE123 (no discount uses it), WAX15 (it’s for other products) and VIP20 (it’s only for some customers). Checkout shows the same $590.00 every time.
What Checkout X-Ray reads
- Each discount’s status (active, scheduled or expired) and its start and end dates.
- This is the first thing checked: a discount that isn’t active gets this sentence before any other reason.
- Every code typed, and automatic discounts that are scheduled or ended in the last 30 days when they’d apply to an item in the cart.
What to look at in Shopify
The discount’s active dates, in Discounts. To use it again, change the end date or remove it; if it shouldn’t be used any more, the customer needs another code.
The sentence Checkout X-Ray writes for this reason, filled in for each cart: Discount isn’t active (expired on date).
Answer the next one with an X-ray.
Install on Shopify
Add Checkout X-Ray from the Shopify App Store. It opens in your Shopify admin, on the Free plan.
Build the customer’s cart
Open the Simulator. Pick the products, type the code they used and the country it ships to, then calculate the price.
Read the answer
The price X-ray shows each layer, and every code that wasn't applied gets a sentence saying why. Save it as a test cart to have it checked again.