PrestaShop strikethrough price not showing? Symptom, cause and where to fix it
A PrestaShop strikethrough price does not show when no discount applies to the product. Most often the base price was lowered instead of adding a promotion, or the specific price was entered as a fixed price with no discount. The other causes are dates, the customer group, a minimum quantity, a promotion on one variant and a theme that hides the old price.
Author: The TellMyShop team. A guide for PrestaShop store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read
When does PrestaShop show a struck-through price?
Only when the product has an active discount from the base price. The discount comes from a specific price on the product page or from a catalog price rule. The theme then receives two prices, the regular one and the discounted one, and shows both.
In the Classic theme this is handled by the product prices template. It shows that the old price and the discount percentage only appear on a product with a discount. You can check this in the product-prices.tpl file on GitHub. Specific prices are described in the documentation on managing products.
Which symptom points to which cause?
Start with what you see on the page. Each symptom narrows down the list of causes.
| Symptom | Most common cause | Where to check |
|---|---|---|
| The price is lower, but not struck through | the base price was lowered, there is no promotion | Catalog > Products > product > Pricing |
| The promotion is in the admin, but nothing on the page | specific price as a fixed price, discount 0 | the specific price on the product page |
| The promotion worked and then disappeared | the end date has passed | the dates of the specific price or rule |
| You see the promotion, the customer does not | restricted to a group, country or currency | the specific price settings |
| The discounted price only appears in the cart | “From quantity” greater than 1 | the specific price settings |
| Discount on only one variant | promotion on a combination | the combination chosen in the specific price |
| Everything set, but the old price is not visible | the theme or the cache | the theme template, Advanced Parameters > Performance |
Store owners have been writing about disappearing struck-through prices for years on the PrestaShop forum (a Polish thread). The answers almost always lead to one of the causes in the table.
How to check the causes one by one
Take one product where the problem shows, and work down from the top.
- Base price. Is the price on the product page the price before the promotion? If you entered the sale price there, the store has no old price to strike through.
- Type of specific price. Does the promotion have a percentage or amount discount? A new price on its own with a discount of 0 often gives no strikethrough.
- Dates. Have the start date and time passed, and the end not yet?
- Group, country, currency. Does the promotion apply to all customers? Guest is a separate group.
- From quantity. Does the discount apply from 1 item?
- Combination. Does the promotion cover all variants, or only one?
- Theme and cache. Does the old price show in the Classic theme? If it does, your theme or the cache is to blame.
Always test in a private browser window, without logging in. A logged-in employee may be in a different customer group from a buyer. If everything works in Classic but not in your theme, describe the problem to the theme author. When you suspect the cache, read why changes don't show in PrestaShop.
How to set promotions so the strikethrough always works
A few habits with every new promotion are enough.
- The base price on the product page stays the regular price. You always discount with a specific price or a rule.
- You enter the discount as a percentage or amount off the base price, not as a new fixed price.
- Every promotion has an end date. After six months a promotion with no end no longer feels like a discount to anyone.
- For several products from one category or brand, you use one catalog price rule.
- After saving, you check one product in a private window, as a guest.
- Once a month you go through the list of active promotions and remove those that no longer make sense.
These rules also protect you from a second problem. Discounts do not add up, so an old, forgotten promotion can hide a new one.
What about the struck-through price in Google?
Google shows a sale price by its own rules, based on the product data. The rules are described in the documentation on merchant listing structured data, in the part on sale prices. What remains on the store's side is a correct price in the product data on the page.
Also remember the lowest price from the 30 days before the discount. When you show a struck-through price, the customer compares it with that information. A separate module calculates it, not TellMyShop.
How to find the cause with the chat
You give the product that has no strikethrough. Your chat (Claude or ChatGPT) reads the product data, prices, combinations and promotions, compares them with the list of causes and points to the one that fits.
You: The Moroccan lantern 30 cm should be on sale, but there is no struck-through price on the page. Why?
Your chat: The product has a base price of €129.00 including VAT and one specific price: a fixed price of €99.00, discount 0, all customers, until 2026-10-31.
Cause: the specific price is saved as a new price with no discount, so the theme does not receive an old price to strike through.
The price for the customer stays €99.00. I'll save it after your agreement.
I suggest changing it to an amount discount of €30.00 off the base price, with the same end date:
old version: fixed price €99.00, discount 0
new version: base price, discount €30.00 including VAT
In TellMyShop Free the chat checks the product data, base price, number of combinations and the product page. TellMyShop Pro reads the list of promotions and the combinations with their prices. It saves fixes once the Sales switch is on in the module panel. Every change has a preview with the price before and after and stays in the history, where you can reverse it.
For diagnosis, the use cases reviewing active discount codes and promotions and a timed promotion on a category will help. How to set a discount on a whole category so the struck-through price shows everywhere is covered in the post on a category sale.
Questions and answers
Why is there no struck-through old price after I lowered the price?
Because you changed the base price. PrestaShop only shows a struck-through price when a discount from a specific price or a catalog price rule applies to the product. For the store, the new base price is simply the product's price, and there is no old price to show. Restore the base price and add a promotion.
Will a promotion with a fixed price show a struck-through price?
Not always. When you enter a new price in the specific price and leave the discount at zero, some stores show only the new price, with no strikethrough and no discount percentage. To be sure, set the promotion as a percentage or amount discount from the base price, and the store will show both prices.
Why is the struck-through price in the category list but not on the product page?
Most often because of combinations. The category list shows the price of the default combination, while the promotion may only apply to one variant. On the product page the customer sees a different variant and a price without the discount. The other possibility is a different list and product page template in a purchased theme.
Will the struck-through price appear in Google results?
That depends on Google, not on the store alone. Google reads the price from the page's structured data and other sources, and shows a sale price by its own rules. The store should have the correct price in the product data on the page. TellMyShop does not create product feeds for Merchant Center.
Can the chat find the cause in the free TellMyShop Free?
Partly. In TellMyShop Free the chat checks the product data, base price, number of combinations and the product page. It does not see specific prices there, so you check some causes yourself on the product page. TellMyShop Pro reads the product's list of promotions, and saves fixes once the Sales switch is on.
PrestaShop is a registered trademark of PrestaShop SA. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.