How to schedule Black Friday sales on BigCommerce without the stress
A timeline-based BFCM playbook for BigCommerce stores: what to do at T-30, T-7, T-1, day-of, and after. Five common mistakes that cost merchants the weekend, plus the scheduling + rollback workflow that prevents all of them.
Table of contents
- T-30: catalog cleanup and segment math
- T-14: build the campaigns
- T-7: preview, verify, simulate
- T-1: go-no-go
- Day-of: the morning Friday should be boring
- T+1: rollback morning
- Five mistakes that cost the weekend
- How scheduling and rollback work under the hood
- Comparison: scheduling options for BigCommerce BFCM
- Where to go next
The worst Black Friday is the one you spend at your laptop, refreshing the BigCommerce admin, manually applying discounts at 23:55 EST and refreshing again at 11:59 PM Monday to revert them.
The second-worst is the one you spent the entire previous week building a CSV, and at 11:01 PM Thanksgiving you discover row 1,847 has a typo that priced your bestseller at $0.05.
This article is the playbook to avoid both. It is structured as a timeline (T-30, T-14, T-7, T-1, day-of, T+1) plus the five mistakes that cost merchants the weekend, and the workflow that prevents all of them.
It assumes you sell on BigCommerce and you ship at least a handful of promotions a year. If BFCM is your first sale and you have under 50 SKUs, the BigCommerce admin inline editor is enough. For everyone else, read on.
T-30: catalog cleanup and segment math
Thirty days before BFCM, before any discount math, do the unsexy work.
Audit the catalog. Pull a current export. Look at:
- Products with retail/MSRP set to 0 - these will not show a strikethrough discount, even if you cut sale price. Either set retail = current price (to create the anchor) or accept that they will look unchanged.
- Variants with null prices - confirm intentional. These inherit from the parent and should NOT get explicit prices written during the BFCM campaign.
- Products with active modifier price adjusters - flag them. Any "+15% for XL" rule must keep working after BFCM ends.
- Out-of-stock items - decide whether to discount them anyway (for waitlist conversion) or hide.
Segment your catalog. Sitewide 25% off is the easiest plan to ship and the easiest way to bleed margin. A tiered approach pays better:
- Slow movers / overstock - 40-50%. Inventory you want gone.
- Bestsellers - 15-20%. They convert anyway. Don't subsidize them more.
- New arrivals - 0-10%. Defend full price; the badge is enough.
- Bundles / collabs - bundle-specific deal. Different rule, same campaign.
You can build 4 campaigns instead of 1, each scoped to a category or brand subset. Our advanced filter lets you write the AND/OR conditions in the UI instead of writing CSV formulas. For deep-discount segments where the strikethrough matters, the MSRP-anchored sale strategy gives you the strongest visual cue.
Decide your floor and ceiling. Write down the lowest cent-override pattern you accept (.99, .49, .00). Stores switch mid-weekend and end up with mixed conventions across the catalog. Pick one. Stick to it.
T-14: build the campaigns
Two weeks out, the campaigns get built. The point of building this far ahead is to have time to test, not to deploy.
In Bulk Price Editor:
- For each catalog segment, create a new campaign with the right scope (category / brand / variant SKU pattern).
- Set the start date to Friday 00:01 in store timezone. Set the end date to Tuesday 00:01 (or whenever your "back to normal" moment is).
- Apply the percentage or fixed-amount action to the sale price field. Leave regular price untouched.
- If you want strikethrough MSRP for products that don't have one, add a second action: set retail = current price.
- Apply your chosen cent override (.99, .95) consistently.
- Save. The campaign queues. It does not fire.
Repeat for each segment. Four scheduled campaigns sitting queued is the goal state.
Tip. Name campaigns descriptively. "BFCM 2026 - slow movers 40%" beats "campaign 7". The rollback log will thank you in February when accounting asks.
T-7: preview, verify, simulate
One week out. The campaigns are built. Now you verify them.
Run the 50-product preview on each campaign. For each, scan the old → new prices. Watch for:
- Anchor anomaly - retail $1, sale $0.30 means MSRP was never set properly. Fix the source data, not the campaign.
- Variants that should be untouched - if XL variants show new explicit prices and you wanted them to inherit, your filter is wrong.
- Cent-override misfire - $43.99 turning into $32.27 means rounding is off. Add the nearest-dollar option.
Audit the calendar. Pull the dashboard view and confirm:
- All 4 (or however many) campaigns show Scheduled with the right start time.
- No conflicting campaigns overlap (e.g., a clearance you forgot to end). Our app blocks overlapping campaigns on the same scope, but check anyway.
- The store timezone in BigCommerce settings matches what you used in the campaign. If you set up the campaign while traveling and BC reverted to UTC, fix it now.
Send yourself a test. Subscribe your team email to campaign notifications so when start/end fires, you get the "campaign started" and "campaign completed" emails. Treat them as proof of execution.
T-1: go-no-go
Thursday afternoon. The Friday morning go-live is 8-16 hours away.
Final check. Open each scheduled campaign, confirm:
- Start time and timezone correct.
- End time and timezone correct.
- Scope unchanged.
- Action unchanged.
- Status: Scheduled.
Do not edit campaigns now. If a discount needs to change, decide whether the new percentage is worth the risk of a typo at the wrong hour. Often it is not. Better to add a new mini-campaign on Saturday morning than to fiddle with the scheduled one Thursday night.
Pre-write the rollback announcement. Tuesday morning, you will need to tell customers the sale is over. Draft the email and the homepage banner now, schedule for Tuesday 09:00.
Day-of: the morning Friday should be boring
If T-1 went right, Friday morning is uneventful.
00:01. Campaigns fire automatically. Email notifications land. The dashboard shows Running.
00:15. Spot-check 10 random products on the storefront. Confirm strikethrough MSRP, sale price, badges look correct.
00:30. Open Google Analytics or your tracking. Watch organic traffic and add-to-cart events. If they are flat by 02:00, you have a tracking issue, not a sales issue.
Throughout the weekend. Resist the urge to lower discounts further. Pre-committed discounts perform better in attribution than reactive ones. The data is clearer when the variable is constant.
Stuck campaign? Our app has a recovery loop that resumes from the last batch within 15 minutes. If a campaign sits at 0% for more than 30 minutes after start, send us the campaign ID. Almost always: BigCommerce API rate limits hit a transient ceiling and we backed off; the loop picks it up next pass.
T+1: rollback morning
Tuesday 00:01 (or whenever your end date is). The rollbacks fire automatically.
00:30. Spot-check 10 random products on the storefront. Original prices, no strikethrough, no sale badge. If anything looks wrong, hit Rollback now on the affected campaign to force a re-run.
Send the wrap-up email - the one you drafted at T-1.
Wait 24 hours, then run the reports. Revenue, units, AOV by segment. The segmented campaign data tells you which discounts paid off and which did not. Save the report. You will use it to build the BFCM 2027 plan.
Five mistakes that cost the weekend
After three BFCM seasons supporting BigCommerce stores, these are the failure modes we see most.
1. Building everything Thursday night
Last-minute campaigns skip preview, skip verification, skip rollback testing. They are also the campaigns with typos in the percentage field. A 25% sale entered as 2.5% bleeds revenue silently for hours.
Fix. Build at T-14 minimum. Preview at T-7. Lock at T-1.
2. Sitewide flat percentage
The path of least resistance is "everything 25% off". It also subsidizes products that would have converted at full price. Bestsellers do not need a discount as deep as overstock.
Fix. Segment by category, brand, or variant. Use 3-5 campaigns instead of 1. Apply the matching discount.
3. No rollback plan
You set a start date, you didn't set an end date. Monday night, you remember and start manually undoing. By Wednesday, you have inconsistent prices across the catalog and an accounting team asking questions.
Fix. Always set an end date on the campaign. If you want flexibility, set it 24 hours later than you actually plan. You can always end early; you cannot un-forget to end at all.
4. Breaking modifier rules
A campaign that writes explicit prices over variants under modifier adjusters breaks the adjuster math at checkout. New customers pay the wrong price for their XL/engraved/bundled selection. You discover it from a support ticket in week 2.
Fix. Use a tool that detects option rules and updates the base price only. Our app does this automatically. CSV import does not. Native inline editing does not.
5. No team alignment on the calendar
Marketing schedules an email campaign for Friday 09:00 PT. The discount campaign fires at 00:01 ET. Three hours of paid traffic land on full-price product pages. Conversion tanks.
Fix. One calendar. Everyone reads it. The BFCM scheduled-campaign list in your app dashboard is the source of truth. Marketing's email automation should be scheduled to the same moment.
How scheduling and rollback work under the hood
The mechanics, in case you want to know what happens between "save campaign" and "campaign completed":
At save time. The campaign sits in the database with status READY. A scheduled Symfony Messenger job is registered for the start date.
At start time. The job fires. Status moves to RUNNING. The app fetches your catalog in batches (200 products / 50 variants per batch), takes a snapshot of original prices, applies the new prices via BigCommerce's catalog API.
During execution. Failed updates are retried automatically (up to 15 times per item). Rate limit responses trigger exponential backoff. Stuck workers are recovered by a separate watchdog process.
At end time. A scheduled rollback job fires. Original prices are restored from the snapshot. Variants with null prices are skipped. Status moves to COMPLETED.
You can intervene at any point: pause, resume, extend the end date, force an early rollback, remove individual variants. The state machine handles all of these without losing the snapshot data.
Comparison: scheduling options for BigCommerce BFCM
| Approach | Setup time | Schedule | Rollback | Risk |
|---|---|---|---|---|
| Manual inline editing 00:01 | 2 hours | Manual | Manual | High |
| CSV import on the night | 4-8 hours | Manual | Re-import | High |
| CSV with cron / automation | 6-12 hours | Yes | DIY | Medium |
| BigCommerce promotions only | 1-2 hours | Limited | Limited | Low coverage |
| Bulk Price Editor scheduling | 30-60 min | Yes | Automatic | Low |
BigCommerce's built-in Promotions feature handles some cases (cart-level discounts, free shipping thresholds, BOGO). It does not handle catalog-level price changes with rollback - that is a different surface. For BFCM, most stores need both: promotions for cart-level dynamics, Bulk Price Editor for catalog-level price changes that revert.
Where to go next
- Install Bulk Price Editor on BigCommerce - 3-day free trial covers a full BFCM dress rehearsal.
- How to bulk edit prices in BigCommerce - the foundational tutorial if you have not run a bulk-edit campaign yet.
- BigCommerce MSRP vs sale price - the field-level strategy behind every strong BFCM anchor.
- Bulk Price Editor vs CSV import: cost-benefit - the math on time saved per campaign at your catalog size.
- Pricing page - six plans, all features included.
- BigCommerce official guide on promotions - their native promotions surface (different problem, complementary tool).
Black Friday rewards preparation. The stores that go to dinner Thursday and watch the dashboard the next morning are the ones who built their campaigns three weeks earlier.
Frequently asked questions
Can I pre-schedule a Black Friday sale in BigCommerce?
What time should my Black Friday sale go live?
How do I roll back prices after Black Friday?
Should I drop all prices by the same percentage during Black Friday?
What happens if my campaign crashes mid-Black-Friday?
Can I extend a Black Friday campaign if sales are stronger than expected?
Related reading
BigCommerce MSRP vs sale price: which should you edit, and when?
BigCommerce gives you three price fields - regular price, sale price, retail (MSRP). Which one do you actually edit during a sale? What does each one show on the storefront? When does setting MSRP help conversion, and when does it hurt? A field-by-field guide.
Read articleBulk Price Editor vs CSV import for BigCommerce: a cost-benefit analysis
BigCommerce's native CSV import is free. Bulk Price Editor costs $19.99/mo and up. When does paying for the app earn its keep? A real cost-benefit analysis with hourly-rate math, time studies on 5K and 50K-product catalogs, and the breakeven point for switching.
Read articleHow to bulk edit prices in BigCommerce in 2026 (step-by-step)
Three native BigCommerce methods for bulk price edits, what each one breaks, and the workflow that replaces all of them. Step-by-step with screenshots, edge cases, and a comparison table.
Read article