Customers are buying out-of-stock items on my store with zero warning about the delay, how do I fix this?
Shopify's continue selling when out of stock setting keeps the buy button live during a stockout, but it does not tell customers anything is delayed. That messaging is entirely on you to build.
What's going on
A shopper places an order, the item shows as available, checkout completes normally, and only days later do they learn, from a support email or nothing at all, that the product was actually out of stock and will not ship for weeks. This happens because Shopify's per-variant continue-selling-when-out-of-stock setting does exactly what it says: it keeps the product purchasable and shows a normal add-to-cart button even after tracked inventory hits zero or goes negative. Shopify does not automatically add a backordered, preorder, or estimated-ship-date label anywhere in the storefront when this happens; the product page, cart, and checkout all look identical to an in-stock purchase unless the merchant builds that messaging in.
For merchants, the setting is genuinely useful. It prevents lost sales during brief restock gaps and lets preorder and made-to-order businesses operate normally. But left on its default behavior with no added messaging, it creates a real customer-experience problem: people feel misled when a normal-looking order turns into a multi-week wait with no warning, and support teams end up fielding where-is-my-order tickets that a single sentence on the product page could have prevented.
The root issue is a gap between what the setting controls, which is purchasability, and what it does not control, which is communication. Shopify leaves the messaging layer to the merchant's theme because lead times, restock dates, and backorder policies vary too much from store to store for a generic built-in message to make sense.
Why it happens
Continue selling when out of stock is an inventory-policy flag on each variant, not a customer-facing feature. When Shopify's tracked quantity for a variant reaches zero, or goes negative since the setting allows overselling, the only thing that changes on the backend is that checkout is still permitted. The storefront theme decides what to display, and most themes only show a Sold out state when an item is both out of stock and not set to continue selling. They have no built-in state for in stock, but actually backordered for three weeks.
Because Shopify has no native lead-time or expected-restock-date field on products, there is nowhere for that information to live unless a merchant creates one, typically as a metafield, a manually edited theme snippet, or through a third-party preorder or backorder app that adds its own fields and button-copy logic.
5 ways to fix it
Add an inventory metafield and show it with Liquid
Create a product or variant metafield, for example a short text field for lead time, that stores a plain message like Ships in 2-3 weeks or Backordered, restocking July 30. Fill it in manually or through a bulk CSV or metafield editor for any product with a known delay, then edit your product template to display that text whenever inventory quantity is at or below zero. This gives you the most control without paying for an app, and it works alongside Shopify's native continue-selling setting instead of fighting it.
Turn off continue selling when out of stock for anything with a real, unknown delay
In Shopify admin, each variant's inventory section includes a checkbox to keep selling after stock runs out. If you cannot commit to accurate messaging, leaving it unchecked is the safer default: once quantity hits zero, the storefront shows Sold out and blocks checkout automatically, with no theme edits needed. Reserve the checkbox for items where you are confident about restock timing and willing to communicate it.
Use a preorder or backorder app to automate the labeling
Several apps in the Shopify App Store are built around preorder and backorder workflows. They watch the same inventory-quantity signal and can automatically change the add-to-cart button copy to something like Pre-order, ships on a given date, while tagging the order or notifying fulfillment staff so it gets handled differently. This is worth the cost if you have many SKUs cycling in and out of stock and do not want to maintain metafields manually for each one.
Set expectations in the cart and order emails, not just the product page
Even with clear messaging on the product page, customers often miss it if they arrive through a saved link or an ad. Add a note in the cart or cart drawer for any backordered line item, since your theme can read variant inventory data there too, and update your order confirmation email to restate expected ship dates for backordered items so the delay is not a surprise days later.
Tag and flag backorders internally so support is not caught off guard
Use order tags or a saved view of orders containing backordered items so your support team can reach out proactively about delays instead of finding out only when a customer complains. This does not close the customer-facing gap, but it reduces the damage when messaging slips through.
Bottom line
Shopify's inventory settings are built to keep you selling through stockouts, but they were never built to communicate delays. That is a merchandising and content job you have to handle yourself, whether through metafields, theme edits, or a dedicated preorder app. None of BesPoP's current apps target this specific gap directly, so for most stores the fastest fix is the free route: turn off continue selling wherever you do not have real ship-date confidence, and add a metafield plus a small template edit everywhere else.
Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.