Skip to content

Discounts & checkout · 9 min read

Shopify discount not applying? Why a code cancels the automatic one.

Your cart promises a saving, the shopper types a welcome code, and the saving disappears. Nothing is broken. Shopify is following combination rules that most stores never look at twice. Here's how those rules work and how to find the discount that's getting in the way.

FA

Fahad Azhar

Shopify & full-stack developer ·

In 30 seconds

The whole article, in four cards.

  1. 01

    Two discounts, one item

    When two discounts want the same product, Shopify gives the shopper the bigger one only.

  2. 02

    Both must say yes

    Each discount has "Combines with" boxes. Both sides need the other's box ticked.

  3. 03

    Old codes cause it

    A forgotten welcome code that doesn't combine can quietly replace your new offer.

  4. 04

    Test it for real

    Check every live code and automatic discount, then test a real cart, not a draft order.

The saving that vanished

A book retailer in the UK asked me to add a simple promise to the cart: complete the set and save. The discount logic behind it was right. I tested it, the cart showed the message, and the saving appeared at checkout.

Then real shoppers started to use it, and for some of them the saving never showed up. They had followed the cart's advice, completed the set, and paid full price for it.

The cause wasn't the new discount at all. An older welcome code was still active, and it was set not to combine with product discounts. When a shopper typed it in, Shopify had to choose one, and it quietly picked the code over the promise.

Nothing was broken. Two discounts simply weren't allowed to work together, and nobody had checked.

Combining vs stacking, in plain words

People use these words loosely, so here's how I use them.

  • Combining is Shopify applying more than one discount to the same cart. A product discount on a book, an order discount on the total and free shipping can all show at checkout together, if each one allows the others.
  • Stacking is two discounts landing on the same item. That's the part most owners expect and Shopify mostly doesn't do. When two discounts compete for the same item, the larger one wins.

And when two discounts aren't allowed to combine at all, Shopify's docs say it applies the best discount for the shopper's cart. That's how a code that doesn't combine with product discounts replaces your automatic one without any error. From Shopify's point of view, it gave the customer the better deal.

The three classes and the “Combines with” boxes

Every discount in Shopify has a class, set by what it takes money off:

  • Product discounts take money off specific items, for example 10% off a collection or a Buy X Get Y offer.
  • Order discounts take money off the whole order, for example £5 off orders over £50.
  • Shipping discounts take money off delivery.

At the bottom of every discount in Shopify admin there's a Combinations section with a box for each class. Ticking a box says “this discount may be used alongside discounts of that class”. Shopify applies them in a fixed order: product discounts first, then order discounts on the reduced subtotal, then shipping last.

The rule people miss

Both discounts have to allow each other. Shopify applies multiple discounts only when the setting on each discount allows the combination. Ticking “product discounts” on your automatic offer does nothing if the welcome code has that box unticked.

Will these two combine?

Pick the class of each discount and whether its box for the other one is ticked. The answer follows Shopify's published rules, plus what I've seen in real checkouts.

Checker · based on Shopify's combination rules

Discount A is usually your automatic discount. Discount B is the code a shopper types.

Discount A

Its class

“Combines with product discounts”

Discount B

Its class

“Combines with product discounts”

Won't combine

No. Only one of them will apply.

Discount B doesn't allow the other's class. Shopify applies discounts together only when the setting on each one allows it, so it gives the shopper whichever single discount is better. If B is a code worth more, it quietly replaces A. If it's worth less, the shopper sees "Discount couldn't be used with your existing discounts".

A guide, not a guarantee. Buy X Get Y discounts, customer eligibility and minimums can still change the outcome, so always confirm in a real checkout.

“I ticked combine and it still doesn't work”

This is the most common version of the question. There's a long-running Shopify Community thread about it, with owners still reporting it years later. These are the causes I check, in order.

1. Only one side is ticked

You edited the automatic discount, but the code was created months ago with different settings. Open both, not just the one you're working on.

2. They're the same class, on the same item

Two product discounts on different items combine fine. On the same item, the larger one wins. Shopify's docs say stacking product discounts on the same line item needs Shopify Plus.

3. A Buy X Get Y offer is involved

Shopify's docs say products that are part of a Buy X Get Y discount can't take further product discounts, with a narrow exception on Plus. If your bundle offer is Buy X Get Y, a second product discount on those items won't land.

4. An old, forgotten discount is still active

A welcome code from a popup, a code an influencer still shares, a seasonal automatic offer with no end date. Any of these can win the “best discount” choice. This was the cause in the UK case above.

5. You tested with a draft order

Some apps, and some staff, check discounts by building a draft order. In my tests, draft orders don't run automatic discounts built on Shopify Functions the way a real checkout does, so a draft order can pass or fail for reasons a customer never sees. Test the real cart.

A 10-minute audit in Shopify admin

Do this before any “you'll save” message goes live, and again whenever a new code is created.

  1. Go to Discounts and filter to Active. Write down every one: name, code or automatic, class, and which app created it, if any.
  2. Open each discount and note its Combinations boxes. A simple table with a row per discount is enough.
  3. For every pair that could meet in the same cart, check both directions. A tick on one side and a blank on the other means they won't combine.
  4. End or archive anything nobody can explain. Old codes are the most common source of surprises.
  5. Open your store in a private window, build a real cart, go to checkout and enter the code. Check the line items and the total, not just the banner.

On larger stores I do steps 1 to 3 through the Admin API instead: one query lists every discount with its combination settings, so nothing is missed because it sat on page three of the list.

A different cause: a discount lost in one click

Not every missing discount is a combination problem. A book retailer in Pakistan offered a saving for paying online, chosen with a tick box on the product page. Customers who ticked it and pressed Buy Now straight away sometimes reached checkout without it.

The page was leaving for checkout before the cart had finished saving the choice. The fix was to make checkout wait for that save, then continue with the exact button the shopper pressed. If your discount depends on something the shopper picks on the page, test it the way an impatient shopper would.

When settings aren't enough

Most cases end with ticked boxes and a deleted code. Some offers need logic Shopify's built-in discounts can't express: true stacking on the same item, tiered savings that change with the cart, or a discount that depends on how the customer pays. That's what Shopify Functions are for.

Check your plan first

Shopify's checkout apps page lists custom apps built with Shopify Functions as a Shopify Plus feature. Public apps from the App Store that use Functions work on any plan. So before you pay for a custom build, check which plan you're on. If you're not on Plus, a public app or a different offer design is often the honest answer.

If you're on Plus and need it built, see my Shopify Plus development work. If the bigger worry is shoppers dropping out at checkout, my conversion work starts with exactly this kind of check.

From my own work

Both of these are real cases from my Problem Clinic, with what I found and what now stops them coming back.

Still stuck? Send me a screenshot of your active discounts and I'll tell you which one is getting in the way. Message me on WhatsApp or browse more fixes on the Problem Clinic.

Questions

Why does my Shopify discount code remove the automatic discount?

Because the two aren't allowed to combine. Shopify's docs say discounts apply together only when the setting on each discount allows it. When they can't combine, Shopify applies the best single discount for the shopper's cart, so if the code is worth more, it replaces the automatic one.

I set both discounts to combine. Why does only one apply?

The usual reasons are: they're the same class and hit the same item (only the largest applies, unless you're on Shopify Plus and set it up for that), one side's box isn't actually ticked, a product is part of a Buy X Get Y discount, or a third, older discount is also active and winning.

Can I stack two product discounts on the same item?

Shopify's help docs say combining multiple product discounts on the same line item needs the Shopify Plus plan. On other plans, when two product discounts compete for the same item, the shopper gets the better one.

How many discount codes can a customer use on one order?

Shopify's docs list a maximum of 5 product or order discount codes and 1 shipping discount code per order, and a maximum of 25 active automatic discounts on a store.

Do I need Shopify Plus to fix discounts that won't combine?

Usually not. Most cases are fixed by lining up the combination settings in Shopify admin. You need Plus only for things like stacking product discounts on the same item, or running a Shopify Function from a custom app. Public apps that use Functions work on any plan.

Send me your active discounts.

Share which codes and automatic discounts are live. I'll tell you which ones clash, why, and how to make the promise on your cart match what checkout gives.

Start a project

Get a free audit of your store.

Send your store link and what you're aiming for. Within 48 hours you'll get a short video with the biggest wins for conversion and speed. No obligation.

What you get, free

  • Your top 3 conversion leaks, with fixes
  • Mobile speed check and what's slowing it
  • A clear quote if you want me to do the work
Prefer WhatsApp?Message me on WhatsApp
What do you need?
Budget

Replies within one working day. Your details are never shared.