PriceWave All guides →

Shopify sale price not reverting after a campaign ends

Why sale prices, compare-at prices, or discount codes stay active after a scheduled sale—and how to verify and fix stuck pricing on Shopify.

Updated October 3, 2026 · Reliova Commerce

You ended a sale—or the calendar says you did—but customers still see a discounted price, compare-at still looks like a markdown, or a code still works. That is a stuck-price problem. It is common, expensive, and often invisible until reconciliation or a customer email.

This guide explains what merchants usually mean by “sale price not reverting,” what to check in Shopify, and how PriceWave’s alerts differ from its Nova+ Watchdog.

What merchants usually see

Search language varies: sale price not reverting, price didn’t change back, stuck sale price, discount still works after sale ended. Same job: restore intended pricing and prove it.

Important split: PriceWave sequences change and revert variant Price. If compare-at is wrong, that is a separate Admin check—PriceWave does not manage compare-at.

Step 1: Confirm in Shopify admin (not only in an app)

Open the product in Shopify admin → Products and check each affected variant:

If admin already matches what you want, the issue may be caching, markets, or a theme showing outdated labels—still worth fixing, but not a failed list-price revert.

If admin is wrong, continue.

Step 2: List everything that could still be applying a discount

Stuck display prices are not always stuck write jobs. A low checkout price can come from:

If you ran a PriceWave campaign with discount lifecycle sync (Galaxy and above), check whether those discounts shared the sequence’s campaign tag. Untagged discounts are not deactivated automatically when a sequence completes.

Turn off or audit discounts in Discounts while you fix base prices, so you are not chasing ghosts.

Step 3: Check schedules and bulk jobs

If you used scheduled price changes (native bulk editor, CSV, or an app):

Uninstall note: Shopify often invalidates the Admin API token as soon as an app is removed. PriceWave may attempt a best-effort restore if a brief window remains; it does not guarantee uninstall reverts prices. Prices already written may remain until you change them in Shopify.

Document what you expected vs what admin shows—for your ops log and for support tickets.

Step 4: Revert deliberately, then verify again

Manual revert path:

  1. Set variant Price to intended post-campaign values
  2. Clear or correct compare-at if you use sale badges
  3. Deactivate event discount codes / automatics that should be off
  4. Re-check a sample of SKUs across collections that were in the sale

For large catalogs, spot-check high-revenue SKUs first.

If the stuck prices came from a PriceWave campaign: check Activity → Alerts for stuck-price or write-failed entries, retry revert if the app offers it, and for codes use tagged lifecycle sync (Galaxy+) on the next campaign so end-of-sale deactivation is part of the sequence—not a manual hope.

Step 5: Prevent the next stuck price

Operational habits that help:

PriceWave: ops alerts vs Watchdog (do not conflate)

PriceWave raises stuck-price and write-failed alerts on every plan when a write doesn’t stick in Shopify. Separately, Nova and above include a realtime Watchdog for external list-price edits on active campaigns—it pauses the wave so you can resume, adopt the new base, or cancel.

Orbit includes the stuck/write-failed ops alerts. The Nova+ Watchdog is for someone (or another app) editing list price during an active wave—not a synonym for “stuck after revert.”

For codes that should die with the campaign, plan tagged lifecycle sync (Galaxy+).


Need sequences plus clear alerts? Install PriceWave (free Orbit plan) or read how sequences differ from a simple scheduler on the PriceWave home page.

PriceWave helps Shopify merchants run campaigns with sequences, simulation, watchdog, product shield, and budget caps—on plans that match how serious your sales are.

Install PriceWave on Shopify →