Home Bilby — store monitor Free store scan Free tools AI apps Navaal SEO app Blog Services Studio Contact Sign in

// Troubleshooting · Discounts

Shopify discount code not working? Every cause, fixed.

By Published Updated 8 min read

Last updated 28 September 2026.

A Shopify discount code fails when any one of its conditions fails — and Shopify usually won't tell the customer which. The nine causes, in order of how often we see them: 1) it can't combine with another discount already applied, 2) outside its active dates or timezone, 3) usage limit reached (total or per-customer), 4) the cart misses eligibility (products, collections, minimum spend/quantity), 5) the customer isn't in the eligible segment or isn't logged in, 6) not enabled for that sales channel, 7) a typo or invisible space in the code, 8) it's deactivated or deleted, 9) an app-generated code conflicting with native discounts. Open Admin → Discounts, open the code, and check each condition against the customer's exact cart.

"Your discount code isn't working" is the support message merchants dread most, because it usually arrives mid-promotion — when you're paying for the ads that deliver customers to the rejection. The code is almost never "broken"; one of its rules is quietly saying no. Here's every rule that can say no, and the fix for each.

A Shopify discount code is almost never “broken” — it is rejected because one of its nine conditions quietly failed, and the customer usually sees only a generic “enter a valid discount code”.

The Bilby scan screen mid-visit on the demo store
The scan screen mid-visit on our labelled demo store, Fernwick & Co.: a screenshot per step as it lands, then the seven things it checks read the recording. Run it on your store: free, about a minute, no signup, we never touch your store. Run the free scan →

How Shopify decides whether a code applies

When a customer enters a code, Shopify runs it through a fixed series of checks. The code only applies if every check passes — and the error shown to the customer is often just a generic "enter a valid discount code", which is why merchants end up guessing. This is the actual gauntlet:

The gauntlet a discount code runs at checkout // EVERY CHECK MUST PASS — ONE FAILURE REJECTS THE CODE Exists & active? not deactivated Within dates? store-timezone dates Usage left? total · per customer Cart qualifies? products · minimums Customer eligible? segment · login · region Combines with applied? vs automatic & other codes Valid on channel? online · POS · social Code applies ✓ total updates ANY "NO" → "Enter a valid code"
Shopify's checks in sequence. The customer sees one generic error; you get to find which gate said no.

// WHICH GATE FAILED? -- CLICK WHAT THE CUSTOMER REPORTS, JUMP TO THE FIX

The nine causes and their fixes

1. It can't combine with a discount that's already applied

The most common cause in modern Shopify stores. By default a checkout takes one discount, and an automatic discount already on the cart blocks entered codes unless both discounts explicitly allow combining. Fix: open each discount → Combinations → tick the classes it may combine with (product, order, shipping). Both sides must allow it. Shopify's rules for what can stack are in their combining-discounts documentation.

2. Outside its active dates — or the timezone bit you

Start and end dates run on your store's timezone (Settings → General), not the customer's. A "starts Friday" code is dead to your US customers while it's still Thursday in their timezone — or expired for Australians while your US audience thinks the sale is on. Fix: check the date window against the store timezone, and pad promotions a few hours each side.

3. Usage limit reached

Two separate limits: total uses across the store, and one use per customer. A viral code hits the total silently mid-promotion; a returning customer trips the per-customer rule and gets the same unhelpful error. Fix: the discount's detail page shows uses so far — raise the cap or accept it's spent.

4. The cart doesn't qualify

If the discount targets specific products or collections, requires a minimum spend, or a minimum quantity — and the cart misses by one dollar or one item — rejection. Watch two classics: the minimum is checked against the discounted subtotal, and products in a "sale" collection may have been quietly removed from it since the code was made. Fix: rebuild the failing customer's exact cart and compare it line-by-line against the discount's requirements.

5. The customer isn't eligible

Codes limited to customer segments (first-timers, VIPs, newsletter subscribers) require Shopify to know who the customer is. A guest checkout, a different email than the one in the segment, or simply not being logged in fails eligibility. Fix: either widen eligibility to all customers, or make the promotion's fine print say "log in with the email that received this offer".

6. Wrong sales channel

Discounts can be scoped to channels. A code created for the online store won't apply at POS, and vice versa — and codes generated by apps sometimes register on a channel you don't expect. Fix: check the channel settings on the discount against where the customer is actually buying.

7. A typo or an invisible space

Copy-pasting from email adds trailing spaces; Instagram capitalises; customers type O for 0. Shopify matches codes case-insensitively but not fuzzy. Fix: in promotions, use short, unambiguous codes (no O/0, I/1 lookalikes) and always send a share link that pre-applies the code (the discount page's "Copy link") so nobody types anything.

8. It's deactivated or deleted

Someone ended the promotion early, an app cleaned it up, or it was a draft that never went live. Fix: if it's not listed under Discounts → Active, it doesn't exist to customers — recreate or reactivate it.

9. An app-generated code conflicting with native discounts

Upsell, bundle, and loyalty apps create their own discounts and sometimes reserve the checkout's discount capacity. If codes only fail when a specific app's offer is in the cart, you've found it. Fix: test with the app's offer removed; then check the app's own combination settings, per Shopify's discounts documentation on how app discounts interact.

The most common stacking failure is structural: by default Shopify applies one discount code per checkout, and an automatic discount blocks codes entirely unless combinations are explicitly enabled on both discounts.

The 5-minute pre-launch test that saves the promotion

Every failed code during a paid promotion is a customer you paid to acquire, standing at the till, being told no. Before ads go live:

  1. Incognito window, on mobile, not logged in as staff.
  2. Build the exact cart the promotion advertises — the featured product, at the promoted quantity.
  3. Apply the code at checkout. Confirm the discounted total.
  4. Repeat with your automatic discount active, and at one dollar under the minimum spend — the two edge cases that bite.
  5. If you edit the discount mid-sale, re-test. Edits reset assumptions. Give Bilby the code and its Watch check applies it in the cart on every nightly visit; a rejection becomes a finding with a screenshot.

And remember the discount is only one link in the chain — the same pre-launch pass should confirm the add-to-cart button and the path to checkout survive under the promotion's traffic path.

Codes break mid-sale. Someone should notice that night. Bilby's Watch check visits your store nightly in a real browser like a customer — including applying the discount code you gave it in the cart — and emails a screenshot the morning the code, the cart, or the checkout path fails. We never touch your store — no logins, no theme edits, no app installs. Run the free scan (no signup, plus a free monthly checkup by email), then 7 free nights, card up front, cancel in one click.

Frequently asked questions

Why is my Shopify discount code not working at checkout?
One of its conditions is failing: combinations with an applied discount, active dates (store timezone), usage limits, cart eligibility (products, minimum spend/quantity), customer eligibility, sales channel, a typo, deactivation, or an app conflict. Open the discount in Admin → Discounts and check each condition against the customer's exact cart.
Why can't customers use two discount codes at once?
Shopify defaults to one discount per checkout, and automatic discounts block codes unless combinations are enabled on both discounts. Open each discount → Combinations and tick the classes it may combine with — both sides must allow it.
Why does the code work for some customers but not others?
Per-customer rules: "once per customer" already used, segment eligibility (wrong email or not logged in), minimum spend not reached, or channel/region scoping. Compare a failing customer's exact situation against the discount's eligibility settings.
How do I test a discount code before a sale goes live?
Incognito, mobile, not logged in as staff: build the exact promoted cart, apply the code at checkout, confirm the total. Re-test with the automatic discount active and at the minimum-spend boundary, and again after any mid-sale edit.

Keep reading: Why did my sales suddenly drop? · 7 silent problems that kill sales overnight · Free ROAS calculator

// Promotions, verified nightly

Is the sale
still working?

Bilby applies your live discount at checkout every night and screenshots any rejection. One free scan, no signup.

Thin or missing product content is the other half of this problem, and it is the half search engines and AI assistants see. Navaal: AI SEO, AEO & GEO audits a Shopify catalogue for it free, and writes what is missing for review.