How to run a Black Friday bulk sale on Shopify without breaking your prices
A step-by-step playbook for storewide and tiered Black Friday sales on Shopify: choosing the mechanism, previewing every variant, avoiding compounding discounts, scheduling the end, and restoring prices on Monday.
By Beacon Wave Studio · · 8 min read
Black Friday is the one weekend where a pricing mistake costs real money in both directions: a discount that compounds to 60% sells your stock at a loss, and a sale that never switches off on Monday keeps doing so for days. This is the checklist we use ourselves. It works with any tool, and we note where SafeSale does a step for you.
1. Decide how the discount is applied before you decide how much
Shopify gives you two fundamentally different ways to put products on sale:
- Automatic discounts (Shopify guide) take the money off in the cart and at checkout. Your stored prices are never edited, the discount has a start and end date that Shopify enforces, and there is nothing to undo afterwards. The trade-off: the product page shows the regular price, so shoppers only see the saving once the item is in the cart unless your theme or an app shows a badge.
- Price rewrites change each variant’s price and put the old price in the compare-at field, which most themes render as a crossed-out price (how compare-at works). Great for conversion, but every one of those edits has to be reversed later, and that is where stuck and compounded prices come from.
Our recommendation: run the storewide sale as an automatic discount, and use price rewrites only on the hero products where the crossed-out price sells, with a tool that snapshots originals first. If you use only one method, use automatic discounts. Remember that Shopify allows a limited number of active automatic discounts per store (25 at the time of writing, including ones created by apps), so count your existing ones before the weekend.
2. Write the rules per tier, not per product
A typical Black Friday setup: 20% off the whole catalogue, 30% off last season, 50% off a clearance collection, and a handful of fixed-price doorbusters. Write these down as a table of target, rule, priority before you touch anything. Two things to settle in that table:
- Overlaps. A product tagged “clearance” that also lives in “last season” must get exactly one rule. Decide the rule that wins and make sure your tool applies one discount per variant instead of stacking them. Stacking two product discounts on the same line is a Shopify Plus capability anyway (combining discounts), and it is almost never what you meant.
- Variants. Rules apply per variant. If size XL is the only size left and it should be 40% off while the others are 25%, that is a per-variant override, not a product rule. Tools that treat a product as a single price are the ones that discount “all of our variants 25%” when you asked for a mix.
In SafeSale a sale has one target and one rule, and the preview lets you override individual variants; a variant can only be in one price-rewrite sale at a time, so overlaps are rejected up front instead of layered.
3. Preview every variant and read the warnings
Before anything is written, you want a table with one row per variant: current price, current compare-at, new price, new compare-at, and the effective percentage off. Spot-check three rows by hand. Then look for these red flags:
- A compare-at price is already set. That variant is already on sale. A percentage applied to its current price compounds. The right base is the original price, and the tool should say which one it is using.
- Effective discount above your pain threshold. Rounding to .99 on a cheap item, or a fixed amount off a low-priced variant, can turn “$10 off” into 80% off. Set a threshold (we default to 50%) that requires a deliberate confirmation, and a hard cap (we default to 90%) that can never be exceeded.
- Multi-currency price lists. If you use Shopify Markets with fixed prices per market, a base-price rewrite does not change those fixed prices. Either discount those markets separately or use an automatic discount, which applies to whatever price the customer sees.
SafeSale’s preview shows all of this per variant and refuses to start a sale above the threshold until you type the sale name.
4. Schedule the start and, more importantly, the end
Set both times in your store’s timezone and give the end a specific minute, not “Monday”. For automatic discounts Shopify enforces the end time itself. For price rewrites the end is a job your tool has to run, and it will run against a busy API on the busiest weekend of the year, so it must retry and it must tell you if it fails. Ask two questions of any tool: what happens if the revert fails at 11:59 on Monday, and how will I know?
Also schedule the start a few minutes before your first e-mail goes out. Bulk price writes are not instant on a large catalogue; the preview tells you how many variants are involved.
5. Keep the original prices somewhere you control
Export your products to CSV on the Wednesday before the sale (how to export). That file is a complete record of every price and compare-at. If anything goes wrong with any tool, re-importing the price columns puts everything back. SafeSale also takes an immutable snapshot of every variant before a price-rewrite sale starts and lets you download it in Shopify’s import format, but a manual export is a good habit regardless.
6. During the sale: do not edit prices by hand
If you fix a typo in a variant price while a rewrite sale is live, the revert job later has to choose between your edit and the snapshot. SafeSale flags these as “external change” in the audit log and still restores the snapshot, so you re-apply the edit afterwards. Other tools may silently overwrite one or the other. Either way, batch your manual edits for after the restore.
7. Monday: verify the restore, then tidy up
- Check that every sale reads “Ended” and that the restored count equals the applied count.
- Open two or three products from each tier and compare price and compare-at with your Wednesday CSV.
- Delete or archive the discounts you no longer need on the Discounts page.
- Only now uninstall any tool you installed just for the weekend, if you want to.
If something is still wrong, our guide to fixing sale prices that stayed after a sale or uninstall walks through the recovery options.