Why is sale price not showing for all products from the same vendor?

Hi there! I’m facing an issue with sale prices not showing after setting up compared-at-price, but the thing is this only occurs when setting sale prices for every product from a specific vendor. If I set up a sale price for any other product from other vendors, everything works just fine. Any ideas on what may be causing this error?

1 Like

Thanks for sharing your input.

None of the 3 suggestions may seem to be the cause.

I have further realized, that when working on the THEME EDITOR, the sale prices for products from this specific vendor are correctly displayed with the compare-at-price next to it. But on the actual store, only the original price (the compare-at-price) is shown. See attached PDF for reference.

Hello @DavidRequena

It usually comes down to one of two things: either your price and compare_at_price aren’t set up in the right order for those vendor’s products, or your theme has custom logic that’s hiding discounts on that vendor.

Here’s what to do next:

1. Double-check your numbers

  • For a sale to show, compare_at_price must be higher than price. If you accidentally swapped them (or set them equal), Shopify won’t render a “Sale” badge or crossed-out price.
  • Open one of the affected products in Admin and make sure, for example, Compare at price = $50 and Price = $40—not the other way around.

2. Look for vendor-specific theme code

  • In Online Store → Themes → Edit code, search your product templates (sections/main-product.liquid or snippets/price.liquid) for any conditionals on product.vendor.
  • You might see something like:

{% unless product.vendor == ‘Acme Co.’ %}

{% endunless %}

  • If you spot that, either remove the conditional or extend it to include your sale logic for that vendor.

3. Test a manual override

  • Temporarily tag one of those vendor’s products with a unique tag (e.g. force-sale) and add this right above your price block in the template:

{% if product.tags contains ‘force-sale’ %}
{{ product.price | money }}
{{ product.compare_at_price | money }}
{% endif %}

  • Save and preview. If the sale shows for your tagged item, you know it’s definitely theme logic blocking the rest.

Hi! If sale prices aren’t displaying for products from one specific vendor, it’s likely due to a theme or app-related condition filtering how sale prices are shown—some themes may have logic that excludes certain vendors or tags. Double-check your theme’s product card or grid template for any custom code affecting compare_at_price display based on vendor. Also, ensure that both the compare_at_price is higher than the price and that these products are properly synced if you’re using a third-party app to manage pricing.

Hi @DavidRequena ,

It looks like the prices in your live store differ from those in the test environment. My best guess is that you’re using fixed prices for markets, in which case the compare-at price won’t apply as expected.

In this case, one option would be to remove the fixed prices in the Market settings:

  1. Go to Markets - Catalogs in your Admin panel.

  2. Select the catalog you want to edit (e.g., Europe). If a catalog includes products with fixed prices, you’ll see this marked in the Price overrides column.

  1. In the catalog settings, reset the manually entered prices and click the Save button at the top:

This will standardize product pricing across all markets. However, if you still need to customize pricing for certain locations, you can use the Price adjustment feature instead. It allows you to, for example, increase prices in a specific currency by 10%.

Price Adjustment setup works smoothely with the standard compare-at pricing setup.

If this approach doesn’t suit your needs, you’d need to upload compare-at prices separately per market using a CSV import.

1 Like

That was it! The thing is I do not know how all products from this specific vendor got the fixed price setting.

Compare-at-price is now working smoothly.

Thank you very much for your advice!

1 Like