Shopify sorts every discount into one of three classes: product, order, or shipping. When you create a discount, you choose which classes it may combine with. Before launching, build a test cart, go to checkout, enter your codes, and confirm the combination and the final total. Stop before payment. Then check the discounted margin on paper.
What counts as a discount class in Shopify?
Shopify assigns each discount a class based on what it applies to. Product discounts apply to specific items or collections. Order discounts apply to cart subtotals. Shipping discounts modify shipping costs. This classification is the foundation of every stacking decision, because combination rules are set between classes, not between individual codes (Shopify Help: Combining discounts).
When you create a discount, you select which classes it can combine with. A 10% off order code, for example, can be allowed to combine with product discount codes. Both automatic discounts and discount codes can be set to combine, so a store can run an automatic product markdown and still accept a code at checkout.
One practical consequence: if a customer enters two codes that cannot combine, checkout shows a message that the discount could not be used with existing discounts. That message is a signal to check your combination settings, not necessarily a bug.
Which combinations are actually allowed?
Multiple order discounts, product discounts, and shipping discounts can all apply to the same order. The eligible combinations are designed so the customer receives the best possible total discount for their cart. In some cases, when automatic discounts are active and a customer also enters codes, the best discount or combination applies automatically.
There is one important limit to know before you design a promotion: to combine multiple product discounts on the same line item, the store must be on Shopify Plus. If you are on a standard plan and try to stack two product discounts on one item, that is the rule to check first.
Apps can also create a single discount that contains more than one saving. A welcome code that gives 10% off an order plus free shipping is one discount with two savings, and it can still be set to combine with other discounts. That is a different structure from two separate codes stacking, and it changes how you test.
How do you test stacking without completing a purchase?
Shopify documents a simple method: add products to a cart, proceed to checkout, enter your discount codes, and verify the discounts display correctly before closing the checkout page. You can also place a test order if you want the full order record. The checkout method is usually enough to confirm whether codes combine and what total the customer sees.
Use a test cart that mirrors a realistic order, not a single cheap item. If your promotion targets a bundle, put the bundle in the cart. If it targets a collection, use an item from that collection.
A short pre-launch sequence:
- List every discount that will be active during the promotion, including automatic ones you may have forgotten.
- For each one, note its class and which classes it is allowed to combine with.
- Build a test cart and enter the codes a customer would realistically use together.
- Confirm the discount lines and the final total at checkout.
- Repeat with a cart that should not qualify, to confirm exclusions work.
- Close checkout without paying, or place a test order if you need a record.
Step five is the one most stores skip. Testing that a discount applies is half the job; testing that it does not apply to excluded products is the other half.
A worked example: checking margin before launch
Hypothetical example, illustrative figures only. A store sells a candle for £40 with a landed cost of £16, so gross margin is £24. The store plans a 15% product discount on the candle and a 10% order code that can combine with product discounts.
On a one-candle order, the product discount takes £6 off, leaving £34. The order discount then applies to the discounted subtotal, taking roughly £3.40 off, for a total of about £30.60. This assumes the order discount applies after the product discount; Shopify's documented behavior is that the best discount or combination applies automatically, and the exact stacking order is not specified in the source. Margin falls from £24 to about £14.60. The promotion still clears cost, but the cushion is much thinner than the headline 25% suggests.
Now change one variable: the customer adds a second candle. The order discount is spread across a larger basket, so the percentage hit per unit is smaller, but the absolute discount is larger. This is why margin checks belong on a realistic basket, not a single unit.
If the combined discount pushes a product below cost, the fix is usually structural: exclude that product from one of the discounts, lower the order discount, or set a minimum order value. Shopify Support can explain how combinations work and troubleshoot technical issues, but pricing and discount strategy are decisions for you and your accountant.
What should you check before contacting support?
If a combination you expect does not appear, gather the details first: the discount names and classes, the cart contents, the codes entered, and the message shown at checkout. Shopify's guidance is to check eligibility requirements before contacting support, because some combinations depend on plan level or on how the discount was built.
Two common causes are worth ruling out early. First, a discount may be set to not combine with the class you are testing. Second, an automatic discount may already be applying the best available combination, which can make a manual code appear to do nothing.
How do you keep a promotion from eroding margin?
Write the rule down before you build anything: for each product in the promotion, the lowest acceptable selling price. Then test the worst realistic case, which is usually the customer who finds every eligible code. If that case still clears your floor, the promotion is safe to run.
This is the same discipline as scheduling a theme test without confusing a test with a launch: decide what you are checking, run it in a controlled way, and only then go live. The related guide on scheduling a Shopify theme test without confusing test and launch covers that separation. If you are also preparing a first paid test alongside the promotion, see which products to prepare before a first test.
Follow-up questions
Can I combine two product discounts on the same item?
Only on Shopify Plus. On other plans, multiple product discounts cannot stack on the same line item. You can still combine a product discount with an order discount or a shipping discount if the settings allow it.
What happens if a customer enters codes that cannot combine?
Checkout shows a message that the discount could not be used with existing discounts. The customer keeps the discount that already applied. If you expected the codes to stack, review each discount's combination settings and any active automatic discounts before assuming something is broken.


