Shopify Discount Stacking, Explained
How Shopify discount stacking works: the three discount classes, which combinations you can allow, the order they apply in, and four worked carts.
Shopify discount stacking is controlled by a setting on each discount, not by a global switch, and the default is that discounts do not stack at all. That makes stacking a decision you take on purpose, one discount at a time, and it makes the failures quiet: nobody sees a margin leak until a cart combines two offers you never imagined together. This post walks through how Shopify sorts discounts into classes, what the Help Center says about the order they apply in, and four carts worked by hand so you can see what each combination does to the price. All carts and prices are invented for the arithmetic; the rules are Shopify's.
Three classes and one setting
Shopify's Help Center says every discount has a class that depends on what it applies to: product discounts apply to specific items or collections, order discounts apply to the cart subtotal, and shipping discounts apply to shipping rates. On the developer side, shopify.dev describes the same classes for Shopify Functions: the discount's classes decide which Function targets run at checkout, with order and product operations returned for the cart lines and shipping operations for delivery options. For stacking, the class matters because each discount has its own combination setting, and that setting names the other classes it may share an order with.
Shopify's page states the rule flatly: multiple discounts apply to an order only when the setting on each discount allows the combination. If the two settings disagree, nothing stacks.
Three limits sit around that rule. A customer can use at most 5 product or order discount codes and 1 shipping discount code on one order. A store can have at most 25 active automatic discounts, and the total includes app-based discounts. And multiple shipping discounts cannot apply to the same order.
The order of application
When discounts do stack, the Help Center gives a sequence: product discounts apply first, to individual items; order discounts apply next, to the revised subtotal after the product discounts; shipping discounts apply last. Each cart below follows that sequence.
Four carts, worked by hand
Cart 1: product discount plus order discount. The cart holds two items at 50 dollars each, a subtotal of 100 dollars. A product discount takes 20 percent off item one, which is 10 dollars, leaving a revised subtotal of 90 dollars. An order discount of 10 percent then applies to 90 dollars, which is 9 dollars. The shopper pays 81 dollars, a total discount of 19 percent, not the 30 percent the two headlines might suggest. The order class took its percentage from the already-reduced subtotal. Shopify's page notes that combining product discounts with order discounts has eligibility requirements, so confirm your store qualifies before you plan around this pair.
Cart 2: two percentage order discounts. The subtotal is 200 dollars, and two order discounts apply, 10 percent and 15 percent. You might expect the second to compound on the first, which would leave 153 dollars. Shopify's page says otherwise: when two or more percentage order discounts apply, each percentage is calculated on the original subtotal. So the discounts total 25 percent of 200, which is 50 dollars, and the shopper pays 150 dollars. Stacking two order percentages is additive, and the cost is the sum, not the product.
Cart 3: order discount plus shipping discount. The cart is 120 dollars with shipping of 8 dollars. A 10 percent order discount takes 12 dollars off the subtotal, and a free shipping code removes the 8 dollars last. The shopper pays 108 dollars for goods and nothing for shipping, and you pay the carrier. Shopify's page lists order discounts combined with free shipping among the combinations open to all merchants. The shipping discount costs you the carrier rate, so it belongs in your margin, which free shipping thresholds shows how to compute.
Cart 4: two product discounts on one line. One item at 50 dollars carries an automatic 20 percent product discount and a code for 15 percent off the same item. Shopify's Help Center says that to combine multiple product discounts on the same line item, your store must be on the Shopify Plus plan. On any other plan the two cannot combine, and the page says that when discounts cannot combine, the best discount for the customer's cart is applied. Here that is the 20 percent, so the shopper pays 40 dollars and the code does nothing. Whatever the shopper wanted from the code, they should not be told it will stack when it will not.
A code and an automatic discount in the same cart
Shopify's page says you can set up both automatic discounts and discount codes to combine. They share a cart when each is configured to combine with the other's class. Take a cart of 120 dollars with an automatic spend tier worth 10 percent off the order and a welcome code worth 15 percent off the order. If both are set to combine with order discounts, the percentages are both calculated on 120 dollars: 25 percent, or 30 dollars, and the shopper pays 90 dollars. If either setting blocks the other, only the better discount applies, the 15 percent, and the shopper pays 102 dollars. The gap between the two outcomes is 12 dollars of margin on one order, produced by a checkbox.
Where stacking leaks margin, and the setting that stops it
| Leak | What happens | The setting that stops it |
|---|---|---|
| Two order percentages | Both come off the original subtotal, so the loss is the sum | Turn off combining with order discounts on the tier and on the code |
| Product discount on a sale item, plus an order tier | The tier still takes its percentage from the reduced subtotal | Do not let product discounts combine with the tier |
| Free shipping stacked on every order discount | You pay the carrier on discounted carts | Combine shipping only with the discounts you costed it against |
| A code leaked beyond its audience, combined with an automatic discount | Strangers get both | Limit the code, and decide whether it combines with the automatic class |
Test every pair by adding a real cart in a test checkout before you launch, because the admin shows the settings and not the result. Then check the lowest price any pair can produce against your floor; discount floors so a promo never loses money explains that calculation, and the real cost of discounting shows why a stack of small percentages is rarely small.
Cart tiers that do not stack by surprise
A ladder of cart tiers is the common case where stacking goes wrong, because every rung is an order discount and the tiers share a class. In our view the safest design is to leave every tier unable to combine with the others and decide separately whether any code may combine with the ladder. Then a cart that clears two rungs receives the better one, which is the behavior Shopify's page describes for discounts that cannot combine. Tiered cart discounts on Shopify works through the band edges, and discount codes vs automatic discounts covers the code side of the same decision.
The app's Cart discount tiers template is described as "A discount on the whole cart that grows with spend." Build the tiers, leave combinations off between them, and then try the four carts above on your own store so you can see each total before a shopper does.
Sources
- Shopify Help Center: Discount combinations (accessed October 10, 2026)
- shopify.dev: Build discounts with Shopify Functions (accessed October 10, 2026)