The sale is over, but your products still show the sale price, or the old price is still crossed out. This guide covers why that happens on Shopify, how to get your original prices back, and how to make sure the next sale puts everything back on its own.
First, which kind of sale did you run?
- A Shopify discount with an end date. The product prices were never changed, so nothing needs reverting. If the discount still applies, open Discounts in your admin, check its active dates, and check the time zone: Shopify uses the time zone selected in your admin for the start and end time (Shopify Help Center). A discount with no end date never expires.
- Edited prices. If the sale worked by changing each product's Price and Compare-at price, those values stay until something changes them back. That is the case this guide is about.
Why sale prices stay in place
- Nothing was ever scheduled to end it. Shopify's scheduled discounts apply at checkout and never touch product prices, and as far as we can find there is no built-in way to schedule a base-price change with an automatic revert. If the prices were edited by hand or by CSV, the end is a manual job.
- A CSV restore that missed something. A Shopify Community post on this problem notes that restoring from the pre-sale file risks overwriting new variants created during the sale.
- A Flow workflow with no memory. The same post notes a scheduled Shopify Flow workflow will not remember the original prices, so you need a second workflow to revert and somewhere to store them (Shopify Community, 20 September 2026).
- A price was edited mid-sale. If a supplier price or a hand edit changed during the sale, a blanket "go back to the old price" no longer knows which value is right. Merchants describe this on Shopify Community, for example in The part of a sale nobody plans for: getting 400 prices back.
- A leftover compare-at price. Shopify only shows a strikethrough when the compare-at price is higher than the price. If the price is restored but the compare-at value is left behind, the old crossed-out price stays on the storefront.
Get your original prices back now
- Stop it running. End or deactivate any live discount or app schedule so nothing re-applies the sale.
- Find the originals. Look for a products export from before the sale (Shopify's export has Variant Price and Variant Compare At Price columns), your supplier or ERP price list, or an app's own record of what it changed.
- Restore in bulk, on one product first. Re-import a CSV containing the original Variant Price and Variant Compare At Price values, choosing the option to overwrite existing products, and check one product on the storefront before doing the rest.
- Clear leftover compare-at values. Set the compare-at price back to what it was before the sale, which is usually empty, so no strikethrough remains.
- Spot-check. Open a handful of product pages, including a product with several variants.
Stop it happening next time
The fix is to record the original prices before anything changes, and to have the end time restore exactly those. That is what SalePilot does:
- Before it changes a price, it records the variant's original price and your original compare-at price.
- At the scheduled end time it restores those exact values on the server, whether or not you are logged in (usually within about a minute of the end time).
- If you edited a price yourself mid-sale, it leaves your edit alone and lists it in the revert report as "Skipped (diverged)" rather than overwriting it. Anything it cannot confirm is marked Flagged or Needs review, with the product listed so you can check it in Shopify admin.
- The revert report shows Product, Was, Now and Status for every variant, so you can see what went back. See reading the revert report and Flagged items and manual review.
What SalePilot cannot do: it can only restore prices it recorded itself. It cannot recover prices after a sale run by another app or by hand, because it never saw the originals. For those, use the steps above.
Common questions
Why is the compare-at price still showing after my sale ended?
The compare-at field was not cleared or restored when the price went back. Shopify shows a strikethrough whenever the compare-at price is higher than the price, so a leftover value keeps the old crossed-out price visible until you set it back to its pre-sale value.
Will Shopify put prices back automatically after a scheduled discount ends?
A scheduled Shopify discount stops applying at its end time, and product prices were never changed by it. If the sale was done by editing product prices, Shopify does not revert them for you; something else has to.
Can SalePilot fix prices left over from a sale run by another app?
No. SalePilot restores the original prices it recorded before its own sales. It has no record of prices changed by another tool, so those need restoring from your own backup or export.
What if I change a price during a SalePilot sale?
SalePilot does not overwrite it. At the end of the sale it sees that the live price no longer matches what it applied, leaves your edit in place, and lists the item in the revert report as "Skipped (diverged)".