Free Shopify store auditSpeed, SEO and conversion leaks — no cost, no obligation.
Claim it
Thriftizer Solutions LLPShopify Select Partner
Book a Growth Audit
Shopify Oct 24, 2026 11 min read

BFCM Code Freeze on Shopify: The Last Safe Day to Touch the Theme

Black Friday is 27 November, which makes the last safe theme publish around the 12th. A dated freeze calendar for US Shopify stores: what ships in week one, what gets staged and never published, and the rollback plan for the app that breaks Friday morning.

BFCM Code Freeze on Shopify: The Last Safe Day to Touch the Theme

If you want one date: publish your last theme change on Wednesday 12 November. Black Friday falls on 27 November this year, Cyber Monday on the 30th, and most US stores open early access somewhere around the 20th. Count backwards and the freeze window is not December-adjacent at all. It's the first half of November. The rest of any honest BFCM Shopify readiness checklist is just the sequencing: what ships in week one, what gets built but never published, and what you do at 7am Friday when an app starts throwing errors on mobile.

We run this calendar with US clients every year. The dates shift by a day or two depending on when the store's early-access window opens, but the shape holds.

Why 12 November and not 20 November

Two reasons. The first is that bugs do not surface on deploy day. They surface when real traffic hits an edge case — a customer in Honolulu, a cart with a gift card and a stacked discount, an iPhone running an older Safari. You need a week of genuine production traffic over a published theme before you can call it stable. Publish on the 12th, and you get the 13th through the 19th to find what your QA missed.

The second reason is people. Your developer takes Thanksgiving week off, or should. Shopify Support queues get long. The app vendor whose widget broke is in a different timezone and running a skeleton crew. A fix that takes 40 minutes in October takes most of a day on 24 November.

Here's the arithmetic that makes the freeze easy to justify to whoever wants one more hero banner. A store doing $180,000 on Black Friday averages $125 a minute across the day ($180,000 ÷ 1,440). Peak hour runs about three times average, so $375 a minute. A broken deploy that takes 22 minutes to identify and roll back costs roughly $8,250. That is more than most stores spend on their entire theme build.

Week of 3 November: everything structural ships now

This is the last week for anything that touches how the page is built. After this, you are editing content, not code.

  • Template changes — new collection layouts, PDP section reorders, cart drawer logic.
  • Any app that injects script into the storefront. Installs, removals, plan upgrades.
  • Speed work. Image format conversions, lazy-load rules, deferring third-party tags, pruning dead Liquid from previous campaigns. If your LCP on a throttled mobile connection is above 2.5 seconds, this is the week to get it under control, not the 20th. We usually find the biggest single win is an unused review widget or a chat script loading on every page. Our Shopify speed optimization work in November is mostly deletion, and a tool like SwiftStore is useful here because it keeps scoring the store after you stop looking at it.
  • Checkout branding, Shop Pay configuration, Apple Pay and PayPal express button placement.
  • Shipping zones and rate tables, including whatever you're doing about free-shipping thresholds. Test Alaska, Hawaii, Puerto Rico, PO boxes and APO addresses. Rate tables fail quietly at the edges.
  • Sales tax. If you've crossed an economic nexus threshold in a new state, register now or register in December. Do not change tax configuration mid-peak, whether you're on Shopify Tax or Avalara. A misconfigured nexus on 27 November is a liability you'll be unwinding in March.

If you're still finishing checkout extensibility work or a B2B build on Plus, that's not a November project. Park it to January. We say this to someone every year and about half of them listen.

Week of 10 November: the last publish, then the lights go out

Monday and Tuesday are for fixes found in the previous week's QA. Wednesday the 12th you publish. Thursday and Friday you watch — error logs, Shopify's own checkout analytics, and your session recording tool if you run one, filtered to mobile Safari and mobile Chrome.

From Thursday 13 November, the published theme is locked. Nobody with theme-editing permissions touches it without a named approver signing off, and that approver should be someone who will be personally inconvenienced if the site goes down.

Revoke theme access for anyone who doesn't need it. The most common cause of a Black Friday theme incident we've seen is not a deployment. It's a well-meaning marketer in the theme editor at 11pm changing a banner and saving over a section they didn't realise was shared.

What still moves after the freeze

A freeze on code is not a freeze on the store. These should all be editable right through Cyber Monday without anyone opening a .liquid file:

  • Banner copy, countdown end times and promo imagery — driven by theme settings or metafields, never hardcoded.
  • Discount codes and automatic discounts.
  • Collection contents and sort order.
  • Shipping cutoff dates for UPS, FedEx and USPS ground. Put these in a metaobject or a settings field in week one, so updating them on the 29th is a text edit by anyone on the team.
  • Email and SMS. Klaviyo, Omnisend, Postscript — none of it needs a theme publish.

If your Black Friday banner requires a developer, that's a design flaw you're discovering at the worst possible time. Build the switches in the first week of November.

The staging theme workflow that makes a freeze survivable

A freeze without a staging process just means work stops. That's not realistic — something will need to change on the 24th. The point is to separate building from publishing.

How we set it up in a Shopify theme library before November:

  1. Live — the published theme. Date-stamped name: Live — 2025-11-12, so anyone glancing at the admin knows how old it is.
  2. Rollback — an exact duplicate of whatever was live before the 12 November publish. Never edited. This is the parachute.
  3. Staging — where November work happens. Shared via preview link, tested, and then left alone. It does not get published unless a decision is made at the top.
  4. Hotfix — created on demand from a duplicate of Live, one change only, published, then archived.

Shopify keeps version history on the published theme, and it will save you from a bad section edit. It's less helpful when an app has written changes into your theme files and you need to get back to a known-good whole. The duplicate is what you actually want at 7am on a Friday.

If you're working with Git and a CI pipeline, keep the same discipline: tag the commit that goes live on the 12th, and make sure one person can deploy that tag without needing anyone else awake.

App installs freeze before the theme does

Stop installing apps on 7 November. Earlier than the theme freeze, deliberately.

Apps are the most common source of peak-day failure, and they fail in ways you don't control. A vendor pushes an update to their embed block on the 26th. Their CDN degrades. Their rate limit kicks in because your traffic is eight times normal and their pricing tier assumed it wouldn't be. You have no rollback for any of that.

Three things to do in the first week of November:

  • Open the theme code and search for leftovers from apps you removed months ago. Orphaned snippets and script tags are everywhere, and they still load.
  • Check app embed toggles in theme settings. Disabled apps sometimes leave the embed on.
  • For every app that's on the critical path — bundles, subscriptions, upsell, inventory sync — find out their peak-season support hours and the actual escalation route. An email address that's answered in 24 hours is not a support plan for 27 November.

Uninstalling an app in late November is as risky as installing one. Both touch the theme. If an app is underperforming, live with it until December.

How to test the store before BFCM

You cannot load test Shopify's checkout, and you shouldn't try. Shopify handles the infrastructure, and that's genuinely one of the better reasons to be on the platform. What you test is your own configuration and everything you bolted on.

The list we work through, usually on the 13th and 14th:

  • Full purchase, five payment paths. Shop Pay, Apple Pay, Google Pay, PayPal, and a plain card. On a real phone, not a desktop emulator. Shop Pay Installments too if you offer it.
  • Discount combinations. The one that breaks is always the stacked case: a sitewide automatic discount plus a code plus a gift card plus free shipping over threshold. Try it with a cart just above and just below the threshold.
  • Inventory edge cases. Last unit in cart, two sessions racing for it, a sold-out variant on a PDP with a pre-selected swatch.
  • Tax across states. Place draft orders to addresses in three or four states where you have nexus, including one with origin-based sourcing, and confirm the rates look right.
  • Search and filters under load of traffic you haven't seen. Collection pages with 400+ products behave differently when half your visitors are cold and filtering rather than browsing.
  • Accessibility. Keyboard-navigate your Black Friday popup. If a user can tab into it and not tab out, that's a focus trap, and serial ADA demand letters in the US target exactly this kind of seasonal overlay. Also check colour contrast on the sale badge — red-on-black sale pricing fails WCAG contrast more often than anything else we audit.
  • Core Web Vitals on a throttled connection. Not the Lighthouse score in your office on fibre. Simulate 4G.
  • Order flow downstream. Push ten test orders all the way through to your 3PL or ERP. A sync that handles 200 orders a day may not handle 2,000.

Write down who ran each test and when. Not for ceremony — because on the 28th you'll need to know whether something was tested before the last publish or after.

The rollback plan for the app that breaks on Friday morning

Something will break. Plan the response, not the prevention.

Write a one-page runbook and put it somewhere everyone can reach from a phone. It needs four things:

  1. Who decides. One named person with authority to publish the Rollback theme. Not a committee. Give them a phone number for a developer who's agreed to be reachable.
  2. The decision rule. Ours is simple: if checkout is affected, roll back immediately and diagnose afterwards. If it's cosmetic, log it and leave it. The temptation to fix a misaligned badge at peak traffic has caused more damage than the badge ever would.
  3. The kill switches. For each storefront app, know whether you can disable it from theme settings (app embed toggle) rather than uninstalling. Toggling off an embed takes ten seconds and doesn't touch theme code. Uninstalling at peak can strip files you need. Document which apps have a clean toggle and which don't — that list is worth building on 5 November while you have time.
  4. The fallback content. If your upsell widget dies, what shows in its place? Usually nothing, and nothing is fine. Make sure the layout doesn't collapse around the gap.

The sequence when something goes wrong: toggle the app off, confirm checkout works, then decide whether a full theme rollback is needed. Full rollback is a two-click publish of a theme you duplicated two weeks earlier. It should take under three minutes, and the person doing it should have practised once, in October, on a development store.

Cyber Monday and the days nobody plans for

Site stability on Cyber Monday is mostly about what accumulated over the weekend. Four days of traffic means four days of app queues, webhook backlogs and fulfilment syncs that may be further behind than anyone's checked. Monday morning, before the US East Coast wakes up, look at three things: unfulfilled order count versus what your 3PL has acknowledged, any app showing a sync error, and your inventory levels against what's still listed as available.

Overselling on Cyber Monday is more common than going down on Black Friday. If you're selling the same stock on Amazon or TikTok Shop, the sync lag is where it bites — a 15-minute gap is harmless in October and expensive on the 30th.

The freeze lifts on 2 December, not 1 December. Give yourself a day where the only thing happening is fulfilment.

Questions we get in November

We're launching a new theme. Can we still make it? If it isn't on staging and fully QA'd by 5 November, no. Launch it in January. A new theme published on 18 November is a bet that nothing you haven't tested will matter, and the house edge on that bet is terrible.

What if we find a real bug on 25 November? Hotfix theme, one change, publish, keep the Rollback theme untouched. Never fix two things in one hotfix — if it goes wrong you won't know which one did it.

Does the freeze apply to Shopify Plus stores? More so, not less. Plus stores tend to have Functions, checkout UI extensions and custom apps in the mix, and each of those is a dependency that can fail independently of the theme. Freeze Functions and checkout extensions on the same 7 November date as apps.

Can we run paid traffic to a page we built after the freeze? Yes, if it's a page built from existing sections and published as content rather than code. That's the whole reason to separate the two.

If you're reading this in late November

Then skip the calendar and do three things today. Duplicate your published theme and name it as the rollback. Write down who can publish it and how to reach them. Walk one purchase through on a phone, with a discount code, to an address in a state you don't ship to often.

That's an hour of work and it covers most of the downside. If you want a second pair of eyes on the theme and the app stack before the freeze, our team runs a free store audit, and we work with US merchants through the peak every year. Book it before the 10th or it's a January conversation.

Next post

Ready to scale your D2C brand profitably?

Let's build a growth engine that drives more traffic, more conversions and more profit.

Book a Growth Audit
📅 Free Audit💬 WhatsApp