Shopify Sale Prices Not Showing? How to Fix Your Compare-At Price Display
Hey everyone! It’s your friendly Shopify expert here, fresh off a fascinating discussion in the community forum. We’ve all been there – you set up a fantastic sale, put in the old price to show that sweet discount, and… nothing. The compare-at price just won't show up on your product pages. It’s frustrating, right? Well, a recent thread brought this exact headache to light, and the community really dug in to find some solid solutions.
The original post came from a store owner, saintdripitaly, who was stumped. They had confirmed that their compare_at_price was set to €420.00 for all variants, their main-product.liquid file seemed correct, and the .old-price CSS rule was definitely in theme-xclusive.css. Sounds like everything should be working, but it wasn't! Their theme, Xclusive 3.2.0, is a custom, manually uploaded one, which always adds an extra layer of complexity.
The First Suspects: Theme Logic & Code
When saintdripitaly first reached out, our community experts, like Devcoder, Steve_TopNewYork, and WebsiteDeveloper, immediately started thinking about the theme’s inner workings. It’s a common first instinct, especially with custom themes.
Key areas they suggested checking included:
-
Is the theme actually rendering
compare_at_price? Sometimes a different snippet or JavaScript could be overriding it. -
Are the theme settings hiding it? Some themes have a simple toggle for sale prices or compare-at prices.
-
Browser Developer Tools: This is a powerful tool! Inspecting the page can tell you if the
.old-priceHTML element is there but just hidden by CSS, or if it’s not being generated at all. -
Custom Theme Quirks: For a custom theme like Xclusive 3.2.0, it’s entirely possible the product price component was customized in a way that accidentally removed or modified the compare-at price output.
The “Aha!” Moment: Is the Data Even There?
While these code checks are super important, sometimes the simplest solution is the one we overlook. And that’s exactly what ajaycodewiz discovered when they looked at saintdripitaly's live store data! They found that despite the store owner’s belief, the compare-at price was actually coming up as "compare_at_price": null in the product data. This is a classic case of thinking the data is there, but it hasn't actually been saved or applied correctly in Shopify's backend.
This is a crucial lesson for all of us: always double-check the raw data first!
Step-by-Step: How to Set Your Compare-At Prices Correctly
If you're facing a similar issue, before diving deep into your theme's Liquid code, make sure your compare-at prices are correctly saved in Shopify. Here’s how you can do it, especially if you need to update multiple products at once:
-
Go to your Products section in your Shopify admin.
-
Select the products you want to update by ticking the checkboxes next to them.
-
Click on the "Bulk edit" button.
-
In the bulk editor, click on "Columns", search for "compare", and tick "Compare-at price".
-
Enter the old price into the Compare-at price column for each variant. Then, click "Save".
Crucial Notes on Compare-At Prices:
-
Variant-Specific: Remember, the compare-at price lives on the variant, not the product. So, if you have different sizes (like 36 to 46), each size needs its own value. The bulk editor makes this easy by filling them all at once.
-
Must Be Higher: This is critical! The Compare-at price must be higher than the actual selling price. If it’s equal to or lower, Shopify simply won’t render anything at all. This is a common oversight!
Still Not Showing? Time to Dig Into Your Theme Code
If you've confirmed your product data is perfectly set up and the compare-at price is indeed higher than the selling price, then it's time to go back to the theme code as Devcoder, WebsiteDeveloper, and Steve_TopNewYork initially suggested.
You’ll want to check the Liquid snippet that actually handles your product prices. This is often named something like price.liquid or product-price.liquid, but it could be embedded directly in files like main-product.liquid. Look for logic similar to this:
{% assign current_variant = product.selected_or_first_available_variant %}
{% if current_variant.compare_at_price > current_variant.price %}
{{ current_variant.compare_at_price | money }}
{% endif %}
{{ current_variant.price | money }}
Make sure this logic is present in the active snippet that your product page is using. For custom themes like Xclusive 3.2.0, it’s also important to ensure that any JavaScript handling variant changes is updating both the current price and the compare-at price. Sometimes, the JavaScript only updates the primary selling price, leaving the old price stuck or invisible.
Ultimately, this community discussion highlighted that while code issues are often the culprit, sometimes the fix is as simple as ensuring the data itself is correctly entered and follows Shopify's rules. Always start with the basics, confirm your data, and then move on to the more complex theme and code investigations. Happy selling, everyone!


