← All guides

How to schedule a Shopify sale that ends itself (automatic price revert)

The hardest part of a sale isn't starting it - it's ending it. Plenty of merchants have left a weekend promotion running into Tuesday, or stayed up until midnight to put prices back. This guide covers the ways to run a timed sale in Shopify, where each one leaves you doing the revert by hand, and how to schedule a price change that reverts itself.

Option 1: Change prices manually, then change them back

The most direct approach: drop your prices when the sale starts and raise them again when it ends.

The catch: you're on the hook for two precisely-timed edits, often at awkward hours, and the second one is the one everyone forgets. Forget it and you keep discounting past the deadline - a direct hit to margin. Do it by hand across hundreds of products and you're also re-typing every original price from memory.

Option 2: Shopify discount codes or automatic discounts

Shopify's built-in discounts let you set a start and end date, which is genuinely useful - the discount switches off on schedule.

The limitation: a discount is applied at checkout, not shown as a struck-through “sale price” on the product the way a real price change is. If you want shoppers to see the lower price (and a compare-at anchor) on the product page and in collections, you're back to editing prices - and back to reverting them yourself.

Option 3: Schedule the price change with automatic revert

This is where BulkSheet is built for the job: on any paid plan you can schedule a bulk price change with a start time and an auto-revert time.

  1. Filter to the products on sale and select them (or use Edit filtered).
  2. Choose a price template - e.g. 20% off, with optional .99 or whole-number rounding - and Preview changes.
  3. On the preview step, tick Schedule for later instead of applying now.
  4. Pick a run time (when the sale starts) and an auto-revert time (when it ends).

From there it's hands-off. The price change runs in the background at your chosen time, and the revert restores the previous prices automatically when the sale ends - no midnight edit, nothing to forget. Both legs are recorded in Edit History, so you can always see exactly what changed and when. Because the original prices are captured up front, the revert puts them back exactly; you can read more about that safety net on the your catalog is safe page.

Scheduling a price change that isn't a sale

Not every scheduled price change is a promotion. A supplier increase lands on the first of the month, a currency shift needs passing on, a seasonal line gets repriced when the season turns. The mechanism is the same one, minus the revert: pick the products, apply a price template - a percentage rise, or a new compare-at anchor derived from the current price, with optional .99 or whole-number rounding - preview which rows it touches, and set a run time.

Leave the auto-revert time empty and the new prices simply stay. That is the difference between a scheduled sale and a scheduled price update: one leg or two. Both land in Edit History either way, so you have a record of what changed and when, and the same undo path if the new prices turn out wrong.

This matters for planning as much as for convenience. A price rise scheduled for 2am on the 1st does not need someone awake at 2am, and it does not need to be remembered on the day - which is the failure mode that leaves a catalog priced against last quarter's costs.

Good to know

  • Scheduled edits run server-side, so they fire whether or not your browser is open.
  • Each scheduled edit can target up to 5,000 products. Edits up to 500 products start right at the chosen time; larger ones run through Shopify's bulk pipeline and may start a few minutes late if another bulk operation is already running for your shop.
  • Starter supports up to 3 pending scheduled edits, Growth up to 5; Pro is unlimited.

Frequently asked questions

Can Shopify automatically change prices back after a sale?

Not for bulk price edits on its own - Shopify's native bulk editor has no scheduling or revert. Automatic discounts switch off on schedule, but they don't show a struck-through price. Scheduling a price change with an auto-revert time gives you both the visible sale price and the automatic return to normal.

Can I schedule a price increase, not just a sale?

Yes. Scheduling a price rise is the same flow with one leg instead of two: pick the products, apply a price template (a percentage rise, or a new compare-at anchor derived from the current price, with optional .99 rounding), preview the affected rows, and set a run time. Leave the auto-revert time empty and the new prices stay. Both the scheduled run and any revert appear in Edit History.

Will a scheduled sale run if my browser is closed?

Yes. Scheduled edits execute in the background on the server at the time you set, so you don't need to be online.

Which plan do I need to schedule sales?

Scheduling with auto-revert is available on all paid plans - Starter ($9.99/mo, up to 3 pending), Growth ($29/mo, up to 5), and Pro ($79/mo, unlimited) - each with a 7-day free trial on your first upgrade from Free. See the pricing page for the full comparison.

Prefer to change prices right now instead of on a schedule? The Shopify bulk price editor covers both, or see how to bulk edit Shopify prices without CSV, or where the native bulk editor runs out of road. Ready to set up your next sale? Start a free 7-day trial of Growth - install BulkSheet in a couple of minutes.

Stop round-tripping CSVs. Edit live.

Install BulkSheet on your Shopify store in under a minute. Free forever - 100 product saves a day.

Install on Shopify