Guides

How to schedule a Shopify sale that ends itself (and puts prices back)

Four ways to run a timed sale on Shopify — automatic discounts, compare-at prices, Launchpad, or a scheduled edit with a verified revert — and which fits.

Updated September 15, 2026 · Verified against Shopify's help documentation on that date.

You want three things from a sale: the sale price shows, the old price shows crossed out next to it, and on the morning it ends the prices go back on their own. Shopify gives you the first one easily, the second one with some work, and the third one only on its most expensive plan. This guide walks the four honest options, in order of how little they ask of you, and says plainly where each one stops.

First, decide what "on sale" needs to look like

Two different mechanisms produce two different customer experiences, and most of the confusion in the community threads comes from mixing them up.

If "customers see the deal on the product page" matters to you, you are in compare-at territory, and compare-at is where the ending gets hard.

Option 1: an automatic discount with an end date

The cleanest native option, and enough for a lot of stores.

  1. In Shopify admin go to Discounts and click Create discount.
  2. Choose Amount off products (or Amount off orders).
  3. Under Method, select Automatic discount.
  4. Under Applies to, pick Specific collections or Specific products.
  5. In Active dates, set the start date and time, then click Set end date and set when it ends. The times are in the timezone shown in your admin.

Where it suffices. Storewide or collection-wide percentages, "buy X get Y", free shipping weekends. It ends itself, nothing is written to your products, there is nothing to revert.

Where it runs out.

Option 2: change compare-at prices yourself, and change them back yourself

This is what most non-Plus stores actually do for BFCM, and it works right up until the ending.

Setting the sale. From Products, select the products and click Bulk edit. Click Columns and add Compare-at price and Price if they aren't showing. Type the values, then click Save. (For a percentage across many products you do the arithmetic yourself, or use a spreadsheet.) The CSV route is the same idea at scale: Products → Export, edit the Price and Compare-at price columns, then Products → Import with Overwrite products with matching handles checked.

Where it suffices. A small set of products, a sale you are awake for, and a calendar reminder you trust.

Where it runs out, and this is the whole reason this page exists.

Option 3: Launchpad (Shopify Plus only)

Launchpad is Shopify's own scheduler for sales events, and it does the right thing: an event can change product prices at the start, and Shopify's own docs say that after the event ends, "your prices change back to their pre-sale values." It sets the compare-at price to the regular price during the event, so the strikethrough shows. Discount types are a percentage, a fixed amount off, or a new unit price.

The catch is one line in the docs: "The Launchpad app is available only to stores on the Shopify Plus plan." If you are on Basic, Grow, or Advanced, this option doesn't exist for you.

A related dead end: Shopify Flow is free on every plan and has a Scheduled time trigger, so it looks like it should be able to do this. It can't. Flow has no built-in action that sets a variant's price; the workarounds in the community forum go through raw Admin API requests, which is developer territory.

Option 4: a scheduled edit with a verified revert

This is where an app earns its place, and it is what VerifiedBulk was built around. The shape is: schedule the price change and the revert together, snapshot the real prices at the moment the sale starts, restore from that snapshot at the end, and then re-read every product to prove it.

Schedulestart + revert times Sale startssnapshot · edit · verify · receipt Sale endsrestore · verify · receipt changed during the sale → flagged, never overwritten

How it works, step by step.

  1. Filter the products the sale applies to: a collection, a tag, a vendor, a type, a price range. The live count tells you how many match right now.
  2. Define the edit: decrease price by a percent or an amount, or set a price. The preview lists every variant with its current and new price before anything is scheduled.
  3. Schedule the start time and the auto-revert time, in your store's timezone.
  4. At the start, the app snapshots each variant's real current price, writes the sale price, re-reads every variant from Shopify, and emails you a receipt listing what was verified.
  5. At the end, it restores each item to its snapshot value, re-reads everything again, and emails the second receipt.

Two behaviors worth knowing before you rely on it.

Where it runs out. It is an app, so it costs a plan (there is a free tier capped by products per edit). And it edits real prices, which is the point, but it means the product page shows the sale price to everyone, not just to customers who meet a discount condition.

Schedule a verified sale with VerifiedBulk

The BFCM checklist

Prices are only one half of a safe bulk workflow; the other half is bulk editing prices without breaking things, and the worst case is covered in what's recoverable after a delete.

Frequently asked

Does an automatic discount show the crossed-out price on my product page?
No. Shopify applies automatic discounts in the cart and at checkout. The product page shows the regular price unless your theme has been customized to preview the discount. A strikethrough on the product page comes from the compare-at price, which a discount doesn't touch.
Can Shopify schedule a compare-at price change natively?
Not on Basic, Grow, or Advanced. Launchpad does it, but only on Shopify Plus. Shopify Flow has a scheduled trigger but no action that sets a variant's price. Everything else is a person, a CSV, or an app.
What if I edit a price by hand during the sale?
With a manual or CSV revert, your hand edit gets overwritten at the end. With a conflict-aware revert, that item is flagged instead of restored, and you decide. Either way, note what you changed so the end of the sale isn't a surprise.
What timezone do schedules use?
Shopify discounts use the timezone shown in your admin. VerifiedBulk schedules are entered and displayed in your store's timezone too. Daylight-saving changes are handled, but if a sale straddles the switch, check the revert time once more.
Can I end a sale early?
Automatic discounts: edit the end date. Launchpad: stop the event from its dashboard. Scheduled edits: cancel the pending schedule or run the revert as a normal undo from the job's report.