Shopify Rollouts vs a sale app: scheduling a discount
Shopify Rollouts can now switch a discount on and off on a schedule, and even A/B test it. What that covers, what it leaves to a sale app, and how to run both.
By Beacon Wave Studio · · 7 min read
Until this year, the only way to make a discount appear and disappear on a schedule in Shopify was the start and end date on the discount itself, or an app that flipped it for you. Rollouts changes that. The same feature that schedules a Black Friday theme can now carry a discount with it, switch it on for the duration, and switch it off again when the rollout ends. It can also show the discount to half your visitors and tell you whether it paid for itself.
That raises a fair question for anyone paying for a sale app: do you still need one? The honest answer is “for some sales, no”. This post goes through what a rollout does with a discount, where it stops, and how we have set SafeSale up so the two do not fight.
What Rollouts is, in one paragraph
Shopify describes a rollout as a scheduled set of changes to your main theme, your checkout and customer accounts pages, or both, which you can apply immediately or at a specific time, and either keep or revert when the rollout ends. It lives under Markets > Rollouts in the admin, is available from the Basic plan up, and comes in two flavours: a launch, which applies the changes to everyone who qualifies, and an experiment, which splits traffic between a treatment and a control. Market-specific targeting needs Advanced or Plus. In September 2026 Shopify redesigned the setup so one rollout can bundle theme, checkout and account changes together and warn you about conflicting settings up front.
Where discounts come in
Shopify’s Discounts documentation now says you can “use a rollout to schedule when a discount is activated or deactivated, or to test a discount against the discounts that your store offers already”. The developer side spells out the mechanics: a rollout treatment can include a change that makes a discount available to the buyers the treatment serves, regardless of the discount’s own start date, end date or status. The reverse change removes it. Apps can read all of this through the new Rollouts queries and webhooks so they can see which discounts are being switched on by a rollout and when.
In practice that means a workflow like this, with no app involved:
- Create the discount as usual on the Discounts page, for example an automatic 20% off a collection. Leave it inactive or set its dates wide.
- Create a rollout, pick the theme changes you want for the event (a sale banner, a different hero), and add the discount to the treatment.
- Set the start and end time. Choose “revert when it ends”.
- Optionally make it an experiment and send 50% of traffic to the treatment, then read the conversion and revenue comparison when it finishes.
For a weekend promotion on a collection where you are happy with how your theme already displays automatic discounts, that is a complete solution and it is free.
Three things a rollout does not do
1. It does not show the sale on the product page
A rollout switches discounts on and off. It does not write anything to the price or compare-at price of a variant. Whether a shopper sees the reduced price while browsing depends entirely on your theme’s support for automatic discounts; in many themes the first place the discount appears is the cart. If you want a struck-through original price on collection and product pages, in Google Shopping feeds and on POS receipts, something still has to rewrite prices, and that something has to put them back afterwards. We wrote about the trade-off in automatic discount vs compare-at price rewrite.
2. It does not check whether the discount makes sense
The rollout will happily activate a 30% discount on a collection that already has a 25% automatic discount running, or on products whose compare-at price is already lower than the sale price would imply. Shopify resolves overlapping discounts by applying the best one the customer qualifies for, so you will not double-discount by accident, but you can very easily run a promotion that discounts less than you announced, or more than your margin allows on a handful of variants. A rollout has no per-variant preview; the discount is either in the treatment or it is not.
3. The Discounts page stops telling the truth
This is the one that will catch staff out. Because a rollout activates a discount regardless of its own status, a discount can be live for every visitor while its row on the Discounts page says Scheduled or Expired. During an experiment it is live for some visitors and not others. If a customer phones to ask why their colleague got 20% off and they did not, the answer is in Markets > Rollouts, not where your support team will look first.
Where a sale app still earns its place
We would put it like this. A rollout is good at timing and measuring a discount you already understand. A sale app is good at building the sale safely and showing it everywhere.
- Preview before anything goes live. SafeSale shows the exact before-and-after price of every variant in the sale, flags anything that would be discounted twice, and rejects a price-rewrite sale that overlaps another one on the same variants instead of stacking them. See how to catch double-discounted variants before you publish.
- Strike-through pricing with a safety net. If you choose the price-rewrite mode, SafeSale snapshots every original price first, computes the sale from the snapshot so it cannot compound, and restores the snapshot with a retrying job at the end. Rollouts has nothing comparable because it never touches prices.
- Badges and countdowns without theme edits. The theme app extension adds a sale badge and an optional countdown that read the sale’s real end time, so you do not need a second theme version just to announce the event.
- A plan for the clock. Both tools schedule in your store’s time zone, and both will move a “midnight” start by an hour when daylight saving changes under it. Our guide to scheduling a sale across a time-zone change applies to rollouts just as much.
Running both without them fighting
You do not have to choose. Here is how we would combine them for a typical November.
- Use a rollout for the look of the event. Schedule the BFCM theme changes and the checkout banner as a rollout with automatic revert. That is what Rollouts was built for and it does it better than duplicating a theme.
- Use SafeSale for the sale itself. Create the sale in SafeSale with the same start and end time, review the per-variant preview, and let it run as an automatic discount (or a price rewrite if you need the strike-through). Keep that discount out of the rollout treatment so there is one owner of the price.
- Use a rollout experiment for a discount you are unsure about. Want to know if free shipping over $75 beats 10% off? Create both as Shopify discounts, put each in a treatment, and let the experiment run for a week before the big event. Then build the winner into the real sale.
- Know what stacks. SafeSale creates its automatic discounts so that product discounts do not combine with other product discounts, while order and shipping discounts can. If your rollout adds a free-shipping discount, it will combine with a SafeSale product sale; if it adds another product discount, Shopify applies the better of the two rather than both.
A checklist before the rollout starts
- Open Markets > Rollouts and list every discount included in any scheduled or running treatment. Compare it with the sales planned in your sale app.
- For each discount in a rollout, check its combination settings on the Discounts page. Decide deliberately whether it should stack with anything else.
- Load a product from the discounted collection in an incognito window after the rollout starts. If the price only changes in the cart and you wanted it on the product page, that is your signal to move the sale into an app that handles compare-at prices.
- Tell support where to look. A one-line note that “discounts can be live from a rollout even if the Discounts page says Scheduled” will save someone an afternoon.
Rollouts is a genuinely useful addition and we expect to recommend it often for the theme side of promotions. For the pricing side, the questions that mattered before it existed still matter: can you see every price before it changes, can you show the sale where shoppers actually look, and can you be certain every price is back to normal afterwards. That is what SafeSale is for.
Frequently asked questions
Can Shopify Rollouts schedule a discount without an app?
Yes. A rollout can activate a discount at a set time and deactivate it when the rollout ends, independently of the start and end dates on the discount itself. It works for automatic discounts and codes you have already created on the Discounts page.
Does a rollout change my product prices or compare-at prices?
No. A rollout switches discounts, themes, catalogs and checkout configurations on and off. It never edits the price or compare-at field on a variant, so it cannot show a struck-through original price on its own.
Can I A/B test a sale price with SafeSale?
Not directly. SafeSale applies a sale to everyone, either as an automatic discount or as a price rewrite. If you want to show a discount to only a share of visitors and measure the lift, use a rollout experiment on a discount you created in Shopify.
Will a rollout discount stack with a SafeSale sale?
SafeSale creates its automatic discounts with product discounts set not to combine, so a second product discount added by a rollout will not stack on top of it; Shopify applies the better one. Order and shipping discounts can still combine.