OPERATIONS · CRO · PERFORMANCE · 3 SEPTEMBER 2026 · 7 MIN READ
What to do in the last week before Black Friday
Nothing you build in the last week will beat anything you rehearse in it. The work is proving the discounts, the rollback and the rota — and saying no to everything else.
Rehearse, verify and remove people from critical paths — and build nothing. By the final week the changes that would have moved revenue are months behind you, and the only remaining ways to affect the outcome are downside: an untested discount stack, a rollback nobody has performed, a rota with one name on it, or a well-meant small change on the Thursday. Spend the week proving the promotion works on real carts, timing an actual theme rollback, capturing what normal looks like on every dashboard while it is still quiet, and getting a named phone number for every third party you depend on. Everything a merchandiser can revert from the admin stays open; everything else is closed, including the thing somebody will describe as tiny.
IN SHORT
- The last week cannot improve the outcome much and can easily damage it, so treat every proposed change as a risk with no matching upside.
- Shopify documents a maximum of 25 active automatic discounts per store, and that a customer can apply up to 5 product or order discount codes plus 1 shipping code to an order.
- Shopify documents that combining product with order discounts requires a store with no `checkout.liquid` customisations, which makes that a revenue question rather than a technical tidy-up.
- Shopify documents the application order as product discounts first, then order discounts against the revised subtotal, then shipping discounts — rehearse the stack in that order on real carts.
- Shopify documents that discounts can only be combined on orders made through the Online Store, Storefront API and Shopify POS.
- Perform the rollback rather than describing it: time it, name the person with publish access, and confirm they are not on annual leave.
- Capture baseline numbers in the quiet week, because during peak nobody can tell an anomaly from a Friday without one.
- Every critical path with one name on it is an outage waiting for that person to lose signal.
What the week is not for
There is a reliable pattern to the final week: a list arrives of small, sensible improvements, each of which would take an afternoon. A faster hero image. A tweak to the cart drawer. One more app that promises a lift. Every item is individually reasonable and collectively they are the largest risk on the calendar, because none of them will have run under load before they meet the busiest traffic of the year.
The honest arithmetic is asymmetric. A change made now has at best a small upside — a week of traffic, an unmeasured effect — and a plausible downside of hours of broken checkout on the day that matters most. That is not a trade a sane team takes, and the way to avoid taking it repeatedly is to have decided in advance, in writing, that the answer is no.
What is left is rehearsal. Not planning, not checklists of things to do later: actually performing the procedures you intend to rely on, while it is quiet enough to discover they do not work.
Prove the promotion on real carts
The single most common peak incident that is entirely self-inflicted is a discount behaving differently from what the marketing calendar assumed. Shopify's discount rules are specific and they interact, so the only reliable test is to build the actual carts your promotion intends and see what happens.
The documented constraints to rehearse against: a maximum of 25 active automatic discounts per store, including app-based ones; a customer may apply up to 5 product or order discount codes plus 1 shipping code to an order; shipping discounts cannot be combined with other shipping discounts; and combining product discounts with order discounts requires an eligible store — which Shopify documents as one with no checkout.liquid customisations and not using the Licensify app. Shopify also documents that discounts can only be combined on orders placed through the Online Store, Storefront API and Shopify POS.
Then check the order of operations, because this is where the margin goes. Shopify documents that product discounts apply first to individual items, order discounts apply to the revised subtotal after them, and shipping discounts apply last. Stack a sitewide percentage on top of an already-reduced product and the second discount is calculated against the first one's output — which is usually what was intended, and occasionally is how a bundle ends up free.
Rehearse the edge cases specifically: a gift card paying part of a discounted order, a return of one item from a multi-buy offer, the code your affiliate partner has been given, and whatever happens when a customer applies all five codes because somebody on a deals forum worked out that they could.
Perform the rollback, do not describe it
Every readiness document contains a line saying the theme can be reverted. In the last quiet week, do it. Publish the previous theme version on a development store or during the smallest traffic window you have, and record three things: how long it actually took, exactly which steps were involved, and who has the permission to do it.
That third answer is the one that surprises teams. Publishing a theme requires access that is often held by two or three people, and peak weekend is precisely when one of them is travelling, one has an expired password and the third has multi-factor authentication tied to a phone that is at home. Check the permissions in the admin against the rota, not against memory.
Do the same for the other reversals you might need: disabling an app, switching an integration to manual processing, turning off a discount, and pausing a scheduled job. Each of them should have a written procedure literal enough to follow at 2am, and somebody who is not the author should try following it.
Capture what normal looks like
During peak, the hardest question is not "is this number bad" but "is this number unusual". You cannot answer it without a baseline, and a quiet week is the only time to take one.
Write down the ordinary values for the things you will be watching: orders per hour by time of day, checkout completion rate, error rate, the lag between an order being placed and it appearing in your ERP or 3PL, webhook failure counts, stock accuracy on your fastest movers, and average response time on the product and cart pages. Numbers on a page, not a dashboard someone will screenshot later.
Then set the thresholds in advance, as decisions rather than observations: how many minutes of order export lag before a person is woken, how many failed webhook deliveries before an integration is switched to manual, what error rate justifies a rollback. Deciding that during an incident is how an hour disappears while everyone agrees that it is probably fine.
Remove the people from the critical path
Most peak failures are recovered slowly for human reasons rather than technical ones. Somebody knows the answer and is asleep. Somebody has the access and is at a wedding. Somebody could authorise the fix and nobody is sure whether they are the right somebody.
So walk the rota and look for single names. Who can publish a theme, who can change a discount, who can restart the integration, who can ring the 3PL and be taken seriously, who can decide to turn a promotion off. Each of those needs two people, contactable by phone rather than by a chat tool nobody will have open, and a stated decision right: the delay in an incident is almost always somebody waiting for permission they already had.
While you are at it, confirm the external half. Every third party you depend on — 3PL, ERP vendor, payment provider, tax service, the agency — should have given you their peak support hours, a named escalation contact and a response commitment. If you are reading this in the final week and you do not have those, that email is the most valuable thing you will send all week.
What stays open, and the last deploy
A freeze that stops merchandising will be overruled within days and then means nothing, so be explicit about what remains available: copy, images, prices, discount values on already-tested mechanics, collection ordering, theme settings, shipping cut-off messaging, help-centre content and support macros. Anything a merchandiser can revert from the admin in minutes without a deploy stays open all week.
Everything else closes, and the final deploy of any kind should land early in the week — never on the Friday, and never on the day itself. The rule is not about the code; it is about having people awake and available for the hours after a change, and a Friday deploy spends its first uncontended day on Saturday.
Then the last task is genuinely to stop. Print the runbook, confirm the rota, and let the week be quiet. If that feels like not enough, the feeling is accurate and it is not about this week — it is about May through September, which is where the work that changes a peak actually happens. The best outcome available in the final week is that nothing surprising occurs, and teams that treat that as the goal reliably beat teams that spend it shipping.
Questions this raises
What should you do the week before Black Friday?
Rehearse rather than build: test the discount stack on real carts, perform an actual theme rollback and time it, record baseline numbers on every dashboard, confirm the on-call rota has two contactable names per critical path, and get named escalation contacts from every third party. Ship nothing structural.
Is it ever acceptable to deploy in the final week?
For a defect that is already costing orders, yes — and early in the week, with people available afterwards. For an improvement, no. The upside of a week's worth of traffic never justifies the risk of a change that has not run under load.
What discount limits should I test against?
Shopify documents a maximum of 25 active automatic discounts per store, up to 5 product or order discount codes plus 1 shipping code per order, and that shipping discounts cannot combine with each other. Combining product with order discounts requires an eligible store, which Shopify documents as one without `checkout.liquid` customisations.
In what order do Shopify discounts apply?
Shopify documents product discounts first against individual items, then order discounts against the revised subtotal, then shipping discounts last. Rehearse your promotion in that order on real baskets, because a stacked percentage is calculated against an already-reduced figure.
What baseline numbers are worth recording before peak?
Orders per hour by time of day, checkout completion and error rates, the lag between an order and its appearance in your ERP or 3PL, webhook failure counts, stock accuracy on fast movers, and product and cart page response times. Without them, nobody can distinguish an anomaly from a normal Friday.
What if we are not ready?
Then reduce scope rather than rushing the build. Turn off the mechanic that has not been rehearsed, simplify the promotion to something you have tested, and trade a smaller offer that works for a larger one that might not. A promotion nobody can operate is worse than a plain one everybody can.
NEXT STEP
Free store audit
A senior Shopify engineer reviews your storefront, theme performance and checkout, then sends a prioritised list of fixes.
