Shopify discount code not working? What to check first

Shopify discount code not working? What to check first
If your Shopify discount code is not working, the cause is almost always in the discount's own settings: it isn't active yet, it has expired, it hit its usage limit, or the cart doesn't meet its rules on products, customers, minimums or combinations. Check those settings in your Shopify admin before you look at your theme or apps, because that's where most broken codes get fixed.
When the settings look right and the code still fails, the problem usually sits between the storefront and checkout. A theme change, a cart drawer app or a discount app may be getting in the way. The table below lists the common symptoms, what to check for each one, and what to do next.
Shopify discount code not working: symptom, check, next action
Symptom | What to check | Next action |
|---|---|---|
Every customer gets an invalid code message | Discount status, start date, end date, exact spelling of the code | Confirm the discount is Active, not Scheduled or Expired. Copy the code straight from the admin and test it yourself. |
Code worked yesterday, fails today | Total usage limit, end date and time zone | Raise the limit or extend the end date. Check that the end time matches your store's time zone. |
Code works for some customers, not others | Customer eligibility (segments or specific customers), one use per customer | Make sure the customer is logged in with the eligible account and hasn't already used the code. |
Code accepted but no money comes off | Applies to specific products or collections, minimum purchase requirement | Compare the cart contents with the products and collections the discount applies to. Check the subtotal threshold. |
Code fails when another discount is present | Combination settings on both discounts, any automatic discounts running | Turn on combinations where you want stacking, or tell customers which offer takes priority. |
Code fails only on subscription items | Purchase type setting (one-time, subscription, or both) | Update the discount to include subscriptions if that's what you intended. |
Discount field missing or cart behaves oddly | Recent theme edits, cart drawer apps, discount apps | Roll back or disable the most recent change and retest the cart-to-checkout path. |
Discount link (/discount/CODE) doesn't apply | Redirect target, theme or app scripts that clear cart attributes | Open the link in a private window, add a product, and see whether checkout shows the code. |
Start with the discount settings

Most discount complaints are configuration problems. Somebody set a launch date for Monday morning, but the store time zone made the code go live hours later. A code meant for one collection got saved with the wrong collection. These mistakes are easy to make and easy to fix.
Status and dates
Open Discounts in your Shopify admin and find the code. The status tells you a lot. Scheduled means the start date is still in the future. Expired means the end date has passed. If you're running a timed promotion, check the time as well as the date, and check it against the time zone in your store settings. A flash sale that ends at midnight in the wrong time zone ends while your ads are still running.
Usage limits
Shopify lets you cap total uses and limit each customer to one use. Both work as designed and both look like a bug to a customer who missed out. If a code was shared more widely than you planned, say through an influencer post or a coupon site, it can run out much faster than expected.
Spelling and lookalike characters
Check the code customers actually received. The email, ad or banner might show a different spelling from the one saved in the admin. Watch for lookalike characters such as the letter O and the number zero, or a capital I and a lowercase l. Copy the code from the campaign asset and paste it into your own test checkout.
Check eligibility rules and cart conditions
A code can be completely valid and still not apply to a particular cart. This is where merchants lose the most time, because the code looks fine in the admin.
Products, collections and minimums
If the discount applies only to specific products or collections, a cart full of other items gets nothing. Collections cause trouble here. A product removed from a collection during a catalog update stops qualifying without any warning. Minimum purchase amounts and minimum quantities catch people too, especially when another discount brings the subtotal under the threshold.
Customer eligibility
Codes limited to a customer segment or to named customers only work when the customer is recognised. A loyal customer who checks out as a guest, or with a different email address, won't qualify. Tell VIP customers to log in before they check out.
Combinations and automatic discounts
Shopify controls stacking through combination settings on each discount. If an automatic discount is already running and the code isn't set to combine with it, the customer gets one or the other. Decide which offers should stack before launch, and set every discount involved to match.
When settings are fine: theme and app conflicts

If the configuration checks out, look at what changed on the storefront recently. A cart drawer redesign, a new upsell app or a theme update can break the path that carries a discount from the cart into checkout. Custom discount fields in the cart are a common source of trouble, because they depend on theme code that Shopify doesn't maintain for you.
Discount apps and bundle apps add another layer. If an app calculates the discount and that app is degraded or misconfigured, codes can fail even though nothing in your own admin changed. Run through your checkout checks after installing a new app and you'll often find the culprit in minutes.
A simple way to isolate it: disable the most recent change, or preview the store's previous theme, and repeat the same cart. If the code works there, you've found your cause.
How to test discount codes before customers find the problem
Testing a discount code yourself before launch is the cheapest fix there is. Use a private browser window, build a realistic cart, and work through each condition: eligible products, ineligible products, below and above the minimum, and combined with any automatic discount. Do it on mobile as well as desktop. A cart drawer that works on desktop can hide the discount field on a small screen.
Make this part of your campaign routine. Our guide to pre-launch testing before you turn on ads covers the wider list, and discount codes belong near the top.
What automated checks can and can't cover
Automated test flows, like the checkout flow in Shoptest, simulate a real shopper: they add products, edit the cart and move through to checkout. That tells you the path customers take to redeem a code still works after a theme or app change. Synthetic tests stop before payment, though. They don't place real orders, so they won't confirm the final amount charged after every discount rule has run. Use automated flows to catch storefront and cart breakage early, and keep a quick manual check of the code's actual effect for each major promotion.
That split is efficient. Automation watches the journey continuously, and you spend your manual time only on the discount logic that matters for this particular campaign. The checkout testing checklist for major sales shows how to divide that work.
Keep a record of what broke and why
Discount failures tend to come back. The same collection rules trip up the same team every season. When a code fails, write down the cause and the fix: the setting, the app or the theme change involved. Over a few campaigns you'll see a pattern, and your pre-launch checks get faster.
Watch for the theme side as well. If you edit the cart template often, make testing your checkout flow after every theme update a habit, so a broken cart drawer doesn't quietly wreck your next promotion.
Conclusion
When a Shopify discount code is not working, go in this order: status and dates, usage limits, spelling, eligibility and cart conditions, combinations, and then recent theme or app changes. Most problems are fixed in the first few steps. The rest usually trace back to something that changed on the storefront.
Your next step: before your next promotion goes live, test the code by hand against each of its rules, and set up continuous checks on the cart-to-checkout journey so storefront breakage gets caught early. If you want to see how Shoptest monitors that path automatically, run a free website scan and see where your store stands.


