A small "Only 2 left in Small" under the size buttons is honest, useful information. Shoppers who were on the fence know they shouldn't wait. The problem starts when every product shows a count all the time: "147 in stock" says nothing useful, and "Only 3 left!" on every page stops being believable. The fix is a threshold. Show the count only when stock is genuinely low, and show it per variant so it changes as the customer picks a size or color.
Threshold rules
Here is the starting point we suggest to merchants who sell real, counted stock:
| Stock for the selected variant | What to show |
|---|---|
| More than 10 | Nothing, or a simple "In stock" |
| 5 to 10 | "Low stock" |
| 1 to 4 | "Only 3 left" |
| 0 | "Sold out" with the variant shown as unavailable |
Adjust the numbers to your sales pace. If a size sells ten a day, "5 left" is urgent. If it sells one a month, it isn't, and you may want a lower threshold for that product.
Implementation
Theme setting first. Dawn and many other Online Store 2.0 themes include an inventory status block for the product page with a low-stock threshold setting. Add the block in the theme editor, set the threshold, and the message updates when the customer switches variants. Try this before writing any code.
Custom Liquid. If your theme doesn't have the block, a conditional in the product template does the job:{% if variant.inventory_quantity <= 5 and variant.inventory_quantity > 0 %}Only {{ variant.inventory_quantity }} left{% endif %}
Liquid renders once when the page loads, so you also need a bit of JavaScript to update the message when the shopper picks another variant. Most themes already fire a variant change event you can hook into. If you aren't comfortable editing theme code, a developer can usually do this in an hour or two.
The count only works if Shopify is tracking quantity for the variant. Our guide to setting up variant inventory covers that first step.
Multi-location
If you stock items in more than one location, decide which number to show. The total across all locations is simpler. The quantity at the location that will actually ship the order is more accurate, especially if you promise delivery dates. Most small stores show the total. If you split stock between, say, a warehouse and a retail shop, read our notes on multi-location inventory for variants before you decide.
Different thresholds per product
One store-wide threshold is fine to start. Once you have sales data, you can store a threshold in a product metafield, for example "low_stock_threshold = 3" on fast sellers and "10" on slow, expensive items, and have the theme read it. That keeps the message meaningful across very different products.
When not to show a count
- Print-on-demand and made-to-order products. There's no real stock, so any count is made up. Use continue selling when out of stock and show production time instead.
- Personalized items. A custom name mug is made per order. Shoppers care about turnaround and preview, not stock. Print It My Way shows a live preview of their text on the product image, which does more for a personalized product than a scarcity message.
- Products with high stock. "Only 240 left" reads as a joke.
Overuse trap
If every product shows "Only X left", shoppers stop trusting it, and some will check back the next day to see if the number changed. Reserve the message for stock that is genuinely limited, and never fake it. Fake scarcity can also run into consumer protection rules in some regions.
It also helps to watch the other side: if a variant regularly hits low stock, set up low-stock alerts for variants so you reorder before customers see "Sold out".
What happens at zero
When the selected variant reaches zero, the add-to-cart button should change to "Sold out" and the size or color button should look unavailable. Whether you hide sold-out variants or show them crossed out is a separate decision; our guide to hiding out-of-stock variants lays out both choices.
Frequently asked questions
When to show inventory count on Shopify options?
Show it only when the selected variant's stock is low, such as 5 units or fewer. Above that, show nothing or a plain "In stock".
'Only X left' messaging: does it work?
It helps when it's true and used sparingly, because shoppers on the fence learn they shouldn't wait. Shown on every product all the time, it loses its effect and can hurt trust.
Show total or per-location inventory?
The total across locations is simpler and fine for most small stores. Show the shipping location's stock if you promise delivery dates that depend on where the item ships from.
Does showing high inventory hurt?
It doesn't help. A large number like "147 in stock" gives the shopper no reason to act and can make a product look slow-moving.
How to hide inventory count when high?
Use your theme's inventory status block with a low-stock threshold, or a Liquid condition that only shows the count below your threshold. Add a small script so the message updates when the variant changes.
Different threshold per product?
Yes. Store a threshold in a product metafield and have your theme read it. Fast sellers might use 3, while slow, high-priced items might use 10.
Best inventory display app?
Start with your theme's built-in inventory status block, which covers most stores. Look at an app only if you need features the theme lacks, such as per-location messages.
Related reading
Sources & further reading
Primary sources referenced in this article. We link to official platform documentation and standards bodies rather than secondary summaries so you can verify claims directly.
- Shopify Help Center: Product variants
- Shopify.dev: Product variant limits
- Shopify Help Center: Line item properties (customization)
Try it free on Shopify
Print It My Way's permanent Free plan includes live preview, custom options, and Cart Transform pricing.
Install Print It My Way