What to freeze before BFCM, and how each change is undone
Last updated 29 August 2026
Black Friday 2026 is Friday 27 November and Cyber Monday is Monday 30 November. Shopify’s own calendar asks merchants to lock offers by 1 November, and Shopify’s production engineers describe a code freeze that runs from two weeks before Black Friday until just after Cyber Monday. A freeze is not only about stopping changes: it is the last moment to create a way back for the changes you already made. StoreVault is a versioned backup app for Shopify that keeps per-record history of products, collections, pages, metafields and themes, so the state before a bad edit stays readable after it. Below is what to freeze, when, and what the platform itself gives you to undo it.
The dates, in Shopify's words
- “Black Friday, November 27” - Shopify retail calendar and “Cyber Monday, November 30” - the same calendar.
- Offers: “lock offers by November 1” - Shopify retail calendar.
- September is the audit month: “audit their store, confirm inventory, and set up the infrastructure” - Shopify blog.
- The week before is not for new work: “avoid introducing any new features (and bugs) the week prior” - Shopify Partners blog, with a freeze “two weeks prior to Black Friday right through until just after Cyber Monday” - through the weekend.
- What a freeze means, from Shopify’s own engineering: “Only critical fixes can be deployed.” - Shopify news
The matrix: what to freeze, when, and what undoes it
| Change | Freeze by | Native way back | What that does not cover |
|---|---|---|---|
| Theme code | Two weeks before Black Friday | File-level Timeline in the code editor, plus a duplicated theme: “Duplicate your theme to create a backup copy.” - Shopify Help | Timeline is per file, not per theme: “It doesn’t restore an entire theme” - Shopify Help, and it “can’t recover deleted theme files” - cannot bring deleted files back. Assets are outside it entirely: “images, CSS, JavaScript, and fonts in the assets folder, don’t have Timeline history.” - Shopify Help |
| Checkout configuration | Two weeks before Black Friday; test on a draft first | Publishing swaps the two: “Your active configuration becomes a draft configuration.” - Shopify Help So the previous checkout is still there to publish back. | Draft slots are finite - “up to 99 draft configurations” - 99 on Plus and “up to 20 draft configurations” - 20 elsewhere. Shopify asks for the test to happen “prior to seasonal sales or BFCM” - before the season, not during it. |
| Products: deletion | Before the offer lock on 1 November | Nothing native. A versioned backup taken before the deletion is the only copy. | “Deleted products can’t be restored.” - Shopify Help This is the one row where the platform is explicit that there is no way back. |
| Products: bulk edit and CSV import | Before the offer lock on 1 November | Nothing native for the previous values. An export taken before the import is a copy of the old state, not an undo. | A sorted file is enough to lose data: “might overwrite your existing products with bad data, which can’t be recovered” - Shopify Help. Missing identity columns delete variants: “a new default variant is created and existing variants are deleted” - Shopify Help |
| Prices and discounts | Lock offers by 1 November | For ordinary edits, nothing native. The documented exception is Smart Pricing, which shows “The old price and the new price.” - old and new for tips “implemented in the last 30 days” - from the last 30 days. | We did not find first-party documentation of old/new price history for manual, bulk-editor, CSV, app or API edits. If you know of one, tell us and we will correct this row. |
| Inventory quantities | Confirm counts in September, freeze adjustments with the offer lock | Adjustment history per product or variant, for “only the last 180 days of inventory adjustment history” - the last 180 days. | It is a log to read, not a button to press, and it is one record at a time: “can’t view the inventory adjustment history for all of the variants simultaneously” - Shopify Help |
| Who changed what | Decide before the freeze, not after the incident | The store activity log, on screen. | “view-only” - View-only, it “can’t be exported” - cannot be exported, and it shows “A maximum of 250 results” - at most 250 results. |
Platform behaviour read from Shopify’s own documentation on 29 August 2026. Documentation changes; if a row here disagrees with what you see in your admin, believe your admin and write to us.
A freeze is when you create the way back
Read the fourth column again. For theme code the platform gives you a partial undo, for checkout a real one, and for products, prices and inventory it gives you a log at best. That is not a complaint about Shopify: an ecommerce platform is not a version control system, and it says so plainly where it matters most - deleted products cannot be restored.
The practical consequence is a sequencing one. The value of a backup is decided before the freeze, not during the incident, because a backup only contains what it captured while things were still fine. If you install anything in the last week of November, it starts from that day and knows nothing about the price list you had in October.
What StoreVault covers, and what it does not
Products with their variants, options, prices and metafields, collections, pages and metafields on the records we cover are written back into the store, record by record, only after a plan you approved, and each restore can be undone afterwards. Stock levels are restorable on paid plans as a physical count.
Honest boundaries, the same ones we publish everywhere else: orders and customers are archived and exportable but never written back into a store; themes are kept and download as a .zip that you upload yourself, because publishing a theme from a backup without you watching is not a risk we take; product images and other media are captured with their metadata but a restore does not re-attach the files; manual collection membership is not written back. The full list is on what backup apps can and cannot restore.
We publish the drill rather than the adjective: a live store of ours is damaged on purpose and restored, and every claim above is checked against what the store actually returned. The run is on the restore drill report.
If something breaks anyway
Freezing does not make the weekend incident-free; it makes it rarer and cheaper. When something does go wrong mid-sale, the first question is not how to restore but whether to restore at all - some classes of damage are cheaper to fix forward while the sale runs. Restore or fix forward is the decision tree for that moment, with the rollback triggers Shopify itself uses.
Choosing a backup app at the same time? The compared guide lays out what each one charges, what meters the bill, and what their own merchants write in low reviews.
A backup app covers you from the day it is installed, not from the day you need it. That is true of all of them, ours included.
StoreVault on the Shopify App Store - versioned backups of products, collections, content and themes, plus inventory levels on paid plans, with a plan shown before any restore writes.