In short
Short answer
- A code freeze is a written agreement that nothing new ships to the store between a fixed date and the end of Cyber Monday, except what's listed as allowed.
- For agencies the hard part isn't the rule, it's the people: the client's developer, their app vendors, their email team and your own team all have to agree to the same dates.
- Name who can launch, who must approve, who can stop anything at any time, and how the client hears about it.
- Copy the template below for each client, fill in the blanks and get it signed by Friday, November 13 at the latest.
Who this is for: agency account leads who need every client to agree to the same rules before the peak.
Dates for 2026
| Date | What happens |
|---|---|
| By Friday, October 30 | Send the agreement to each client |
| By Friday, November 13 | Signed by the client's decision-maker |
| Sunday, November 15 | Last day to ship anything outside the "allowed" list |
| Monday, November 16 | Freeze starts |
| Thursday, November 26 to Monday, November 30 | Thanksgiving, Black Friday and Cyber Monday: daily checks only |
| Tuesday, December 1 | Freeze ends unless the agreement says later |
We suggest November 16 because ten days before Thanksgiving leaves time to notice anything the last changes broke. It is our suggestion, not a Shopify rule. Move it earlier for a client whose developer releases weekly, or whose apps are maintained by vendors you don't control.
What the freeze covers
Four kinds of change cause most peak-week incidents. The agreement should name each one:
- Theme publishes. A new theme, or a theme edit published live. Shopify recommends duplicating a theme as a backup before customizing it (Shopify Help Center, read October 11, 2026); during the freeze, keep that backup ready to republish.
- Apps. Installing, removing or reconfiguring apps that touch the storefront, cart or checkout.
- Prices, discounts, shipping and checkout. Anything that changes what a shopper pays, except the planned sale offers. Discounts only combine when each discount's settings allow it, so a late discount can quietly stop another from applying. Shopify allows up to 25 active automatic discounts per store, app discounts included (Shopify Help Center, read October 11, 2026). Benchmyrk's price, offer and shipping tests use up to four of them.
- Tests. No new tests launch. Tests already running either end before the freeze or are listed as allowed to continue.
Who can do what
The agreement is only as good as the permissions behind it. Map each person to what they're allowed to do during the freeze:
| Person | During the freeze |
|---|---|
| Client decision-maker | Approves any exception in writing |
| Agency account lead | Requests exceptions; owns client comms |
| Agency analyst | Monitors daily; can pause any test |
| Client developer | No deploys except agreed fixes |
| App vendors | No changes; told the dates in advance |
Two rules make this work:
- Anyone on the monitoring rota can stop a test, without asking first. Stopping is always safe. Asking for permission at 2 a.m. on Black Friday is not.
- Nobody can start or change anything without an approval from the named approver. And any change after approval needs a new approval.
The emergency stop
Agree in advance what "stop" means, so nobody improvises:
- Pause the test if a variant breaks something or a guardrail trips. Shoppers return to the original. For a price or offer test: a shopper never pays more than a page they could have seen. After you pause or end a test, checkout keeps honoring the test prices and offers for a few minutes, until Shopify's cached pages have refreshed, and you can't edit the test during that time.
- Turn off custom code on the store if a script is suspected.
- Republish the backup theme if a theme change is the cause.
- Turn off a discount in Shopify if an offer is misbehaving.
For each, write down who does it, how the client is told and within what time.
The comms plan
Clients worry most when they hear nothing. Agree:
- A daily note from Thursday to Monday: orders compared with the same days last week, tests still running, anything paused and why.
- An immediate message for any stop, naming what happened and what was done.
- One channel for urgent issues, with a phone number for the peak days.
Part 8 of this series covers what to say about tests during the peak; find it on the BFCM hub.
The template
Copy this into your own document for each client. Replace everything in square brackets.
(a filled-in line from the template, for an illustrative client)
Section 3: "the tests listed here, running unchanged until their end date: Collection page layout, ends Sunday, November 29." The test was launched and checked before the freeze, changes nothing at checkout and is easy to stop, so it may keep running. An offer test or a price test would not be on this list.
Mistakes to avoid
- A freeze without permissions behind it. If everyone can still launch, the agreement is a wish.
- Forgetting app vendors. A review app update on Black Friday is still a change to the storefront.
- No exceptions process. Something will need to change. Without a named approver, it changes without one.
- Making "stop" need approval. Stopping is always safe. Make it quick.
- Tests running past the freeze by accident. Give every test an end date before November 16, or list it in section 3.
Running the freeze for your own brand? Part 3 of the brand track covers it from the merchant's side; all tracks start at the BFCM hub, and the general dates are in the guide to testing before Black Friday. The term is defined in our glossary entry on code freezes.