If you run a Canadian store, the single most consequential decision in your Shopify discount strategy for Black Friday isn't the percentage. It's whether the discount is sitewide or conditional on spend. A flat 30% off everything on 27 November sets a reference price that your customers carry into Boxing Day twenty-nine days later, and then into January, where it quietly eats your margin for a quarter. A tiered or bundled structure spends roughly the same money but buys you a bigger basket and leaves the list price intact. Same budget, different shape, very different Q1.
That gap between the two peaks is the whole problem. US merchants get one December event and then a long quiet stretch. We get Black Friday, Cyber Monday, then Boxing Day and Boxing Week, close enough together that the first sale is effectively an advertisement for the second. Customers who bought at 30% off on the Friday will not pay full price on 20 December. They'll wait six days.
Price Boxing Day first, then work backwards
We plan these two events in reverse order. Decide what the 26 December offer looks like, then design Black Friday so it doesn't undercut it.
The reason is simple. Boxing Day is the clearance peak in Canada, and it's where leftover BFCM inventory goes to die. If Black Friday was 30% sitewide, Boxing Day has to be 40% to feel like anything, and by 2 January you're a 40%-off store. If Black Friday was a spend-tiered event with a 10/18/25 ladder, Boxing Day can be a genuine 35% clearance on a defined set of SKUs and still read as a bigger deal, because the first event never gave away the full catalogue.
Write both offers on one page before you build either. If you can't explain to a customer why the second one is different from the first, neither can your email.
Sitewide vs tiered discounts on Shopify: the arithmetic
Here's the comparison we run with merchants, using round numbers so you can check it against your own.
Assume 1,000 orders over the BFCM weekend, a baseline AOV of $118, and COGS at 38% of full retail.
Sitewide 25% off. Deal-seekers nudge the gross basket up slightly, to $125. Net revenue per order is $93.75. COGS is 38% of $125 = $47.50. Contribution per order: $46.25. Across 1,000 orders, $46,250.
Tiered by spend — 10% off at $100, 18% at $175, 25% at $275. Customers top up to reach a threshold, so the gross basket lands at $142 and the blended discount comes in around 16%. Net revenue per order: $119.28. COGS is 38% of $142 = $53.96. Contribution per order: $65.32. Across 1,000 orders, $65,320.
Same headline maximum discount. About $19,000 more contribution on identical order volume, and a catalogue whose list price is still credible on 15 January.
Now the honest caveat, because the model has one. Tiers only work if a customer can plausibly build a bigger basket. If you sell one $900 item and nothing else, a spend ladder is theatre — nobody buys two mattresses to save 18%. Single-SKU and high-ticket stores should use bundles with accessories, or a straight sitewide discount with a hard end date, and accept it. We get the basket-lift assumption wrong on roughly a third of first-pass forecasts, usually because the catalogue is narrower than the merchant thinks it is. Check your actual distribution of items per order from last December before you commit to thresholds.
Set tier thresholds off your current AOV, not off a round number. If AOV is $118, a first tier at $100 is free money you didn't need to give away. Put it at $135.
How to set up bundle discounts on Shopify without breaking inventory
Bundles are the best of the three structures for protecting Q1, because the discount is attached to a combination rather than to a product. The customer never learns that the hero SKU is worth less than its sticker.
Three ways to build them, in increasing order of effort:
- Buy X get Y as an automatic discount. Native, five minutes, no app. Fine for "buy any two, get the third at 50%". Weak for fixed-price kits.
- Shopify's bundles functionality, built on Functions, which creates a bundle product whose components stay linked to the underlying inventory. This is the one most merchants should use. Sell 40 gift kits and the component stock decrements properly, which matters enormously when you're also running Boxing Day off the same shelf.
- A standalone bundle SKU with its own inventory count. Easiest to merchandise, and a reliable way to oversell your components if you forget to reconcile. We only recommend it for limited, pre-assembled runs where you've physically boxed the stock.
One build note: Shopify Scripts has been retired in favour of Functions, so if your Plus store still has a script running a legacy bundle rule, that's a December fire waiting to start. Audit it in October, not on the 25th. If you need a genuinely custom cart rule — gift-with-purchase that varies by province, say, or a tier that excludes a vendor — that's Functions work, and it's the sort of thing we scope through custom app and Functions development rather than stacking another app on the cart.
Shopify automatic discounts vs codes: Shop Pay has already decided this
Use automatic discounts for anything you want the majority of customers to receive. Use codes only for things that must be gated: influencer attribution, win-back segments, a list-only early window.
The reason is Canadian-specific in practice. Shop Pay adoption here is high, and accelerated checkout buttons skip the cart page where the code field lives. A shopper tapping Shop Pay from the product page never sees your promo box. If the offer depends on them pasting SAVE25, a meaningful chunk of your best-converting traffic simply doesn't get it, and some of them come back through support asking for the discount after the fact.
Two operational points. Shopify caps how many automatic discounts can be active at once, and the limit is lower than people assume, so a ladder built as fifteen separate automatic discounts will hit it — build tiers inside one discount where you can. And the discount's internal title shows up on the order summary and the confirmation email, so name it something a customer can read.
That last point is a legal one in Quebec. Under Bill 96, French-language obligations extend to the commercial communications a Quebec customer sees, and a discount title rendered on the order confirmation is one of them. Most translation apps don't cover the discount resource, which means you either name discounts in a way that works in both languages or create market-specific discounts for Quebec. Worth sorting in November, because the fix is slow and the exposure isn't theoretical.
Stacking discount rules that hold up at checkout
Shopify sorts discounts into three classes: product, order, and shipping. One from each class can combine, but only if you've explicitly marked each discount as combinable with the others. Two order-level discounts will never stack. This trips up more promotions than any other single thing.
A combination that works: a product discount on a clearance collection, plus a shipping discount at a spend threshold. A combination that doesn't: a 20% order discount and a $15-off-$100 order discount. The second one silently loses, the customer sees a smaller number than your email promised, and you spend Boxing Day answering tickets.
Decide your stacking policy before you create a single discount, and test it against four real carts: a single cheap item, a basket just under your first tier, a basket just over it, and a basket containing a bundle plus a clearance item. Place the orders. Refund them. It takes twenty minutes and it's the only test that matters.
Boxing Day sale planning for a Canadian December
Three things go wrong here that are specific to shipping from Canada in late December.
Carrier risk. Canada Post labour disruption has hit peak season more than once, and the merchants who came through it fine were the ones with a second carrier already configured, not the ones who opened a UPS or Purolator account on the Monday. Have rates live for an alternative before the end of November and know which postal codes your backup carrier actually serves well — coverage to rural and northern addresses is where the fallback usually fails. If a free-shipping threshold is part of your offer, model it against your backup carrier's rates, because that's the one you may be paying.
Gift cards. In Canada, GST/HST isn't charged when you sell a gift card; tax applies when it's redeemed against goods. A gift-card-with-purchase at BFCM is therefore not a discount at all at point of sale, you collect full price and full tax, and the liability lands in January when the card is spent. That is exactly where you want demand to land. A $25 card on a $150 purchase costs you roughly the same as a 17% discount, but it pulls a second visit into the dead weeks and the redeeming customer almost always spends over the card value.
Tax on prorated discounts. An order-level discount in Shopify is allocated across line items, which changes the taxable base per line. In an HST province that's invisible. In BC or Saskatchewan, where PST applies to some items and not others, the proration can shift what's taxable in ways your bookkeeper will notice in February. Run one test order per province you ship to heavily.
Does discounting hurt average order value?
A discount doesn't damage AOV. A discount with no condition attached does, because it removes the only reason a customer had to add one more item.
The measurable harm shows up as discount dependency rather than as a December number. The metric to watch is the share of January orders that contain any discount, measured against the same share in October. If October was 12% and January is 44%, your BFCM structure taught people to wait, and it'll take two quarters of discipline to untrain. The second metric is January AOV against your October baseline, not against December, because December is always inflated by gifting.
The January slump is a cohort problem, not a demand problem
Traffic doesn't vanish on 2 January. What changes is who's on the site: a large cohort acquired at a discount, plus gift-card holders, plus returners. All three convert differently from your October customer, and none of them respond to another percentage.
What we do instead, and it's unglamorous:
- Segment the BFCM cohort out of the January promotional sends entirely. They've bought. Sending them another offer within six weeks is how dependency forms.
- Time a replenishment flow to the consumption cycle of what they actually bought, which for most consumables is 45 to 60 days, so it fires in mid-January without needing a discount attached.
- Treat gift-card holders as a separate campaign with a spend threshold rather than a discount. "Your card plus free express shipping over $X" outperforms "10% off" with that group, because they're spending someone else's money.
- Raise the free-shipping threshold on 2 January. If it sat at $75 through December, $99 in January is a quiet AOV lever nobody complains about.
If you sell south of the border, the duty question now changes your maths
The US closed its low-value de minimis exemption in 2025, so the parcels that used to cross duty-free no longer do. For a Canadian merchant running a US-facing Black Friday promotion, that means a customer who sees 25% off can still get hit with a duty and brokerage charge on delivery, which lands as a refund request or a chargeback rather than a complaint you ever see.
Either absorb it with DDP-landed pricing in your US market and build the cost into the discount, or state the charge clearly at checkout. Don't do neither. We'd rather see a 20% US offer with duties prepaid than a 25% offer that arrives with a surprise bill.
What to do this month
Pull last year's December and January order data and answer two questions: what share of January orders carried a discount code, and what was the average number of items per order during BFCM. The first tells you how much damage last year's structure did. The second tells you whether a spend ladder will work at all.
Then write both offers — 27 November and 26 December — on the same page, and check that the second one is still worth showing up for.
If you want a second pair of eyes on the discount architecture before you build it, our team works with Canadian stores on exactly this kind of peak planning; a free store audit will tell you where the leaks are, and the Canada page covers how we work with merchants here.


