ChatGPT shopping: how a store becomes eligible
When someone asks ChatGPT for a product recommendation, the answer is assembled from sources it can reach and parse. This page covers what ChatGPT actually fetches from an ecommerce store, which user-agents are involved, and the specific reasons a store is never mentioned.
ChatGPT shopping refers to product discovery and recommendation inside ChatGPT, where the assistant retrieves merchant and product information from the web and from partner data, then recommends specific products in response to a shopper's requirements.
The user-agents that matter
OpenAI publishes distinct crawlers with distinct purposes, and treating them as one thing is the most common merchant mistake. If you want to appear in live shopping answers, the retrieval agents are the ones that must be allowed.
| User-agent | Purpose | Blocking it means |
|---|---|---|
| OAI-SearchBot | Builds the search index used to answer live questions | You are not in the candidate set for shopping answers |
| ChatGPT-User | Fetches a page because a user's request needs it now | Your page cannot be read during an active conversation |
| GPTBot | Collects training data | Your content is excluded from future model training only |
User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: GPTBot Disallow: /
Why a store never appears
In the stores we scan, non-appearance almost always reduces to one of four causes, in this order of frequency.
- The product page has no product data
- JSON-LD injected client-side, or none at all. Two-thirds of the stores in our 120-store sample failed here.
- The catalogue is not enumerable
- No sitemap, or a sitemap listing only collections and articles. Twenty-two percent of sampled stores published a sitemap with zero product URLs.
- Retrieval agents are blocked
- Usually inherited from a bot-mitigation rule or a blanket AI opt-out that swept up OAI-SearchBot alongside GPTBot.
- The record is incomplete
- The store is readable but the offer has no availability, no currency, or no return terms — so it loses every comparison to a store that has them.
The same work covers the other assistants
Nothing above is OpenAI-specific except the user-agent names. Perplexity, Gemini and browser agents built on Claude consume the same signal layer: robots access, a sitemap, server-rendered Product JSON-LD, and machine-readable policy fields.
That is the practical case for treating this as one workstream rather than a per-vendor integration. You publish once; every agent reads the same thing.
Frequently asked questions
- How does ChatGPT find products to recommend?
- It combines a search index built by OAI-SearchBot, live fetches by ChatGPT-User when a conversation requires current information, and partner data. Product details are extracted from your pages, primarily from Product JSON-LD.
- Do I have to allow GPTBot to appear in ChatGPT shopping?
- No. GPTBot is the training crawler. Appearing in shopping answers depends on OAI-SearchBot and ChatGPT-User. You can allow those two and disallow GPTBot.
- Why does ChatGPT recommend my competitor instead of me?
- Most often because their product record is complete and yours is not — availability, currency, brand, identifier and return terms present versus absent. Assistants recommend what they can justify, and unknown fields count as risk rather than as neutral.
- Can I submit my store to ChatGPT?
- There is no general submission form that guarantees inclusion. Eligibility comes from being crawlable and parseable. Merchant programmes and paid surfaces exist and are expanding, but they do not compensate for an unreadable product page.
- How do I check whether ChatGPT can read my product pages?
- Fetch a product URL with JavaScript disabled and look for a Product JSON-LD block containing price, priceCurrency and availability. Prefero's free scan does this across a sample of your catalogue and reports the missing fields.
Check your ChatGPT shopping eligibility
The scan checks your robots rules against OpenAI's published crawlers and audits what they would extract.