Why are only 'some' products show compare price on product page/feature page

Topic summary

A store owner bulk-edited compare prices across all products but found that sale badges and strikethrough pricing only appear on some products’ collection pages, though they work correctly on individual product pages when variants are selected.

Root cause identified:

  • Products displaying sale badges have compare prices set for ALL variants
  • Products without badges have some variants with compare_at_price values of “0.00” or empty strings
  • E-commerce platforms interpret these null/zero values as “no sale” and won’t display badges

Specific example:
Mountain Glitch shows the sale price (£65 from £75) when clicked, but no badge appears on the collection page because not all size variants (like 70x100cm) have compare prices set.

Solution:
Ensure every variant across all products has a valid compare_at_price value higher than the selling price. Run a targeted bulk edit to fix variants currently showing “0.00” or empty values. The sale badge only displays when all variants of a product are on sale.

Summarized with AI on November 2. AI used: claude-sonnet-4-5-20250929.

I have bulk editted all my products to set a compare price. All my products have the compare price strikes through when clicked on and some products even show it on the product page with a sale badge which is exactly what I want. However, this is only the case for a select few products even though ALL my product should have the compare price edited.

Here’s the link to my website: https://artevoprint.com/

Hey @artevo ,

I looked into your JSON data for these two products: https://artevoprint.com/products/mountain-glitch (No compare at was shown on the collection page) and https://artevoprint.com/products/lucky-pond (where there was compare at price), and found the reason why some products aren’t showing the compare price. The difference lies in how the compare_at_price field is set across your variants.

For products that are correctly showing the compare price (like “Lucky Pond”), the variants have proper numerical values:

  • Price: £65.00
  • Compare at price: £75.00

However, for products not showing the compare price (like “Mountain Glitch”), the variants have either:

  • A compare_at_price of “0.00”
  • Or an empty compare_at_price value (“”)

Most e-commerce platforms like Shopify, WIX, Magento, etc interpret both “0.00” and empty strings as “no compare price,” which is why these products aren’t displaying the sale badge or strikethrough pricing.

To fix this:

  1. Make sure all your compare_at_price fields have actual numerical values higher than the selling price
  2. Double-check your bulk edit process - it seems some products may have been missed or had their compare prices incorrectly set to zero/empty
  3. Avoid using “0.00” or empty strings for compare_at_price if you want the sale pricing to display

I’d recommend running another bulk edit specifically focusing on products where compare_at_price is either “0.00” or empty to set proper comparative values.

Hope this helps explain what’s happening! Let me know if you need any clarification.

Cheers!
Shreya | Revize

So looking at your site not all variants have a compare at price set, like this one, for example: https://artevoprint.com/products/kindred-companions?variant=53966791082310

I have double checked and confirm that the compare price is correct. It is correct as well for products such as Mountain glitch (https://artevoprint.com/products/mountain-glitch) where the lowest price value £65 can be seen as a sale from £75 when it’s is selected (see picture)

But on the feature page, it doesn’t show the sale badge. Only when customers click on it.

Not all your variants are for sale, though. The 70x100cm isn’t for sale on Mountain Glitch, where as all variants are on sale where the collection shows a sale badge.

So if you don’t have a sale on all variants then you won’t see a sale badge.

1 Like