Black Friday breaks the usual workaround. Discounting a few hundred products by hand takes hours you do not have on the day, and restoring them on Tuesday takes the same hours again while the traffic is still arriving.
The practical answer is to build the whole promotion days in advance as scheduled tasks, then spend the weekend watching orders instead of editing products.
Building the promotion in advance
- Tag the products that are in the sale, so the filter is stable and reviewable.
- Snapshot the reference price: compare-at price → set the same as the price.
- Apply the discount: price → decrease by percentage, with rounding.
- Schedule the start for the moment the sale opens.
- Schedule the revert for the moment it closes — or use a second task to restore price from compare-at and clear the reference.
Build this year’s promotion in advance instead of at 6am on Friday.
You will be redirected to the Shopify app store.
Tiered discounts without chaos
- Run one task per tier: “bf-20”, “bf-30”, “bf-40” as tags, each with its own percentage.
- Exclude protected ranges by adding a “no-discount” tag and filtering it out.
- Filter on inventory so you do not promote what you cannot ship.
- Use the preview to check the count of each tier against your merchandising plan.
- Keep a task per tier rather than one task with everything — smaller tasks are easier to revert selectively.
A worked example: a three-tier weekend
- Tag products as bf-20, bf-30 or bf-40 during the week — itself a bulk task filtered by collection or margin.
- Task 1: filter tag bf-20 → compare-at from price, price −20%, round .99. Start Friday 00:00.
- Task 2 and 3: the same for bf-30 and bf-40.
- For each task set the revert time to Tuesday 00:00.
- On Tuesday check the logs; anything skipped is listed with a reason.
Rehearse it on five products
Rehearse on five products a week before the sale: build one tier, run it, and watch what the storefront does. On a paid plan, schedule it five minutes ahead with a revert ten minutes later and watch both edges.
That rehearsal catches the two things that actually go wrong: a theme that needs compare-at price to show a badge, and a filter that catches more products than you meant.
Related guides
How to schedule a sale
Give a price change a start time and a revert time so it ends by itself.
Read moreBulk discount products on Shopify
Apply a storefront discount across a range and restore prices afterwards.
Read moreSeasonal markdowns on Shopify
Run staged clearance markdowns with dates set in advance.
Read more