Showing discount on Product Page (without Compare price)

Topic summary

A merchant wants to display an automatic 40% discount on product pages for a specific collection, but the discount only appears in the cart. Unlike manual compare-at-price discounts, automatic discounts don’t natively show on product pages due to Shopify’s technical limitations—discount information isn’t available until items are added to the cart.

Proposed workarounds include:

  • Manually calculating discounted prices in theme code (e.g., {{ product.price | times: 0.6 | money }}), though this requires code edits for each sale and doesn’t scale well across variants or multiple collections
  • Creating duplicate theme templates for sale vs. non-sale items
  • Using apps like Yagi Automatic Discount Helper, Klip Coupons, or Adsgun that calculate and display discounted prices via metafields or custom logic

Community frustration:
Many participants express frustration that Shopify lacks this basic e-commerce feature natively, requiring either manual compare-at-price updates across hundreds of products or custom development/apps to achieve what’s standard on other platforms. The thread remains open with no perfect native solution, though several app-based alternatives have been suggested.

Summarized with AI on October 29. AI used: claude-sonnet-4-5-20250929.

Hi!

I have the same issue, but not sure I understood the solution you gave. I have a Collection with 15% automatic discount active for 24 hours. Id really like to learn how to show my automatic discounts on product and collection pages since it is a tool I use often. Thank you.

1 Like

Hi @elisajordan , Ill give to you straight because I know there is a lot of chatter on this topic across the community forums. There is NO solution to the problem you are describing. I am a Shopify App developer and I can attest to the fact that there is no app or themes which will accomodate what you are describing.

What I described was an app that can help you promote a discount “codes” (not automatic discounts) in the collection page, product page, and cart page. Now I know you are looking for an app or theme modification that can acomodate “automatic discounts”, unfortunately this does not exist (I am investigating intensily a way to get this done dynamically for every theme but it is not easy).

So if you are open to creating a discount CODE (instead of automatic discount) for the collection you have, then you will be able to design a badge with the percentage discount on every eligible product in the collection page using Codeboost. Additionally you will be able to do this privately to customers (which automatic discounts do not allow). This means that 1 customer might see eligible products while another might not, this can help you increase loyalty for your most VIP customers.

Happy to answer any questions you might have about the app if you are willing to try it :slightly_smiling_face:

2 Likes

Thank you Paula, that worked great and was very helpful. I figured out how make it only apply to specific products. It does take some legwork though. I did this by creating a new theme template for the items I didn’t want the sale to show on. Right now, I only have my products split into two categories (on sale and not on sale). My solution would be tedious for more numerous splits. I am using Debut theme.

I first made a copy of three properties: product.liquid under Templates folder, product-template under Sections folder, and product-price.liquid under Snippets folder. I named them product.alternate.liquid, product-alternate.liquid, and product-price-alternate.liquid respectively. I used these as my non-sale templates, so the code was identical to how it worked before Paula’s solution.

I then went into each of the new files and found where they reference the original properties and referenced the new properties.

Template:

{% section ‘product-template’ %}.

Swapped to {% section ‘product-alternate’ %}.

Section:

{% include ‘product-price’, variant: current_variant, show_vendor: section.settings.show_vendor %}

Swapped to {% include ‘product-price-alternate’, variant: current_variant, show_vendor: section.settings.show_vendor %}

Snippet:

I didn’t change this because I used these as my non-sale items. If you wanted to make these your sale items and the original properties your non-sale, you make Paula’s change above to get the discount to show.

After all this, you exit the liquid area and go into each product you want to show your sale under Theme Template and select your newly created template.

It seems to be working for us so far. I plan on building out more of these properties on the backend so we can easily shift from sale-to-sale. As I said before, this would be cumbersome for someone who wanted to display a large variety of discounts on multiple groups of products, but it could be done.

Also you can also use minus: XXXX to do flat dollar amount discounts with Paula’s code above.

1 Like

Here is a suggestion. You can use the suggested code but make a separate template for items you want on sale.

so true. it is so basic thing and we are already in 2023 and still without this ability . ridiculous for a platform which meant for online shops.

8 Likes

Agree, total BS, I used VPCart (old platform) and it allowed to create discounted “Collections” and the discount showed on Product pages.

1 Like

So true. It’s very annoying and scammy when basic, expected features are intentionally not enabled or included, like slashed prices appearing with automatic discounts set. SURE we can do the compare pricing thing, MANUALLY, to all products and WITHOUT capability to auto expire the discount.

Why doesn’t Shopify produce a product that include this obvious needed capability? Who thinks is good enough to set a discount without the customer being able to see that a product is on sale and its regular price?

1 Like

Hi @Brando1 ,

For automatic discount to be visible on product page, you will need to custom code, and also calculate and store the discounted price for each eligible product (as the automatic discount information is not available on the product page via the theme code, an unfortunate technical limitation by Shopify), which can be complex.

I have just made an app specifically to solve this issue , the app utilizes metafields and can display discounted price (from the automatic discount) on the product page / collection / search result.

On product page, you can use the app block to display the discounted price (you can drag and drop it in the theme editor), which does not impact the store speed, as it uses Liquid to output the discounted price. (There’s also instruction in the app for showing discounted price in collection / home page, I would be happy to assist on the setup)

The app name is Yagi Automatic Discount Helper (https://apps.shopify.com/yagi-automatic-discount-helper ), you can view the demo store in the app listing page to see how it works.

soulchild37_0-1742272083978.png

Hope this can help!

Regards,

Axel Kee (developer of the Yagi Automatic Discount Helper app)

Hey @Brando1 —what you’re running into is a common limitation with Shopify’s automatic discounts. They apply at checkout, but there’s no built-in way to display the discount on the product page unless you manually set a “compare at” price or edit your theme code.

If you don’t want to modify your theme, you can use an app like Klip Coupons: Sales and Discounts. It lets you show a visual discount—like a coupon or cross-out price—right on the product page, even if the actual price in Shopify stays the same. Customers can click to redeem the offer, and it applies automatically at checkout, just like a native automatic discount.

It’s a cleaner way to make sure your customers see the promotion before they add the item to their cart, without having to hard-code anything into your theme.

@tim_1

Exactly this.

Shopify doesn’t make discount data available on the product page — which is wild, because that’s the moment of truth.

And yeah, you could do some JS wizardry or manually recalculate prices with product.price | times: 0.6, but now you’re duct-taping logic into your theme and hoping nothing breaks during a sale.

That’s actually why I built Adsgun — so merchants don’t have to do all that. It auto-applies discounts and shows correct prices on every page — product, collection, cart, wherever.

Works with discounts, stackable promos, even gifts. Might be worth a look.

@Brando1 Yep, that’s how Shopify works by default — cart-only discounts. If you want them to actually show up on product and collection pages too or any other page, I’d check out Adsgun. Fixes that automatically.