Free Shopify tool

Shopify Discount Combination Checker

Set up two or three Shopify discounts, confirm their Combinations boxes, and see what stacks before launch. The estimate runs in your browser; checkout is still the source of truth.

Cart and discount numbers stay in your browser. No account, email, or Shopify connection is required.

Build the test cart

Use one representative cart. The estimate updates as you change a field.

Cart
Merchandise total for the first line, before discounts and tax.Merchandise total for the first line, before discounts and tax.
Use 0 if the cart has one line. The second line makes same-line product conflicts visible.Use 0 if the cart has one line. The second line makes same-line product conflicts visible.
What the customer would pay before a shipping discount.What the customer would pay before a shipping discount.
Display only. The combination rules do not depend on currency.Display only. The combination rules do not depend on currency.
The example starts checked. Shopify requires no checkout.liquid customizations or features, and no Licensify app; uncheck unless you have confirmed both.The example starts checked. Shopify requires no checkout.liquid customizations or features, and no Licensify app; uncheck unless you have confirmed both.
More eligibility and limits
Same-line product stacking is Plus-only.Same-line product stacking is Plus-only.
Only relevant to Shopify Plus. Confirm both product discounts name each other in Tags before checking this box.Only relevant to Shopify Plus. Confirm both product discounts name each other in Tags before checking this box.
Combinations are supported on Online Store, Storefront API, and Shopify POS.Combinations are supported on Online Store, Storefront API, and Shopify POS.
0–5. Use this to test the five-code cap with codes outside the three rows.0–5. Use this to test the five-code cap with codes outside the three rows.
0 or 1. Only one shipping code can apply per order.0 or 1. Only one shipping code can apply per order.
0–25. Include app-created active automatic discounts; the store cap is 25.0–25. Include app-created active automatic discounts; the store cap is 25.

Discounts to test

Set each discount as it appears in Shopify admin. A pair combines only when both sides allow the other type.Set each discount as it appears in Shopify admin. A pair combines only when both sides allow the other type.
Uncheck to test a two-discount setup.Uncheck to test a two-discount setup.
Discount 1
Shopify admin calls these Order, Product, and Shipping discounts. Order applies to the subtotal; Product applies to line items; Shipping applies to the shipping rate.Shopify admin calls these Order, Product, and Shipping discounts. Order applies to the subtotal; Product applies to line items; Shipping applies to the shipping rate.
Automatic applies without a code. A code uses one product/order code slot, or the single shipping code slot.Automatic applies without a code. A code uses one product/order code slot, or the single shipping code slot.
Percentage from 0.01 to 100, or a fixed amount in the selected currency.Percentage from 0.01 to 100, or a fixed amount in the selected currency.
%
Only used for Product discounts. Overlapping scopes on the same line trigger the same-line rule.Only used for Product discounts. Overlapping scopes on the same line trigger the same-line rule.
Combinations allowedCheck every type this discount may combine with. Both discounts in a pair must allow the other's type.Check every type this discount may combine with. Both discounts in a pair must allow the other's type.

Product · Automatic · Percentage

Discount 2
Shopify admin calls these Order, Product, and Shipping discounts. Order applies to the subtotal; Product applies to line items; Shipping applies to the shipping rate.Shopify admin calls these Order, Product, and Shipping discounts. Order applies to the subtotal; Product applies to line items; Shipping applies to the shipping rate.
Automatic applies without a code. A code uses one product/order code slot, or the single shipping code slot.Automatic applies without a code. A code uses one product/order code slot, or the single shipping code slot.
Percentage from 0.01 to 100, or a fixed amount in the selected currency.Percentage from 0.01 to 100, or a fixed amount in the selected currency.
%
Combinations allowedCheck every type this discount may combine with. Both discounts in a pair must allow the other's type.Check every type this discount may combine with. Both discounts in a pair must allow the other's type.

Order · Code · Percentage

Discount 3
Shopify admin calls these Order, Product, and Shipping discounts. Order applies to the subtotal; Product applies to line items; Shipping applies to the shipping rate.Shopify admin calls these Order, Product, and Shipping discounts. Order applies to the subtotal; Product applies to line items; Shipping applies to the shipping rate.
Automatic applies without a code. A code uses one product/order code slot, or the single shipping code slot.Automatic applies without a code. A code uses one product/order code slot, or the single shipping code slot.
Percentage from 0.01 to 100, or a fixed amount in the selected currency.Percentage from 0.01 to 100, or a fixed amount in the selected currency.
USD
Combinations allowedCheck every type this discount may combine with. Both discounts in a pair must allow the other's type.Check every type this discount may combine with. Both discounts in a pair must allow the other's type.

Shipping · Code · Fixed amount

Result

A planning estimate from the rules below. Shopify checkout applies the real discounts.

Estimated total$72.00
Total savings$40.00
Subtotal after discounts$72.00
Shipping after discount$0.00

Before discounts: $100.00 subtotal + $12.00 shipping

3 configured discounts all apply.

When a pair is blocked, the estimate applies the highest-saving valid set. Shopify also picks the best allowed combination, but checkout is the source of truth.

Discount status

    Pair check

      Application order

        Limits and slots

        What this checker models

        This is a pre-launch planning tool for the native discounts a merchant creates in Discounts. Configure two or three offers, give each one a type (Order, Product, or Shipping), a method (Automatic or Code), a percentage or fixed value, an optional product scope, and the types it is allowed to combine with. The checker then tests the documented type rules, reciprocal permissions, the five-code and 25-automatic limits, and the same-line product gate.

        It is not Shopify's validator. It does not connect to a store, read live discounts, or know your customer segments. When the rules block a pair, the estimate applies the highest-saving valid set, because Shopify also applies the best allowed combination. The real result is the one your customer sees at checkout.

        The Shopify combination matrix

        Every native discount belongs to one type: Product (items or collections), Order (cart subtotal), or Shipping (shipping cost). Combinations are type-to-type. Both discounts in a pair must allow the other type in their own Combinations section.

        CombinationSupported?Condition
        Product + shippingYesBoth discounts allow the other type.
        Order + shippingYesBoth discounts allow the other type.
        Product + product on different line itemsYesBoth product discounts allow product combinations.
        Product + orderYes, if eligibleNo checkout.liquid customizations or features, and no Licensify app.
        Order + orderYes, if eligibleSame store eligibility as product + order.
        Product + product on the same line itemShopify Plus onlyReciprocal discount tags and Product combinations on both discounts.
        Shipping + shippingNoOnly one shipping discount can apply per order.

        Source: Shopify Help: Combining discounts, checked 2026-11-03. The same page lists the eligibility conditions and the Discount codes FAQ covers invalid or non-combinable messages.

        Why a stack still fails

        One-sided permission

        A product discount that allows order discounts does not make the order discount allow product discounts. Both sides must allow the other type. The checker marks the missing side by name instead of saying only “cannot combine.”

        Store eligibility for product + order and order + order

        These two pairings are not universal. Shopify only offers them when the store has no checkout.liquid customizations or features and is not using Licensify. If those options never appear in the discount editor, confirm the checkout setup before rewriting the campaign.

        Same-line product stacking

        Two product discounts on different items can combine for all merchants. Two product discounts on the same line are Plus-only and need reciprocal tags. The product scope in this checker is there to expose that difference: “both product lines” overlaps with “line 1 only,” while line 1 and line 2 do not overlap.

        Code and automatic limits

        A customer can use up to 5 product or order discount codes and 1 shipping discount code on one order. The store can have at most 25 active automatic discounts, including app-created ones, and no more than 25 automatic discounts can apply to one order. If you test with codes already on the cart, count those too.

        Sales channel

        Native combinations work on the Online Store, Storefront API, and Shopify POS. They are not available on Facebook, Instagram, Google, or other external checkouts. A stack that passes on your online store can still fail when the same offer is promoted through an external checkout.

        Rules outside the type matrix

        • Buy X get Y: on non-Plus plans, products in a BXGY discount are ineligible for further product discounts. Plus has an exception for the free item the customer receives. The checker does not model BXGY carts.
        • App discounts with multiple types: a single discount that includes product, order, or shipping savings can combine only with discounts that allow every included type. Allowing order but not shipping is enough to block it.
        • Best-value replacement: if discounts cannot combine, Shopify keeps the best discount or best allowed combination for the cart. The customer may not get every code they typed.
        • Customer eligibility and minimums: segments, markets, minimum purchase amount, minimum quantity, usage limits, active dates, and subscription purchase types all sit outside the type matrix. The checker asks you to confirm store eligibility but does not read these rules.
        • Scripts, custom discounts, and checkout apps: Shopify Scripts and manually applied custom discounts can bypass other discounts' combination settings. Checkout apps may also change behavior.

        Application order and the math

        When combinations are allowed, Shopify applies discounts in this order:

        1. Product discounts on individual items.
        2. Order discounts on the revised subtotal after product discounts.
        3. Shipping discounts last.

        An order percentage runs on the subtotal after product discounts, not on the original merchandise total. If two percentage order discounts apply, each percentage is calculated on that same revised subtotal; they do not shrink each other's base. A percentage order discount is applied before a fixed-amount order discount. On a Plus same-line product pair, Shopify's examples apply the percentage before the fixed amount as well.

        The checker uses cents for the arithmetic, clamps a fixed discount to the remaining base, and never lets the total go below zero. A fixed product amount is modeled as one amount off the eligible subtotal, which matches the “Only apply discount once per order” behavior. If your fixed product discount applies to every eligible item, the real amount can be higher, so treat that number as a lower-bound planning estimate.

        Worked example

        Cart: $60 on line 1, $40 on line 2, $12 shipping. Discount 1 is a 20% Product automatic discount for both lines. Discount 2 is a 10% Order code. Discount 3 is a $12 Shipping code. All three allow the types they need, and the store is eligible for product + order.

        StepBaseDiscountLeft
        Product 20%$100.00$20.00$80.00
        Order 10%$80.00$8.00$72.00
        Shipping $12$12.00$12.00$0.00

        Total: $72.00. Savings: $40.00. If the store is not eligible for product + order, the product and order pair conflict. The highest-saving valid set becomes product + shipping: $20 + $12 = $32 saved, and the order code is blocked. That is exactly the kind of result the checker is meant to expose before launch.

        The limits to check before launch

        • 5 product or order discount codes + 1 shipping code per order.
        • 25 active automatic discounts per store, including app-created ones.
        • Only one shipping discount per order, automatic or code.
        • Same-line product stacking: Shopify Plus plus reciprocal tags.
        • Supported channels: Online Store, Storefront API, Shopify POS. Not external checkouts.
        • A 0% or $0 discount may not behave correctly at checkout. Use at least 1% or $0.01 for a minimum-value test.

        For code-level limits such as one use per customer and unfinished-checkout holds, read Shopify unique discount codes. Combination rules do not override a code that has already been used.

        Before launch, walk one representative cart through checkout. The type-by-type retest order, including the BXGY and app cases above, is inShopify discount combinations.

        Sources

        Shopify discount combination questions

        Can product and shipping discounts combine on Shopify?

        Yes, when both discounts allow the other’s type in Combinations. Product discounts apply first, and shipping applies last.

        Shopify Help: Combining discounts

        Can two order discounts combine?

        Only when the store is eligible and both discounts allow order discounts. The store must have no checkout.liquid customizations or features and must not use Licensify. Each percentage is calculated on the subtotal after product discounts, not one after another on a shrinking base.

        Shopify Help: Combining discounts

        Can two product discounts stack on the same line?

        Only on Shopify Plus, with reciprocal discount tags and Product combinations on both discounts. On other plans, two product discounts on the same line do not both apply; the better one is kept.

        Shopify Help: Combining discounts

        Can two shipping discounts stack?

        No. Only one shipping discount can apply per order, whether it is automatic or a code.

        Shopify Help: Combining discounts

        How many discount codes can one Shopify order use?

        Up to 5 product or order discount codes plus 1 shipping discount code. A store can have at most 25 active automatic discounts, including app-created ones.

        Shopify Help: Combining discounts

        Why does a stack still fail when both Combinations boxes are checked?

        Check store eligibility, the Plus tag pair for same-line products, code and automatic limits, the sales channel, Buy X Get Y, app discounts with multiple types, Scripts, customer eligibility, and minimum requirements. Checkout applies the best allowed combination.

        Shopify Help: Discount codes FAQ

        Does this checker connect to my Shopify store?

        No. It does not call the Shopify API or read your discounts. All numbers stay in the browser.