Why is your Shopify discount code not working?
October 4, 2026
A dead discount code at checkout is a conversion killer. The usual causes, from usage limits to product exclusions, and how to diagnose each.
Confirm the failure mode
"Not working" covers several different failures, and the fix depends on which one you have. Does the code show an error message, and what exactly does it say? Does it apply but show zero discount? Does it work for some products and not others? Does it fail only for certain customers? Get the exact code, the exact cart contents, and the exact error before touching settings. Vague reports produce vague fixes.
Reproduce it yourself in a test checkout with the same products. If you cannot reproduce it, the issue may be customer-specific: an expired code, a one-per-customer limit already used, or a typo. Most discount code tickets resolve at this step.
The usual suspects
Expired or scheduled codes are the top cause: the code has an end date that passed, or a start date in the future. Next is usage limits, either total redemptions or one-per-customer, silently exhausted by earlier shoppers. Then come the eligibility rules: minimum purchase amounts, specific products or collections, customer segments, and shipping zones. A code limited to a collection will fail on anything outside it, with an error message most shoppers will not read carefully.
Case sensitivity and whitespace cause a surprising share of failures. Codes with mixed case fail when shoppers type them lowercase, and copy-paste from emails often includes a trailing space. If your code is not working for many people at once, simplify the code itself.
Combinations and stacking
Shopify applies one discount code per order by default, plus automatic discounts. When a shopper has an automatic discount active, their manual code may appear broken when it is actually just losing to the automatic one. The combination settings on each discount decide whether they stack, and the defaults are conservative.
Check the Combinations section on both discounts. If neither allows combining, only one applies, and the shopper sees the other "not work." This is working as configured, but it reads as broken to the customer. Either enable the combination or make the exclusion clear in the promotion messaging.
Testing the fix
After any change, test with a fresh customer account and the exact cart that failed. Test the boundaries: minimum amounts, excluded products, usage limits. Then test the happy path a real shopper takes, including from the discount link or email if you distribute codes that way. Discount links can carry their own issues, like expired landing pages or codes that do not auto-apply.
For high-stakes promotions, create a duplicate test code with the same settings and run it yourself end to end before launch. Five minutes of testing beats a launch-day inbox full of angry shoppers.
Prevention
Name codes clearly, avoid mixed case, set calendar reminders for expiry dates, and document every active code with its rules in one place. Review active discounts monthly and kill the ones that have served their purpose. A tidy discount setup fails less often and is faster to debug when it does.
Discount links vs codes
Many promotions distribute as links rather than codes, with the discount auto-applying on arrival. These fail in their own ways: the link expires, the landing page was deleted, or the shopper arrives but the discount does not attach because they already had items in the cart from a previous session.
If you use discount links, test the full journey from the actual email or ad, not just the code in isolation. Check that the discount appears in the cart, survives navigation to checkout, and applies to the right products. A link that almost works generates the same support tickets as a code that does not.