Zerogaps blog

Why out-of-stock products quietly kill your AI recommendations

ShopifyAI visibilityinventorystructured dataAEO

You spent months getting an AI assistant to mention your store. Someone asks ChatGPT "what's a good linen apron for under 40 dollars" and your product shows up. Great. Then your bestseller sells out for two weeks, you restock, and the mention is gone. It doesn't come back on its own for a while, and you have no idea why.

This is one of the most overlooked ways stores lose AI visibility, and it has nothing to do with your content or your backlinks. It's inventory. When you run out of stock, AI shopping assistants tend to drop the product from their answers, and they do it faster and more bluntly than Google drops a search ranking. The good news is that most of this is controlled by settings already sitting in your Shopify admin.

Why AI assistants treat a stockout differently than Google does

Traditional search has a long memory. A page that ranks well can sit out of stock for weeks and still hold its position, because Google weighs links, history, and relevance heavily, and availability is just one signal among hundreds. You've probably bought something from a page that said "back in stock soon." Google kept ranking it anyway.

AI shopping assistants behave more like a careful salesperson than a librarian. Their whole job is to recommend something the shopper can actually buy right now. So when they read your product and see it's unavailable, the cost of recommending it is high: they look wrong, the shopper hits a dead end, and trust drops. The safe move is to skip it and name a competitor instead. That's exactly what happens. An out-of-stock SKU gets deprioritized or omitted almost immediately, while an in-stock competitor takes the slot you used to own.

The signal these assistants lean on most for this is your structured data, specifically the availability field in your product schema.

What availability schema actually says about your product

Most Shopify themes output Product structured data (JSON-LD) on product pages. Inside it there's an "offers" block, and inside that an "availability" property. It usually reads as one of these values:

When inventory hits zero and you don't allow overselling, a well-built theme flips that value to OutOfStock. AI assistants and the crawlers that feed them read this field directly. They don't guess from your "sold out" button image, they read the machine-readable value. So the moment your schema says OutOfStock, you've handed the assistant a clean reason to stop recommending you. This is the heart of out of stock ChatGPT shopping behavior: the model trusts the structured availability over almost anything else on the page.

If your theme doesn't output this field correctly, you have a different and worse problem, because then the assistant can't tell your in-stock products are buyable either. If you're not sure your products are even legible to these tools, it's worth understanding why AI assistants ignore some product pages entirely before you worry about stockouts.

The Shopify settings that quietly decide this for you

Three settings in your admin control how a stockout plays out. Most merchants never connect them to AI visibility.

Continue selling when out of stock

On each variant in a product, there's a checkbox under inventory called "Continue selling when out of stock." When it's on, the product stays buyable even at zero inventory, and a good theme keeps the Shopify availability schema as InStock. This is the setting that matters most for AI visibility. For made-to-order items, pre-orders, or anything you can restock quickly, leaving this on keeps the assistant comfortable recommending you. Be honest about it though: if you genuinely can't fulfill, don't fake availability, because a cancelled order does more damage than a lost recommendation.

Hide vs unpublish: they are not the same

This trips up a lot of people. Marking a product unavailable on the Online Store channel (unpublishing it) removes the page from your storefront. The URL starts returning a not-found or redirect response. To an AI crawler, that URL effectively disappears, and with it goes every bit of authority that page had built up. Worse, on a restock the page often comes back at the same URL but has to re-earn trust from scratch.

Using an "out of stock" tag, a collection rule, or your theme's logic to hide it from a collection while keeping the product page published is very different. The URL stays live and crawlable, the schema can still describe the product, and you keep the page in the assistant's memory. The rule of thumb: keep the URL alive even when the shelf is empty.

Redirects and the availability trap

When you delete a product, Shopify offers to create a URL redirect. Sending a sold-out product page to a collection or homepage feels tidy, but it tells crawlers the product no longer exists at all. For a seasonal item you'll restock, that's the opposite of what you want. Redirect a product URL only when it's truly gone for good, and even then redirect to the closest live alternative, not the homepage.

A practical playbook to protect AI visibility through stockouts

Here's what I'd actually do as a store owner, in order.

First, keep your evergreen and bestselling product URLs published year-round. A bestseller that goes out of stock for the holidays should stay live with its real availability shown, not get unpublished. Unpublishing a bestseller, even for two weeks, throws away visibility you can't quickly rebuild.

Second, get availability schema right. Confirm your theme outputs Product JSON-LD with a correct availability value, and decide per product whether "Continue selling when out of stock" should be on. For pre-order and made-to-order lines, turning it on keeps you InStock and recommendable.

Third, set clear back-in-stock signals on the live page. A visible "notify me when available" form, an expected restock date in the description, and honest copy all help. Some of this can surface in your schema or page text and signals to both shoppers and assistants that the product is a real, returning item, not abandoned.

Fourth, never let a stockout silently rewrite your schema without you knowing. This is where monitoring earns its keep. After every restock, check whether the assistants that used to mention you have picked you back up, because they often lag behind your inventory by days. You can run a free AI visibility audit to see whether ChatGPT, Perplexity, and Google's AI answers are recommending your products again or still pointing shoppers at a competitor.

Inventory and marketing usually live in two different parts of your brain. The thing to internalize is that on the AI side they're the same lever. A zero in your inventory field can quietly undo months of visibility work, and a single checkbox or a kept-alive URL can protect it. Treat your stock levels as a visibility setting, not just an operations one, and check your AI mentions every time a popular product comes back.

See where your store stands

Run a free AI Visibility Audit and find out if AI recommends you.

Get my free audit →

Questions store owners ask

Does marking a product as out of stock remove it from ChatGPT recommendations?

Often yes, and faster than you'd expect. AI assistants read your product's availability schema and tend to skip products marked OutOfStock so they don't recommend something a shopper can't buy. Keeping the URL live and your availability accurate is what protects you.

Should I unpublish a Shopify product when it sells out?

For anything you plan to restock, no. Unpublishing removes the URL from your storefront, so crawlers and AI assistants treat the page as gone and it loses the authority it built. Keep the page published and let it show its real stock status instead.

What does 'Continue selling when out of stock' do for AI visibility?

With that variant setting on, the product stays buyable at zero inventory and a good theme keeps its schema marked InStock, so AI assistants stay comfortable recommending it. Only use it for items you can actually fulfill, like pre-orders or made-to-order products.