What you will learn
On this pageContentsCloseOpen
You want a coupon to stack with a sale. Or a VIP discount to sit on top of a seasonal one. In the Shopify admin you land on a setting called Combinations — and that's where it stops making sense.
Not because the UI is hard. Because Shopify supports exactly six discount combinations, and three of them are conditional. The conditions aren't only about your plan, either. One of them is about whether your checkout still has legacy Liquid customizations, and another names a specific app.
Below: the exact combination matrix, the hard numeric caps, the calculation order that trips up promo math, and the pricing axis that decides which discount app is actually cheaper for you. Research date: September 1, 2026.
The short version
Order + shipping, product + shipping, and product + product on separate items work for every merchant. Free.
Product + order, and order + order work only for eligible merchants — and eligibility is about your checkout implementation, not your plan.
Multiple product discounts on the same line item is Shopify Plus only.
Shipping + shipping never combines on any plan. That one is architectural.
Running Buy X Get Y? On every plan except Plus, BXGY products are ineligible for further product discounts — and entering a code removes the BXGY discount.
Want strikethrough sale pricing on product pages? Shopify says outright you need a third-party app or a Partner build.
Three classes govern everything
Every discount you create — code or automatic — falls into one class:
- Product discounts — apply to specific items or collections
- Order discounts — apply to the cart subtotal
- Shipping discounts — modify shipping costs
The Combinations setting asks which classes a given discount may combine with.
And nothing combines by default. From the Help Center FAQ: "No, discounts don't automatically combine. You must manually configure each discount's combination settings." Both discounts have to permit the other's class. Configuring one side does nothing.
The six combinations and their gates
| Combination | Who can use it |
|---|---|
| Order + shipping | All merchants |
| Product + shipping | All merchants |
| Product + product (different items) | All merchants |
| Product + order | Eligible merchants only |
| Order + order | Eligible merchants only |
| Product + product (same item) | Shopify Plus only |
| Shipping + shipping | Not supported |
Shipping + shipping has a stated reason: Shopify shipping discounts apply to the entire shipping rate, and stacking multiple discounts on one rate isn't supported.
What "eligible merchants" means
Two requirements, both stated plainly:
- Your store must not use any
checkout.liquidcustomizations or features - You're not using the Licensify app
The first is really asking whether you've migrated to Checkout Extensibility. The troubleshooting section is explicit: to combine product with order discounts, or order with order, "your store must use Checkout Extensibility and not have any checkout.liquid customizations."
The second is unusual. Shopify's Help Center naming a specific third-party app as an eligibility blocker is rare enough to be worth noticing.
The practical implication: if you can't combine product and order discounts, that is probably not a missing feature you need to buy an app for. It's a migration you haven't finished, or an app you're running. Check your checkout settings before you check the App Store.
The hard caps: 25, and 5 + 1
Even where combining is allowed, there are ceilings:
- A maximum of 25 active automatic discounts. This total includes app-based discounts. Which means at most 25 automatic discounts can apply to one order
- Customers can use a maximum of 5 product or order discount codes and 1 shipping discount code on the same order
The "includes app-based discounts" clause is the one that bites. You may have created ten automatic discounts yourself while an installed app quietly maintains fifteen more. Shopify's own troubleshooting for "automatic discount not applying with discount code" lists hitting the 25 cap as a cause.
Where combinations simply don't work
Combinations apply only to orders placed through the Online Store, the Storefront API, and Shopify POS.
And one exclusion is spelled out:
Discount combinations aren't available for checkouts on Facebook, Instagram, Google, or other external checkout platforms.
If social commerce is a meaningful share of your volume, stacked promotions don't exist there. Design single-discount offers for those channels.
Related: you cannot restrict discount codes by sales channel. Per the Help Center, customers can redeem codes on all sales channels you've set up, and restricting them to specific channels isn't possible.
For POS specifically, automatic discounts can only be activated for POS Pro locations.
Two discount types ignore your combination settings entirely
This is where accidental double-discounting comes from. The following always apply to an order regardless of any combination settings:
- Custom discounts manually applied to an order — a manual discount on a POS cart, or a custom discount on a draft order
- Discounts added using the Scripts API
If you set two discounts as non-combinable and a customer still got both, one of these is the likely path. Stores where in-store staff apply manual POS discounts are effectively running two different discount rulebooks.
Calculation order, and the percentage trap
When multiple discounts apply, the order is fixed:
- Product discounts apply first, to individual items
- Order discounts apply to the revised subtotal, after product discounts
- Shipping discounts apply last
Now the part that surprises people.
Two percentage order discounts are both calculated on the original subtotal.
Shopify's example: a $350 USD subtotal with a 10% and a 15% order discount produces $262.50 USD. Not $350 → $315 → $267.75. Both percentages hit the original: $35 + $52.50 = $87.50 off, a flat 25%.
But a percentage plus a fixed amount behaves differently. The percentage applies first, then the fixed amount applies to the new subtotal. A $350 subtotal with 10% off and $20 off gives $315, then $295.
Which means: two campaigns that both look like "30% total off" can land on different final prices depending on whether you built them from percentages or a percentage plus a fixed amount. Run test orders before you commit to the margin math.
Buy X Get Y splits by plan
On every plan except Shopify Plus, all products that are part of a Buy X Get Y discount are ineligible for further product discounts. If a customer enters a code that applies to a BXGY product, the best overall discount wins — and per the troubleshooting section, the BXGY discount is removed and only the code applies.
On Shopify Plus, the customer-gets product in a BXGY discount is eligible for same-line-item product discount combining.
Shopify's suggested workarounds: keep BXGY and other product discounts on different products or collections, tell customers which products are in the BXGY promotion, and consider using order discounts instead of product discounts — order discounts can combine with BXGY on eligible stores.
Same-line stacking (Plus) needs reciprocal tags
On Plus, combining multiple product discounts on one line item is tag-driven. You tag discounts (loyalty, seasonal), set Combinations → Product discounts, switch One per product to Multiple per product, and select which tags may combine.
The setup must be reciprocal. Shopify's example: Discount A tagged promo, combining with clearance; Discount B tagged clearance, combining with promo. Only then do they stack on the same cart line. Configuring one direction does nothing.
Note also: free shipping discounts can carry tags, but can't be combined on the same shipping line.
The rest of the fine print
Constraints from primary documentation that change how you design:
- Discount type and method can't be changed after creation. Delete and recreate
- $0 USD or 0% discounts may not work correctly at checkout. Use at least $0.01 or 1%
- Whether third-party app discounts combine depends on whether the developer adopted the discount combinations API. If they haven't, those discounts won't combine
- Admin-created discounts aren't compatible with the post-purchase page at checkout
- Checkouts from draft order invoices or links don't let customers apply codes themselves by default
- Shop Pay customers must sign in before the discount code field appears
- Discounts apply to the subtotal before taxes; tax is calculated afterward
- A submitted order holds the code against its usage limit until payment completes or fails. An unfinished checkout keeps the hold, producing "already been used." Deactivating, reactivating, or renaming a code does not reset its usage history
Strikethrough pricing is not a native feature
This may be the single biggest reason merchants install a discount app.
From the discount codes FAQ:
To display discount savings with crossed-out (strikethrough) prices on product pages and collection pages, you need to use a third-party discount app, or hire a Shopify Partner to build a custom solution for you.
Shopify discounts are reductions applied in the cart and at checkout. They are not sale prices on a product page. To show a lower price before add-to-cart, you either edit compare-at prices directly or you install something.
So a large share of what a discount app sells you is not the discount logic — it's showing the discount before checkout.
The apps meter on completely different units
As of September 1, 2026, the Shopify App Store's Discounts category lists 1,023 apps. Feature lists won't separate them. Billing units will.
| Discounty: Bulk Discount Sales | Regios Automatic Discounts | |
|---|---|---|
| Developer | Discounty (Richmond, BC, CA) | Regios Technologies, Inc. (Mountain View, CA, US) |
| Rating | 4.9 (1,210) | 4.9 (176) |
| Built for Shopify | Yes | Yes |
| Listed languages | English, French, Dutch, German, Portuguese (BR), Spanish, Italian | English |
| Billing unit | Live discounted variants + campaign count | Monthly orders a discount applied to |
| Free plan | Yes (10 variants, 3 campaigns) | No |
| Entry paid tier | $9.90/mo ($0.99 first month) — 150 variants, 10 campaigns | $34.99/mo — up to 500 orders/mo |
| Higher tiers | $29.90/mo (1,000 variants) / $49.90/mo (10,000 variants) | $59.99 (1,500) / $119.99 (5,000) / $249.99 (unlimited) |
| Free trial | 3 days | 7 days |
| Launched | October 19, 2022 | July 12, 2023 |
What the table says
Different billing units mean the cheaper app flips depending on your store shape.
Discounty charges on live discounted variants. A large catalog running a storewide sale hits the top tier on catalog size alone — 10,000+ variants puts you at $49.90/month regardless of how few orders you take.
Regios charges on monthly orders that received a discount. A 100,000-SKU catalog costs $34.99 if fewer than 500 discounted orders land in a month. Invert it — small catalog, high order volume — and Regios climbs the tiers while Discounty stays flat.
Big catalog + low orders favors Regios. Small catalog + high orders favors Discounty. You cannot know which without counting both numbers for your own store.
Discounty's headline prices are promotional. Each tier reads "Start for $0.99 in your first month, then $9.9/month or $99/year. Limited-time Pre-BFCM offer." The eye-catching $0.99 / $1.99 / $2.99 figures are first-month only; months two onward are $9.90, $29.90, and $49.90 respectively.
The free tiers are narrow. Discounty's free plan covers 10 live discounted variants and 3 campaigns — testing territory. Regios has no free plan at all.
Discounty: Bulk Discount Sales
Best for — applying price rules across large catalogs and showing the result: sale badges, tier tables, countdown timers, progress bars.
The listing describes bulk price edits, automatic or code discounts, product discounts, volume and quantity tiered pricing, Buy X Get Y, BOGO, free gifts, cart discounts, flash sales, and free shipping, plus codes covering product, order, and shipping classes. Targeting by customer segment and channel (Online/POS), stacking on one line, compare-at price editing, and pre-checkout savings display are all listed.
Watch out for — a one-star review dated August 27, 2026 describes creating a storewide 25% bulk price edit campaign that the admin reported as Active across 207 discounted variants, while storefront prices never changed. Support's diagnosis: market fixed prices are hardcoded in Shopify and override discounts.
That's less an app bug than a Shopify Markets fixed-price precedence issue. If you run fixed prices per market, verify during the trial that prices actually change in the market you sell to.
Overall: 4.9 across 1,210 reviews, roughly 1.1K five-star (95%) and 28 one-star (2%). A July 26, 2026 review notes switching a live campaign from a quantity discount to Buy X Get Y took minutes, and that exclusions, scheduling, and combination settings were where you'd expect them.
Pricing (September 1, 2026) — Starter free: 10 live discounted variants, 3 campaigns. Lite: $0.99 first month, then $9.90/mo or $99/yr — 150 variants, 10 campaigns. Essential: $1.99 first month, then $29.90/mo or $299/yr — 1,000 variants, 30 campaigns. Discounty: $2.99 first month, then $49.90/mo or $499/yr — 10,000 variants, 100 campaigns. Paid plans include a 3-day trial.
Regios Automatic Discounts
Best for — complex nested discount logic you need to validate before it goes live.
The listing describes a flowchart logic builder running natively on Shopify Functions, handling nested rules across cart contents, customer tags, and quantity. Volume, BXGY, gift, threshold, fixed-price, tiered, and bulk-code discounts are covered, with display on product, collection, and search pages before checkout.
Two features stand out: a Logic Analyzer that flags setup errors with one-click fixes before launch, and automatic discount backups that protect rules from accidental deletion or uninstall. Stacking multiple classes in a single rule — "10% off plus free shipping together" — is listed.
Reviews — 4.9 across 176. Five stars 164 (93%), one star 2 (1%). An August 4, 2026 review notes variant-level promotions being "a limitation with native Shopify discounts." A July 15, 2026 review describes building fixed-price discounts with per-item multipliers that native Shopify doesn't allow.
Watch out for — English only. No free plan. Requested data access includes sensitive customer data (name, email, phone, address), geolocation and IP, Shopify Functions cart transforms, and theme editing. Worth reviewing before install — how to audit what an app can see is covered separately.
Pricing (September 1, 2026) — Starter $34.99/mo ($349.99/yr, 17% off), 500 orders/mo. Business $59.99/mo ($599.99/yr), 1,500 orders/mo. Enterprise $119.99/mo ($1,199.99/yr), 5,000 orders/mo. Scale $249.99/mo ($2,499.99/yr), unlimited. All tiers: 7-day trial, live chat support.
Picking by situation
You just want a coupon to stack with free shipping
Native does this. Order + shipping works for everyone. Enable the other class on both discounts.
The product + order combination option isn't showing up
Check your checkout, not the App Store. Legacy checkout.liquid customizations or the Licensify app are the documented blockers. Meeting the requirements makes it a native feature. If it still doesn't appear, Shopify Support is the documented next step.
You want a member discount and a sale discount on the same product
That's Shopify Plus. No app changes the plan requirement. But if you can restructure it as product + order rather than product + product, eligible stores get it natively.
You need strikethrough pricing on product pages
You need an app. Shopify states this outright. Both apps above list pre-checkout price display.
Large catalog, frequent storewide sales
Run the numbers on both units. 10,000 variants and 300 discounted orders a month: Discounty $49.90, Regios $34.99. Change either number and the answer changes.
Deeply nested logic you need to validate first
Regios. Logic Analyzer plus automatic backups are the listed differentiators. English-only operation.
Facebook, Instagram, or Google checkout is a major channel
Stacked promotions aren't available there. Design single-discount offers for those surfaces.
Pre-install checklist
- Which of the six combinations do you actually need, and do you qualify?
- Any
checkout.liquidcustomizations left? - How close are you to 25 active automatic discounts, counting app-created ones?
- Are you asking customers to use more than 5 codes (plus 1 shipping)?
- If you run Buy X Get Y, are those products isolated from other product discounts?
- Have you test-ordered percentage-vs-fixed stacking to confirm the final price?
- Are POS manual discounts or Scripts API discounts bypassing your combination rules?
- If you use Shopify Markets fixed prices, do app discounts actually change the displayed price?
- Have you counted both your variant count and your discounted-order count?
- Is the price you're looking at a first-month promotional rate?
Bottom line
Four steps:
- Identify which of the six combinations you need. Three are free for everyone
- If it's blocked, separate "plan" from "implementation." Only same-line product stacking is a Plus requirement — the rest is
checkout.liquidand one named app - Articulate whether you need an app for logic or for display. Strikethrough pricing is not native
- Map the billing unit onto your own numbers. Variant-metered and order-metered apps swap places depending on your catalog shape
App Store pricing and features change frequently. Every figure here reflects listings as of September 1, 2026 — and Discounty's "Pre-BFCM" rates are explicitly time-limited, so confirm before installing.
Primary sources
Shopify Plus is required only for upsells in the Information, Shipping, and Payment steps. Post-purchase upsells work from Basic upward, but nine conditions—including Apple Pay, Google Pay, Amazon Pay, installment plans, and multi-currency orders—can prevent offers from appearing. This article maps those limits and compares three apps. Researched September 1, 2026.