Shopify Black Friday discounts: what stacks, what collides
Every Shopify discount has a Combinations section: a short list of checkboxes for which kinds of discount it will share a cart with. Both discounts have to tick the box for the other one's kind, or only the better one applies. That is why a discount you set up months ago can block the one you are running today.
A shopper drops two items in the cart during your sitewide sale: one carrying a bundle discount from three weeks ago, the other a $10 code from a welcome email that never expired. Checkout works out what those two are allowed to do together, and the total can land differently from what your banner promised.
Why one discount wins and the other vanishes
A sitewide sale set to allow discounts on products still will not run alongside a bundle, unless that bundle is also set to allow discounts on the whole order. The box nobody ticked is usually on the older discount.
Ticking the box isn't always enough. Some pairs work on any store: free shipping alongside anything else, and two discounts that come off different products. Two discounts on the same product need Shopify Plus. And putting a discount on one product together with one on the whole order, or running two whole-order discounts together, stops working if someone has put custom code into your checkout.
Buy X Get Y adds a second trap. Unless you are on Shopify Plus, no other discount aimed at the products in that offer comes off them: not the one a shopper has to buy, and not the one they get. Point a code at either and Shopify keeps whichever discount is worth more to the shopper, rather than running both. On Shopify Plus, the product a shopper gets can take another discount aimed at it. The one they have to buy still cannot.
Even when two discounts do run together, the math isn't always addition. Two percentages off the whole order really do add up. Each one is worked out from the original subtotal, so the shopper gets both in full. That changes as soon as one of the two comes off a single product instead. That one is taken first, and the percentage off the order is then worked out from the smaller subtotal it leaves behind, so the pair saves less than adding the two numbers suggests.
How fast you reach Shopify's limit of 25 automatic discounts
Shopify lets 25 automatic discounts run at once. Anything your apps set up counts toward the same 25. A sitewide 20% off, free shipping over $50, four live bundles, two offers running on a countdown: that is eight, before a single leftover from an old sale.
Leave the end date blank and a discount sits in your Discounts list marked Active forever: a sitewide percentage from a spring sale, free shipping nobody turned off, an offer an app set up for a campaign that ended. Anything still marked Active is spending one of the 25. Shopify's own advice is to open that list and switch off the ones you no longer need. Simple enough, and the first thing skipped in the week nobody has a spare hour.
| Question | Shopify native | Sledge |
|---|---|---|
| How many discounts can run at once | 25 automatic discounts at once, anything your apps set up included | Offers of the same type share a Shopify discount, so a dozen bundles do not cost you a dozen slots |
| How you keep two offers from colliding | Both discounts have to tick the box for the other one's kind, in the Combinations section inside each | You point each bundle at its own products, and Sledge warns you about an overlap while you're setting it up |
| How you pick which offer to run | Build it, run it, read the sales report after | Run up to four versions of one bundle, set what percentage of shoppers sees each, then keep the one that earned more |
Codes a shopper types in have their own limit. One order can take five discount codes, plus one more for free shipping. That limit is about a single cart, and has nothing to do with the cap of 25 automatic discounts.
The other kind of collision is quieter. Switch on a sitewide sale that runs automatically, and an affiliate or influencer code can stop working that same day. Shopify runs the two together only when both are set to allow it. The same code that worked in October gets rejected in November.
How Sledge keeps you under the 25-discount limit
Sledge runs nine kinds of offer: fixed bundles, Buy X Get Y, volume discounts, add-ons, build-your-own bundles, subscriptions, shipping offers, free gifts, and the offer on the thank-you page. Your live offers share Shopify discounts instead of each taking one of the 25. Build a dozen bundles by hand and you have used a dozen. Build a dozen in Sledge and you are nowhere near the limit.
Two bundles both apply in the same cart, with nothing to switch on. Each one only takes money off its own products, so nothing is discounted twice. You pick the products or collections each bundle covers. Let two bundles cover the same product and Shopify picks one of them at random, which is why Sledge warns you about it while you are still editing.
Announce what wins, then prove it
A banner or a countdown only helps once you know which offer will run. Sledge banners land on the collection page, the search page, the cart drawer, or instant search, the results that drop down as a shopper types. A countdown can run across the whole store, on one collection, or on a list of products you pick. You can also run it everywhere except a list you pick.
Buy 3, save 10%. Buy 5, save 20%. Or just buy 3, save 15%. They all look sensible on a spreadsheet, until they run. Sledge copies the bundle you built into as many as four versions, you set what percentage of shoppers sees each, and the winner's settings go onto the live offer. The products, the countries and the dates stay the same on every version, so you are comparing the offer and nothing else.
Before you turn on another discount this Black Friday, get these straight
- Every discount still running is listed, including ones set up for a campaign that already ended.
- You have opened both discounts, not just the newer one, and each one ticks the box for the other one's kind in its Combinations section.
- You have counted every automatic discount still marked Active in your Discounts list, old campaigns included, and the total is 25 or fewer.
- Each bundle covers its own products, with no overlap warning left standing.
- You have checked whether another discount can still come off your Buy X Get Y products, on both sides of the offer.
- Two versions of the same bundle have been tested against each other, not just eyeballed.
- Your banner and countdown promise the discount that a shopper actually gets at checkout.
Questions, answered
Why did my Shopify discount code not apply at checkout?
A common cause is that the discount it should have joined is not set to allow it. Open either discount and you will find a Combinations section: both discounts have to tick the box for the other one's kind, or only one of them runs. Enter more than one code that cannot run together and checkout says so directly: "Discount couldn't be used with your existing discounts". Shopify also points at automatic discounts already applying to the cart, so review the ones that reach the products in it.
How many discounts can run on my Shopify store at once?
Shopify lets 25 automatic discounts run at once, and anything your apps set up counts toward the same 25. Codes a shopper types in have their own limit. One order can take five discount codes, plus one more for free shipping. That second limit is about a single cart, not about how many discounts you keep.
Do Shopify discounts stack additively or multiplicatively?
They add up when both discounts come off the whole order. Each one is worked out from the original subtotal, so 10% off plus 20% off a $100 order leaves $70, a 30% cut rather than the 28% you would get by taking one after the other. A discount that comes off a single product is taken first. A discount on the whole order is then worked out from the smaller subtotal it leaves behind.
Does a Buy X Get Y deal block other discounts on Shopify?
On every plan except Shopify Plus, no other discount aimed at those products comes off them: not the one a shopper buys, and not the one they get. Enter a code that hits either and Shopify keeps whichever discount is worth more to the shopper, rather than running both. Shopify Plus loosens one half of that: a code can come off the product a shopper gets, but never off the one they have to buy to earn it.
Can two Sledge bundles run in the same cart?
Yes, and you do not have to switch anything on. Sledge sets its bundles to run alongside other product discounts from the start, so a bundle on the product page and a free gift in the cart drawer both apply in one cart. Each bundle only takes money off its own products, so nothing is discounted twice. The one catch is a product that falls inside two bundles at once: Shopify picks one of them at random. Sledge warns you about that while you are still choosing which products each bundle covers.
Will running more Black Friday bundles hit Shopify's discount limit?
Rarely. Sledge groups offers of the same type onto a shared Shopify discount, rather than spending one of your 25 on each. Built by hand in the Shopify admin, a dozen bundles are a dozen of the 25, before free shipping and your sitewide sale are counted. Built in Sledge, the same dozen leave you nowhere near it.
How do I know which discount structure will sell more?
Test it rather than guess. Sledge copies the bundle you built into as many as four versions, and you change the discount, the quantity a shopper has to buy, or the layout on each copy. The products, the countries and the dates stay the same on every version, so you are comparing the offer and nothing else. Pick a winner and Sledge copies that version's settings onto the live offer.
The discount that wins shouldn't be a coin flip.
Install free. On a paid plan, Growth Intelligence reads which of your offers made money this season, then names the next one to run and what it is worth in dollars. That figure comes from your own orders, and from published research on what changes like these earn.
14-day free trial · No code · Works with any theme · Uninstalls clean