Shopify out of stock products in ChatGPT: what AI agents see

Short answer: Shopify out of stock products in ChatGPT and other AI channels stay in Shopify Catalog, but a default catalog search returns only “sale-ready” items, so a sold-out variant drops out of most agent answers until stock returns. Octolift, built by Craftshift, checks that the catalog’s availability matches your admin for every variant. Free for 5 products.
Picture a store that sells linen shirts in six colours. Sage sells out on a Tuesday. The storefront handles it fine: the swatch greys out, the button says Sold out, nobody can order. But what does an AI shopping agent see for that same shirt an hour later? And what about the made-to-order colour that sits at zero stock forever, or the preorder that ships in March?
Most guides on sold-out products are about the storefront. Hiding swatches, sorting collections, archiving dead stock. We’ve written plenty of those (our guide on how to handle out of stock variants on Shopify is the place for storefront display). This post is about the other reader. The agent. It reads your stock data through Shopify Catalog, not through your theme, and it treats “sold out” very differently from a shopper’s eye.
Everything below is checked against Shopify’s help centre and developer docs as of October 2026, with each page linked where it’s used.
In this post
- How do AI agents read Shopify stock data?
- Every stock situation, what agents see, what to do
- Keep availability clean by hand: the five fixes
- Preorders and continue selling: the grey zone
- What not to do
- Frequently asked questions
How do AI agents read stock data for Shopify out of stock products in ChatGPT?
Through Shopify Catalog. Shopify’s product discovery page for agentic storefronts says products are listed by default with their “title, description, options, images, price, availability”, and that “Shopify Catalog continuously updates your product data” so AI channels get your latest inventory and prices. No feed to build. No setting to switch on. Availability travels with every product whether you think about it or not.
The part almost nobody talks about sits in the developer docs. Shopify’s Global Catalog MCP reference describes the availability filter on catalog searches like this: it “Defaults to true (only sale-ready items). Set to false to include unavailable items.” So the sold-out product has not left the catalog. It’s still there. An agent that runs a plain search simply doesn’t get it back, and an agent would have to ask for unavailable items on purpose to see it.
Below the product level it gets finer. Each catalog variant carries an availability block (Shopify’s example shows "available": true, a status of in_stock and a running_low flag), and option values carry two signals, available and exists. In Shopify’s own example, shoe size 11 comes back as exists true, available false. Which is exactly how a sold-out size should look: real, just not buyable today.
OpenAI’s side points the same way. Its shopping help page, which we read on October 15, 2026, says merchants “are ranked based on factors like availability, price, quality, and whether they are the maker or primary seller of that item.” Availability is the first factor on that list. Not the last.
And Shopify’s admin scores it too. On the Agentic page (Sales channels > Agentic), every product’s listing quality includes “Variant & option completeness”, which Shopify’s managing agentic storefronts page defines as the number of variants and options “and their in-stock availability”. A product with five of six colours sold out is, by Shopify’s own measure, a less complete listing. Our walkthrough of Shopify’s five listing quality signals covers the other four.
Every stock situation, what agents see, and what to do
This is the table to bookmark. “What agents see” is what Shopify documents; where Shopify documents nothing, the cell says so rather than guessing.
| Stock situation in your admin | What agents see through Shopify Catalog | What to do |
|---|---|---|
| Tracked, in stock | Available, returned by a default search | Nothing. Keep descriptions and images complete |
| Every variant at zero, “Stop selling when out of stock” | Still in the catalog, but left out of a default search (only sale-ready items) | Keep it live if it will restock. Archive or set Unlisted if it never will |
| Some variants at zero | Product still returned; sold-out option values come back as exists true, available false | Fine. Restock or remove dead variants so the in-stock share stays high |
| “Continue selling when out of stock” on | Shopify does not document how the catalog labels it | Use it only for genuine preorders and made-to-order, and say the ship time in the description |
| Stock sits at a location that does not fulfil online orders | Shopify shows the product as out of stock | Move stock to the online fulfilment location |
| Dropshipping app location with no shipping rates | Shopify can show the product as out of stock | Add shipping rates for that location |
| Unpublished from Online Store when sold out (by Flow or by hand) | Not eligible: Catalog needs products published to the Online Store, Hydrogen or Headless | Republish on restock, and check it comes back in the Agentic search preview |
| Draft or archived | Not in the catalog | Correct for discontinued products only |
| Unlisted | Hidden from Shop and every third party agentic storefront | Use when a product must stay buyable by link but invisible to agents (it also leaves Google and store search) |
Sources for the rows: the location and dropshipping rows come from Shopify’s selling out of stock products page; the publishing and Unlisted rows from the Shopify Catalog requirements and the managing agentic storefronts page. The location row bites more stores than you’d think, because the product looks fine in the admin’s total and reads as sold out everywhere that matters.
How do you keep availability clean by hand?
Five fixes, in the order we’d run them. None needs an app.
1. Track quantity on every variant that can actually run out. Open Products, pick the product (or the variant), and in the Inventory section turn on “Track quantity”, then enter the units under “Available”. Shopify’s inventory setup page has the steps. Shopify’s stop-selling rule applies to tracked stock, so a variant you never track never reads as sold out, to a shopper or to an agent. Great for digital goods. Terrible for a shirt that’s gone.
2. Leave “Continue selling when out of stock” off unless you mean it. It lives under “Sell when out of stock” in the same Inventory section. With it on, customers can buy after stock hits zero, which Shopify suggests for quick restocks, preorders and made-to-order items. With it off (the default), a product at zero can’t be added to the cart. It’s also the setting most likely to be on by accident, flipped by a CSV import or left behind by a preorder campaign that ended months ago. Negative inventory on a product is the tell. Online, stock only goes below zero with continue selling on (Shopify POS can also oversell, with a warning to staff).
3. Put stock where online orders ship from. On multi-location stores, stock status depends on the location that fulfils online orders. Units at a retail-only location don’t count. Check which locations are set to fulfil online orders, and if you track different inventory per variant, check each variant’s quantity at the right location rather than the total.
4. Don’t unpublish to hide sold-out products. Shopify’s own hiding out of stock products page offers a Flow template called “Publish and unpublish products based on inventory level”. It works for the storefront. For AI channels it’s a blunt instrument: an unpublished product fails the catalog’s “published to the online store” rule, so it leaves Shopify Catalog completely, and it only returns once Flow republishes it and the catalog picks it up again. Prefer the collection condition instead (in each automated collection, Inventory stock, is greater than, 0, with “Match all conditions”), which tidies the collection page and leaves catalog eligibility alone.
5. Retire discontinued stock properly. Archive what will never come back. Dead products clutter your admin and your agent footprint alike; our guides on how to bulk archive old out of stock products and delete out of stock variants do it in bulk. Variants are worth the extra minute: a product with three dead sizes keeps telling the catalog, honestly, that half its options can’t be bought.
Then verify. Go to Sales channels > Agentic, type the product’s obvious query into the search preview, and see whether it comes back. Shopify calls that preview a directional signal, because each channel re-ranks, but a restocked product that’s missing from it has a problem worth chasing. Our guide to seeing what ChatGPT sees on a Shopify product walks through the preview in detail.
That works product by product. The trouble is the mismatch you can’t see from the admin: your admin says in stock, the catalog says otherwise (or the reverse), because of a location setting, a stale continue-selling flag, or a variant nobody tracks. We built Octolift’s Availability hygiene check for exactly that case. Octolift reads each variant’s availability from the live Shopify Catalog and compares it with your admin, and any mismatch scores zero of the check’s 6 points, so it shows up as a ranked fix instead of a mystery. It sits inside the 50-point Agent readiness half of a 0 to 100 score. Free for 5 products, $29 a month for 100.

“I was looking for a way to see how my products show up in AI recommendations and came across Octolift. It is a fairly new app, but I have been impressed with it so far. The scores are helpful, and the suggestions give me a good idea of what to improve. […] It has helped me understand what I can improve instead of just guessing.”
Silkora, Netherlands, October 16, 2026, Octolift on the Shopify App Store
Preorders and continue selling: the grey zone
Here’s where honesty beats confidence. Shopify’s docs say a default catalog search returns “sale-ready” items. A variant with “Continue selling when out of stock” turned on is, by definition, still for sale. Does the catalog treat it as sale-ready? Shopify doesn’t say, on any page we could find. So we won’t say either.
What we’d do about it is kinda boring, and it works. If a product is genuinely available to order, write the lead time into the description in plain words (“ships in 3 to 4 weeks”, “made to order, dispatched within 10 days”). The catalog infers its summary from your listing text, and an agent that recommends a preorder should be able to tell the shopper when it arrives. If a product is not genuinely available, turn continue selling off. A preorder that quietly became a permanent oversell is the worst of both: agents may present it as buyable, and the shopper finds out at the delivery date. Our full guide to setting up preorders on Shopify covers the storefront side.
One channel adds a wrinkle. Shopify’s Microsoft Copilot page says subscriptions, product bundles and customizable products aren’t supported in Copilot’s direct checkout. Preorders aren’t named on that list, so test one end to end before a launch rather than assuming.
What not to do with sold-out products
Our strongest opinion in this post: do not delete restockable products to “clean up” for AI. A sold-out product that comes back next month has a URL, reviews and a catalog record. Delete it and the replacement starts from nothing. The catalog already filters sold-out items out of a default search on its own, so deleting buys you nothing and costs you history. Why so many cleanup guides treat sold out and discontinued as the same thing, we honestly don’t know.
Three more, quickly:
- Don’t fake stock. Setting quantities to 999 or turning continue selling on everywhere keeps products “available” to agents and sets up refunds. OpenAI ranks on availability; it also ranks on quality, and cancelled orders don’t help anyone’s.
- Don’t rely on page schema for this. An Offer availability value in your theme’s JSON-LD only matters on the open web path, where a crawler reads the page. Shopify Catalog reads your admin data directly. Check what your theme publishes with the AI readiness checker or build a clean block with the schema generator, but don’t expect either to change catalog availability.
- Don’t forget the swatches. Sold-out variants on the storefront are a separate job. If you sell colours as variants, hiding sold-out variant swatches keeps the product page honest; if each colour is its own product, the same problem shows up as sold-out colour swatches across separate products, which is worth sorting before a sale.
That’s the fix. If you’d rather catch the next mismatch before a shopper does, Octolift re-scores a product on every scan, availability check included, and its catalog check works on every Shopify plan. Read the getting started guide, see how the score and the Availability hygiene check are built, or watch the tutorial video.
Frequently asked questions
Does ChatGPT show out of stock Shopify products?
Usually not while they’re sold out. Sold-out products stay in Shopify Catalog, but Shopify’s developer docs say a catalog search returns only sale-ready items by default, and OpenAI says it ranks merchants on factors including availability. Once stock returns, the catalog’s continuous updates make the product available again.
What happens when only one variant is sold out?
The product keeps appearing for its in-stock variants. In the catalog, the sold-out option value comes back as existing but not available. Shopify’s Variant and option completeness signal counts in-stock availability, so a product with most variants sold out reads as a weaker listing.
Should I unpublish sold-out products to hide them?
Not if they will restock. Unpublishing from the Online Store makes the product ineligible for Shopify Catalog, so it leaves every AI channel until you republish. Use an automated collection condition (Inventory stock is greater than 0) to hide it from collection pages instead, and archive only discontinued products.
Do preorder products appear in AI shopping results?
Shopify doesn’t document how the catalog labels a variant set to “Continue selling when out of stock”, which is how many preorders work. Write the ship time into the description so an agent can pass it on, and test one preorder through the Agentic search preview and each channel’s checkout before a launch.
Why does my product show in stock in the admin but sold out to customers?
The two causes Shopify documents: the stock sits at a location that doesn’t fulfil online orders, or a dropshipping app location has no shipping rates. Move the stock or add the rates, then re-check the product.
Which app should I use to check Shopify stock data for AI channels?
Octolift, built by Craftshift, reads each variant’s availability from the live Shopify Catalog and compares it with your admin as part of a 0 to 100 AI visibility score, then asks ChatGPT and Gemini your shopper questions. Free for 5 products; paid plans start at $29 a month for 100. It is rated 5.0 from its first review. Shopify’s own search preview checks one query at a time for free.
Related reading
- Shopify products not showing in ChatGPT? The fix
- Shopify Catalog and AI channels: the 2026 guide
- How to handle out of stock variants on Shopify
- What is Shopify’s Unlisted product status?
- How Shopify combined listings handle out-of-stock and archived products
Pick the product that sold out most recently and run it through the table above. If the admin and the catalog disagree about whether it can be bought, Octolift’s Availability hygiene check will flag that variant next to the other eleven checks.