Skip to content
Prices and compare-at prices on Shopify

Shopify compare-at price not showing: causes and fixes

If a Shopify compare-at price isn't showing, first check that it's higher than the price on that variant: Shopify only displays a sale when it is. Then look for variants with blank or 0.00 compare-at prices, your theme's sale settings, fixed prices in a market catalog, and whether the offer is really a discount rather than a compare-at price.

Key takeaways

  • The compare-at price must be higher than the price; an equal or lower value shows no sale.
  • If the product page shows the sale but the collection page doesn't, check for variants with blank, 0.00 or lower compare-at prices.
  • Sale display depends on your theme, so check its settings, any custom code and the theme that's actually published.
  • Fixed prices in a market catalog override the admin price and compare-at price for that market.
  • Discounts show savings in the cart and at checkout, not as a crossed-out compare-at price on product pages.

Why is my compare-at price not showing on Shopify?

Almost every case comes down to one of 7 causes. Find your symptom in the table, then use the matching section below. For background on how the field works, see Shopify compare-at price explained.

Before you dig in, confirm the basics: you're looking at the right product, on the published theme, in the market you set the price for. A surprising number of "missing" sales are a preview theme, a cached page or a different country's prices.

SymptomLikely causeFix
No sale anywhere for a productCompare-at price equal to or lower than the priceMake the compare-at price higher, or clear it
Sale on the product page but not the collection pageVariants have mixed, blank or 0.00 compare-at pricesGive all variants on sale a higher compare-at price, or clear them all
Sale for some sizes or colors onlyCompare-at price set on some variants onlySet it on every variant in the sale
Right prices in the admin, no sale stylingTheme settings, custom code, or the wrong theme being checkedCheck the published theme's settings and code
International shoppers don't see the saleFixed prices in a market catalog override admin pricesSet compare-at prices in the catalog or update its fixed prices
Savings appear only in the cartA discount was used, not a compare-at priceUse compare-at prices for a crossed-out price on product pages
Sales vanished after an import or bulk editThe edit changed or cleared compare-at prices, or raised prices past themCompare with your backup export, then re-import or fix

Is the compare-at price higher than the price?

Shopify's rule is that the value in Compare-at price must be higher than the value in Price for the sale price to display (Shopify's sale price guide). If the two are equal, or the compare-at price is lower, the storefront shows a normal price.

This usually happens by accident. A price increase pushes the price up to or past an old compare-at price. A sale ends, the price goes back to normal, and an equal compare-at price is left behind. Or values land in the wrong CSV column during an import, so the two numbers swap.

Fix: open the variant and compare the two fields. If the item should be on sale, make the compare-at price the genuine original price and the price lower. If it shouldn't be on sale, clear Compare-at price and save.

Does every variant have a consistent compare-at price?

Compare-at prices are stored per variant, so a product can be on sale in one size and full price in another. Product pages read the selected variant, which is why each variant can look right there. Collection pages usually read product-level values instead.

In Shopify's Liquid reference, the product-level compare_at_price is the lowest compare-at price of any variant, and price is the lowest price of any variant (Liquid product object). Shopify's own troubleshooting advice says collection pages can fail to show compare-at prices when variants conflict: some at 0.00, some empty, some with different values.

Fix: give every variant in the sale a compare-at price that's higher than its own price, or clear the compare-at price on all of them. Clear means an empty field. Shopify treats 0.00 differently from blank, so don't type zero. The quickest way to see every variant at once:

  1. Go to Products, select the product and click Bulk edit.
  2. Click Columns and add Price and Compare-at price.
  3. Look for blank, 0.00 or lower compare-at values among the variants that should be on sale.
  4. Fix them, click Save, then reload a collection page that includes the product.

Is your theme set up to show sale prices?

Shopify stores the prices; your theme decides how to show them. Shopify notes that sale price display depends on your theme, and that a theme may add a badge with a message or percentage off. If the data is right and nothing shows, the cause is in the theme.

Work through the theme from the outside in:

  1. Make sure you're checking the published theme. A theme you're previewing or editing may differ from the live one.
  2. In your admin, go to Online Store, click Edit theme next to the theme and open Theme settings. Look for badge and price options; many themes let you change sale badge position, shape and color (theme settings guide).
  3. Check the product card and product page sections for a price or badge block that's been hidden or removed.
  4. If someone customized the theme code, compare the price snippet with an unmodified copy of the same theme.
  5. Reload the page in a private browser window to rule out a cached version.

Are market prices overriding your compare-at price?

If you sell internationally with Shopify Markets, a market's catalog can change both numbers. A fixed price you set for a product in a catalog overrides the price and compare-at price from your admin. A catalog's percentage adjustment applies to compare-at prices by default; if Include compare-at price is turned off, compare-at prices for that catalog are set manually (Creating catalogs for markets).

Fix: view the store as a customer in the affected market, for example by switching the country selector, and check the product. Then open that market's catalog and either set compare-at prices for the fixed-price products, or remove the fixed prices so the admin values and the percentage adjustment apply.

Do this check whenever you run a sale that should reach international shoppers. Fixed prices stay in place through every sale until you change them, so for those products the sale you set in your admin doesn't reach that market.

Did you use a discount instead of a compare-at price?

Discounts and compare-at prices show savings in different places. Automatic discounts are applied in the cart and at checkout, and discount codes are entered at checkout (discount methods). Neither changes the variant's compare-at price, so the product page shows the normal price. Shopify says that showing discount savings as crossed-out prices on product pages needs a third-party discount app or a Shopify Partner.

Fix: if you want the crossed-out price on product and collection pages, put the items on sale with compare-at prices instead; see how to put items on sale on Shopify. If you run a discount on items that are already on sale, check the final price, because the discount is calculated on the already-reduced price.

Did an import, bulk edit or app change your prices?

When sales vanish across many products at once, look at what changed in bulk. Compare current values with your last export, re-import the backup if nothing else changed since, or correct the affected variants. Shopify doesn't let you view a history of past imports, so dated exports are your audit trail. Three patterns are common:

  • A CSV import with blank cells. With Overwrite products with matching handles selected, a blank cell in a non-required column replaces the existing value with blank, so an emptied Compare-at price column clears every compare-at price in the file.
  • A price increase that ignored compare-at prices. Raising prices by 10% when sale items had compare-at prices only 5% above the price pushes the price past the compare-at price, and the sale display disappears.
  • Another app or person editing prices. Check which apps can write product prices, and whether someone ran a bulk edit or import during the same period.

How do you stop compare-at problems before they happen?

Prevention is mostly one check before you save: every row in a price change should end with a compare-at price higher than its new price, or no compare-at price at all.

Sale Scheduler by SalePilot builds that check into its price preview. Each variant shows its price and compare-at price before and after, with a status. If a resulting compare-at price wouldn't be higher than the new price, the row is marked Warning and isn't applied, because Shopify wouldn't show it as a sale. You can filter the review to Warnings to see every affected variant, and no Shopify prices change until you start or schedule the sale.

Its compare-at actions also cover the usual fixes in bulk: Set compare-at price to original price when a sale starts, Increase relative to new price when you reprice items, and Remove compare-at price to clean up after a sale.

Quick test after any price change: open one product page and one collection page in a private window, on desktop and on mobile, and switch to one international market if you sell abroad. It takes two minutes and catches most display problems before customers do.

Frequently asked questions

Why does my sale show on the product page but not the collection page?

Collection pages usually read product-level values, which Shopify takes from the lowest compare-at price and lowest price across variants. Mixed, blank or 0.00 compare-at prices among the variants can stop the sale from showing there.

Should I enter 0 to remove a compare-at price?

No. Clear the field instead. Shopify treats 0.00 differently from an empty field, and mixing the two across variants can break sale display on collection pages.

Why did my sale prices disappear after I raised prices?

The new price probably reached or passed the compare-at price. The compare-at price must be higher than the price, so either end the sale or adjust the compare-at price, keeping it a genuine former price.

Why can't international customers see my sale?

A market catalog may use fixed prices, which override your admin price and compare-at price. Set compare-at prices in that catalog or update its fixed prices.

Can SalePilot find variants where the compare-at price won't show?

Yes, on its review screen. Rows where the compare-at price wouldn't be higher than the new price are marked Warning and aren't applied, and you can filter the review to show only those rows.

Run your next sale without the spreadsheet

Install Sale Scheduler from the Shopify App Store, build a sale, and review every price before it goes live. The free allowance lets you try it on a few variants first.

Chat with us on WhatsAppQuestions before or after you install