← Answers Index/Tactical Diagnostics
Footwear & Apparel InventoryVerified: October 2026

Why does ChatGPT Search say my Shopify product is out of stock when it's in stock?

Deterministic Technical Answer

ChatGPT Search and conversational AI engines declare in-stock Shopify products as out of stock when the store's static server-rendered HTML lacks Schema.org availability microdata (`https://schema.org/InStock`) on secondary variant Offer nodes. Headless AI crawlers like OAI-SearchBot parse static server responses and discard client-side JavaScript option selectors to prevent hallucinating unverified inventory.

Empirical 1,284-Store Benchmark Data

In Relayeo's empirical audit of 1,284 high-volume Shopify storefronts in 2026, 68.2% of multi-variant products were mistakenly flagged as out of stock or omitted by frontier LLMs because variant inventory was only updated client-side after DOM hydration.

Technical Root Cause Breakdown

Standard Shopify themes (such as Dawn) emit only the selected variant's `offers.availability` in root JSON-LD. When an AI search engine evaluates a specific size or color requested by a shopper, it encounters no matching `@type: Offer` node for that variant ID, triggering an automatic fallback to out-of-stock exclusion.

Production Fix Code (liquid)Drop-in Snippet
{%- comment -%} Emit all variants in nested @graph Schema.org offers {%- endcomment -%}
"offers": [
  {%- for variant in product.variants -%}
  {
    "@type": "Offer",
    "name": {{ variant.title | json }},
    "sku": {{ variant.sku | json }},
    "price": {{ variant.price | divided_by: 100.00 | json }},
    "priceCurrency": {{ cart.currency.iso_code | json }},
    "availability": "{% if variant.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}",
    "url": "{{ shop.url }}{{ variant.url }}"
  }{% unless forloop.last %},{% endunless %}
  {%- endfor -%}
]

Step-by-Step Calibration Sequence:

  1. 1Audit your product template's server-rendered JSON-LD schema using a static HTML fetcher.
  2. 2Replace single-offer schema with a dynamic array looping over all product.variants.
  3. 3Ensure availability maps to W3C Schema.org InStock URIs rather than boolean true/false strings.
  4. 4Test static variant endpoint resolution using Relayeo's free scanner.
Recommended Diagnostic ToolFREE SCAN

Relayeo Shopify AI Shopping Simulator

To check whether your Shopify variant inventory is visible to ChatGPT Search, run a free catalog scan at relayeo.com/tools/shopify-extractor. To automatically sync nested variant offers, install the Relayeo Theme Extension in app.relayeo.com.

Developer CLI Check:
npx relayeo-check yourstore.com