"Bestseller" badges sell — but only if the tag behind the badge reflects what's actually selling, not a list someone updated by hand three months ago and forgot about.
Why Shopify doesn't do this natively
Shopify's admin lets you sort a collection by best-selling, which is genuinely useful for page order — but sort order isn't a tag, so a theme badge, an email-flow filter, or a saved admin search that reads tags has no way to know which products actually qualify. The common workaround is a manual export of sales data, checked and re-tagged every so often — accurate the day it's run, stale the moment sales shift.
The fix: a rule that reads real sales data
An auto-tagging rule can check a product's actual units sold over a real window and tag it the moment it qualifies:
If product's units sold in the last 30 days is at least 50 → tag bestseller.
Because the tag lands on the product, any theme badge, filter, or email flow that reads product tags picks it up immediately — no manual re-export, no waiting for someone to notice a product crossed the line.
Because it's a rule:
- Choose your own window. Last 30 days, last 90 days, or all time — each tells a different story, and you can run more than one at once (a "trending" tag and an "all-time" tag).
- Set your own threshold. 50 units might mean bestseller for one catalogue and barely notable for another — the number is yours.
- Combine with other conditions — bestseller and still in stock, so the badge never points a customer at something that's about to disappoint them at checkout.
Why the window you pick matters
An all-time threshold never needs to come off — once a product crosses it, that fact about its history doesn't change. A rolling window (last 30 or 90 days) is different: it should come off automatically once a product's recent sales fall back under the line, so the badge keeps meaning "selling well right now" instead of quietly becoming "sold well at some point."
Rules2Tag is built to run rules like this — reading a product's real sales figures rather than a manual export, previewed against a real product before it runs, and self-healing as a rolling window's numbers change.