All Platforms/ChatGPT Search
Frontier SearchBot Architecture • Edition 2026.10

How ChatGPT Search Crawls, Indexes & Recommends Shopify Stores

Learn how OpenAI's OAI-SearchBot and ChatGPT Search parse Shopify product catalogs, why client-side variants are skipped, and how to calibrate your store for conversational recommendations.

Crawler Specification MatrixChatGPT Search
User-Agent Token:

OAI-SearchBot (Mozilla/5.0 ... AppleWebKit ... OAI-SearchBot/1.0)

JavaScript Execution:

None (Static HTML)

IP Geolocations:

Ashburn VA, San Jose CA (US Anycast)

Recrawl Latency:

Dynamic / Real-time on search query evaluation

Why Shopify Stores Drop Out of ChatGPT Search

Single-Offer Schema Truncation

Severe: 68% of size/color specific shopping prompts fail availability verification.

Default Shopify themes emit only the selected variant in root JSON-LD. Sizes XS–XXL are added via JavaScript after user interaction.

Disregard of Client-Side Currency Converters

High: Disqualifies store on queries with budget constraints (e.g. 'under £80').

OAI-SearchBot connects from US data centers. If multi-currency apps rely on browser geolocation rather than server-rendered cart.currency.iso_code, pricing hallucination occurs.

Absence of Machine-Readable Return Windows

High: Up to 84% recommendation loss against structured competitors.

ChatGPT Search prioritizes buyer protection. Missing structured hasMerchantReturnPolicy leads to competitor substitution.

Production Code Calibration (liquid)

Drop-in Snippet
{%- comment -%} Full Nested Offers for OAI-SearchBot {%- 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 Implementation Sequence

  1. 1Audit your product.json or theme.liquid for static JSON-LD emission.
  2. 2Replace single variant offer object with dynamic liquid for-loop over all product.variants.
  3. 3Verify OAI-SearchBot is allowed in robots.txt (Disallow must not block /products/).
  4. 4Test endpoint response using Relayeo CLI: npx relayeo-check yourstore.com.
ChatGPT Search Compatibility ScannerFREE AUDIT

Simulate OAI-SearchBot on Your Store Right Now

Execute a headless crawl against your Shopify storefront matching the exact user-agent, headers, and geolocation used by ChatGPT Search.

Developer CLI Test:
npx relayeo-check yourstore.com