Skip to content
House of Marka
AppsServicesMarketplacesWorkInsightsCompanyStart a project
D2C & Growth5 min readBy

How Discount Stacking and Combinations Work on Shopify

A plain explanation of Shopify discount classes, combination settings and automatic versus code discounts, plus how to stop a bundle stacking with a code.

On Shopify, two discounts apply to the same order only if both are set to combine with each other. Every discount belongs to a class, product, order or shipping, and carries settings that say which classes it may combine with. To stop a bundle discount stacking with a sitewide code, switch off that combination on either one and then test it. This guide explains the classes, the settings, the difference between automatic and code discounts, and a test routine to run before any sale.

What are the discount classes?

A discount's class is defined by what it reduces.

  • Product discounts reduce the price of specific items: 20 percent off a collection, a quantity break, a bundle price, buy one get one.
  • Order discounts reduce the subtotal of the whole cart: 15 percent off everything for new subscribers, $10 off orders over a certain value.
  • Shipping discounts reduce the delivery charge, most often to zero.

Combination is decided class by class: you tell each discount which classes it may share an order with.

How do combination settings work?

Each discount has its own combination settings, and a pair of discounts combine only when each permits the other's class. If a bundle discount, a product discount, allows order discounts, and the welcome code, an order discount, allows product discounts, the two stack. If either says no, they do not.

Three points follow from that:

  • Not combining is the starting position. A discount you create in the admin combines with nothing until someone ticks the boxes. An app may choose these settings for the discounts it creates, so look at those as well.
  • The setting is per discount. Ticking a box on one discount opens it to every discount of that class that is open in return, including ones created later.
  • Two discounts of the same class are a special case. How two product discounts behave on the same item deserves a test of its own.

When two eligible discounts cannot combine, Shopify does not apply both. Which one the shopper ends up with is decided by Shopify's rules, and the reliable way to know the outcome for your setup is to try it in a test cart.

What is the difference between automatic and code discounts?

An automatic discount applies by itself whenever the cart meets its conditions. A code discount applies only when the shopper enters the code. Both sit in the same system, belong to a class and obey the same combination settings.

Automatic discounts suit offers every qualifying shopper should receive, such as bundle and quantity pricing. Codes suit offers aimed at particular people. The trade-offs are covered in automatic discounts vs discount codes on Shopify.

Bundle apps that price through Shopify Functions create discounts inside this same system. Marka Bundles & Upsells applies its bundle, quantity-break and BOGO discounts automatically at checkout this way, with no code for the shopper to enter.

In what order are stacked discounts applied?

Product discounts come first and reduce the items. Order discounts then apply to the subtotal that remains. Shipping discounts act on the delivery charge separately.

Say a shopper buys a bundle with a list total of $100. As example figures, the bundle carries a 20 percent discount and the store also has a 15 percent welcome code that is allowed to combine with it.

  • The bundle discount takes $20, leaving $80.
  • The welcome code takes 15 percent of $80, which is $12, leaving $68.
  • The customer has received 32 percent off in total.

If a free shipping discount combines as well, the delivery charge you waive is a further cost on top of that. Cost the bundle discount with its permitted combinations in mind; see how much discount a product bundle should have.

How do you stop a bundle discount stacking with a sitewide code?

Remove the permission on one side, and close the other routes by which the same result can happen.

  1. Find the bundle discount's combination settings, in the Shopify discounts area or in the app that created it, and decide whether it should combine with order discounts at all.
  2. Check the code's settings too. If the sitewide code is an order discount, leaving 'product discounts' unticked on it keeps it away from every product discount, not only this bundle.
  3. Check sales built as product discounts. A sitewide sale set up as a percentage off all products is in the same class as the bundle. Test how the two behave on a bundle item.
  4. Exclude bundle products from the sale if the sale is defined by a collection, by keeping those products out of it.
  5. Decide about shipping separately. Letting bundles combine with free shipping and nothing else is a reasonable default, as long as it is a decision.
  6. Tell the shopper. State next to the code box or in the offer terms that bundle prices cannot be combined with other codes, so a refused code is not a surprise.

What should a test matrix cover before a sale?

Every kind of cart you expect, against every discount that will be live. Build the carts in a test or preview environment and record the expected total and the actual total for each combination.

Carts to build:

  • a single full-price item;
  • a bundle on its own;
  • a bundle plus an unrelated full-price item;
  • a quantity break at each tier;
  • a cart just below and just above the free shipping threshold.

For each cart, try:

  • no code;
  • the welcome or newsletter code;
  • the sale code or automatic sale;
  • any free shipping code.

Look for three things: a total lower than you intended, a discount that silently replaces a better one, and a message that would confuse a shopper.

A short checklist

  1. List every discount that will be live, with its class.
  2. Record which classes each one is set to combine with.
  3. Decide deliberately what bundle discounts may combine with.
  4. Work out the lowest total a shopper could reach.
  5. Run the test matrix and compare expected with actual totals.
  6. State the combination rule where shoppers enter codes.
  7. Retest after any new discount is created.

Combination settings take minutes to review and are a common reason for a sale that sold well and earned little. Our guide to Shopify bundle types covers the offers themselves, and Marka Bundles & Upsells applies them at checkout without codes.

Work with us

House of Marka is the applied-AI and commerce engineering studio of Marka Modern Retail Private Limited. We research, advise and then build — for merchants and enterprises in the US, UK and Europe.