Magento extensions

Your sale ended. Why is the product still wearing a sale badge?

A badge is a claim about today's offer. Tie it to the data, keep the product image clear and understand how quickly it refreshes.

Magento product grid with automatic sale, new and low-stock badges

The promotion ended on Sunday. On Tuesday the image still says “SALE”, while checkout charges the regular price. The badge was added separately, and nobody removed it.

A product label is a customer-facing claim. If it says sale, new or low stock, it should follow the data behind that claim and disappear when the condition changes. Otherwise a merchandising shortcut becomes a trust problem.

Decide what the shopper needs to notice

Start with one reason a label earns space on the product card. Is the product genuinely discounted? Is it new within a defined period? Is limited stock relevant to the choice?

Do not put four stickers on an image because four conditions match. Use priority and a label limit. The photo and product name still need to do their job.

Magento already displays certain price and stock information. Evaluate that before adding image badges. Rule-based labels become useful when you need consistent merchandising across category listings and product pages.

Let the claim follow the rule

Our Magento 2 product badges module, Product Labels, can assign labels using sale pricing, new-product dates, stock thresholds, bestseller data and catalogue conditions. Scope and scheduled dates help match a campaign. Variables can show the calculated discount or stock figure rather than a manually written number.

Test with the customer group that will see the label. A discount visible to retail customers may differ from a trade offer. A “free shipping” label based on an attribute is only as accurate as that attribute and the shipping promise it represents.

Label conditions in the admin
Discount labels on a Luma category page

Low-stock labels need particular care

A hypothetical jacket has two medium units and 18 across its other sizes. The module's configurable low-stock condition uses the total of in-stock children, not the selected size's exact availability. That may suit your merchandising rule, but it is not a promise about medium.

Refresh timing matters too. Scheduled stock changes and theme caching can make labels lag. The documentation notes hourly refresh behaviour and additional Hyvä product-list caching. Do not present a delayed count as a live inventory guarantee.

The module reads CatalogInventory stock data; MSI setups are documented as untested. Confirm your inventory architecture before building urgency campaigns around it.

Indexing helps, but it doesn't remove the need to test

Labels are assigned through an indexer rather than evaluating every rule separately while each category page renders. Time-sensitive conditions also depend on scheduled refreshes. Check that indexing and cron run, then test when a label starts, changes and ends.

On Hyvä, follow the Tailwind build instructions after installation. Custom sliders or image rendering can need extra configuration, and not every thumbnail location receives labels. See the Hyvä compatibility checklist for the broader test.

Judge the result on the category page

Compare readability on a phone, visibility of the product and whether the price supports the badge. Track clicks and completed purchases where possible, alongside complaints or confusion. A busier product card is not automatically a better one.

If a badge draws attention but the category keeps showing unavailable or weak products first, address the product ordering too.

Try the Product Labels demos with one sale rule and its end date. Include the moment it expires; a badge that starts correctly still needs to end correctly.

From our shop

Related Products

Keep reading

All posts