[ diagnostic ]

Why You're Not in ChatGPT Shopping

Agent behavior changes with every model update.
Last verified: 2026-08-20

If your store isn't showing in ChatGPT shopping, the cause is almost always product-data gaps (vague titles, missing availability or category, or AI crawlers blocked in robots.txt), not a hidden eligibility setting.

On this page
  1. The diagnostic order
  2. 1. Are the crawlers blocked?
  3. 2. Are there gaps in your product feed?
  4. 3. Do your titles and categories match the query?
  5. 4. Have you cleared the official eligibility bar?
  6. When to stop guessing and measure
  7. This page diagnoses; the playbook optimizes

Symptoms this page covers:

  • Your products do not appear in ChatGPT shopping results.
  • You are eligible and your catalog is live, but nothing surfaces for the searches it should win.
  • You changed titles, resubmitted the feed, and edited robots.txt, and still see no change.
  • You are hunting for a hidden 'enroll' or 'turn me on' switch that does not seem to exist.

Key takeaways

  • A store missing from ChatGPT shopping is almost always a data-legibility problem, not an eligibility one, so work the causes in a fixed order instead of changing everything at once and refreshing to see what happens.
  • Diagnose in sequence, most fundamental cause first: can the crawlers reach your pages, is the feed complete enough to represent a buyable item, do your titles and categories carry the words a shopper types, and only then, have you cleared the official eligibility bar?
  • Step one rules out the silent blocker: confirm the surfacing crawlers (OAI-SearchBot, ChatGPT-User) can actually fetch a live product URL. A WAF, a CDN bot-manager, or a stray Disallow returning a 403 is just as fatal as being ineligible, and far easier to miss.
  • Most misses resolve at steps two and three: a feed row with no availability can't be represented as buyable, and a title without the words a shopper types has nothing to match against.
  • There is no hidden 'enroll' switch to flip. Once you've ruled out the data causes and cleared eligibility, stop diagnosing and measure. This page finds the cause, and the ChatGPT optimization playbook is where the fixes live.

The diagnostic order

When your products don't appear in ChatGPT, the instinct is to change everything at once: rewrite titles, resubmit the feed, edit robots.txt, and refresh to see what sticks. Resist it. The causes sit in a dependency chain, and fixing a downstream one while an upstream one is still broken changes nothing you can observe, which is how stores waste weeks chasing the wrong lever.

Work the causes in this order, stopping at the first one that's true:

  1. Can ChatGPT's crawlers reach your pages? If they're blocked, nothing downstream is visible, so this is always first.
  2. Is your product feed complete enough to represent the item as a purchasable offer?
  3. Do your titles and categories contain the words a shopper actually types?
  4. Have you cleared OpenAI's own eligibility process?

This page is the reactive "why am I not showing?" flow. Each branch below tells you how to confirm whether it is your cause, then hands you off to the page that fixes it. It diagnoses, it does not re-teach the fix. When you want the proactive, do-all-of-this-up-front version instead, that is the ChatGPT Shopping Optimization playbook, which is this page's sibling: one troubleshoots, the other optimizes.

1. Are the crawlers blocked?

Two separate pipes carry your products into ChatGPT (your structured product feed and your live pages), and the fastest miss to rule out is that ChatGPT simply can't read the second one. OpenAI documents the agents that surface sites inside ChatGPT: OAI-SearchBot, which indexes and links pages and carries a named user-agent token that robots.txt can allow or disallow, and ChatGPT-User, the fetch triggered when a user's own request reaches your URL, whose robots.txt rules may not apply because that fetch is user-initiated rather than a crawl.Spec-factOpenAI, Bots documentation A Disallow blocks OAI-SearchBot outright, but ChatGPT-User needs a different lever: because robots.txt may not govern it, a merchant who wants to control that fetch has to look at a web application firewall, a CDN "bot manager," or a "block AI bots" plugin at the edge instead. Both paths (a robots directive or an edge-layer block) add up to the same failure mode: an agent that is shut out cannot see your catalog at all, and every later step is moot.

The diagnostic is concrete: fetch a live product URL the way one of those agents would, and confirm it returns the page and not a block. If it doesn't, that's your cause, and the allow-list that fixes it, plus the edge-layer gotchas that cause most accidental blocks, live in AI crawlers, robots.txt & llms.txt for stores. Fix it there, then come back and check whether the products appear before touching anything else.

2. Are there gaps in your product feed?

If the crawlers can reach you and you're still missing, the next cause is a feed too thin for an agent to treat your item as a real, buyable offer. The Agentic Commerce Protocol (the open standard OpenAI and Stripe use for ChatGPT commerce) defines the product-feed fields an agent consumes, including availability and price, so an item can be represented and transacted.Spec-factAgentic Commerce Protocol: product feed spec A feed row that leaves availability blank can't be shown as in stock, and one with no category is hard to file under the category a shopper is browsing. Those are legibility gaps, not eligibility failures: the item is allowed, it's just under-described.

OpenAI's own feed spec makes that bar concrete enough to audit against. The product feed specification requires item_id, title, description, brand, image_url, price with an ISO 4217 currency, an enumerated availability value, seller_name, target_countries, and a product url that returns HTTP 200; gtin or mpn is required unless identifier_exists is set to no; and each item carries is_eligible_search and is_eligible_checkout flags, with seller_privacy_policy and seller_tos required once an item is flagged checkout-eligible.Spec-factOpenAI, Agentic Commerce product feed specification Two diagnostic reads follow. A row missing any required field is not a complete offer, however good the product. And the two eligibility flags mean surfacing is per-capability: an item can be flagged for search but not for checkout, so check which flags your feed actually sets before concluding you are invisible everywhere.

This is a data-completeness problem, and the fix is a checklist rather than a switch. Rather than repeat it here, walk it in make your product feed AI-readable, which covers exactly which attributes to fill and why the gaps are what make agents skip you. Return here only if a complete feed still doesn't surface you.

3. Do your titles and categories match the query?

With the crawler and the feed both cleared, the remaining common cause is subtler: you're eligible, visible, and complete, but nothing you publish contains the words the shopper is actually typing. Agents match a shopper's query against your title and category fairly literally, so a brand-led title like "The Luna" has nothing to match for a query like "organic cotton weighted sleep mask", which is how a perfectly eligible product can stay invisible for the exact search it should win.Hypothesis (our analysis)

This is the one cause that looks like an eligibility problem but is really a matching one, and it's why "we did everything right and still don't show" is so common. The fix (the title formula that leads with category, attribute, and use-case) is in product titles that AI agents match; this page's job is only to point you there once the two upstream causes are ruled out.

4. Have you cleared the official eligibility bar?

Only after the three data causes are genuinely excluded is it worth suspecting eligibility, and even then, eligibility is the one branch we deliberately link out on rather than teach, because it is official-docs turf and it changes. The Agentic Commerce Protocol's own FAQ says implementing it does not guarantee automatic product listings: each AI platform "will manage their own process" for how businesses can participate, so passing the protocol's technical bar and clearing a platform's eligibility review are two different things.Spec-factAgentic Commerce Protocol

OpenAI runs its own merchant eligibility process, and its shape is now stated in OpenAI's own developer docs. OpenAI's commerce documentation states that onboarding product feeds in ChatGPT "is currently available to approved partners", with merchants applying through the merchant form, and that listed products must meet OpenAI's product policies (legal, safe, and suitable for general audiences).Spec-factOpenAI, Agentic Commerce get-started guide The merchant page itself now states the mechanics that decide this branch. Applicants who have already applied are on a waitlist; merchants selling through Shopify or Etsy have their catalogs already integrated, with no application needed; shopping in ChatGPT is currently live for US users only, with more regions planned over time; and a self-serve merchant platform for data integration is planned for later in the year.Spec-factOpenAI, ChatGPT merchants page Three diagnostic reads follow. If you sell through Shopify or Etsy, this branch is already cleared for you, so your cause is upstream in the data steps. If you applied and heard nothing, you are queued, not rejected. And if your shoppers are outside the US, absence is currently expected regardless of data quality, so stop debugging and watch the region rollout instead. For everyone else: if you never applied, or applied and were not approved, that is your cause, and no amount of feed or title work changes it. The canonical place to apply and confirm your status is OpenAI's merchant page at chatgpt.com/merchants(opens in new tab). We deliberately do not restate the detailed criteria here; they are OpenAI's to define and they change on OpenAI's schedule, so confirm the current requirements on the official page rather than relying on any restatement, ours included.

What eligibility is not is a hidden toggle buried in a dashboard: there is no secret "turn me on" switch that a merchant is failing to find. Once you've met the published requirements and your data is legible, you are in the candidate set, and everything that decides whether you actually get recommended from there is selection, not eligibility.Hypothesis (our analysis)

When to stop guessing and measure

Once you've walked the tree and fixed what you found, resist the urge to keep eyeballing ChatGPT and hoping. Being in the candidate set (eligible and legible) is not the same as being the product the agent recommends; that is a separate outcome, and it moves. The disciplined next step is to measure it: run a repeatable protocol and track your agent win rate rather than reacting to a single lucky or unlucky prompt. How we test agent selection gives you the prompts, sampling, and error bars to do that honestly, so a fix you shipped shows up as a real, repeatable change and not a coincidence.

This page diagnoses; the playbook optimizes

Keep the two jobs separate. This page is the reactive decision tree: the flow you run after you notice you're missing, to find the single cause. ChatGPT Shopping Optimization is the proactive playbook: the feed, title, and crawler work you do up front so you never end up here. They are deliberate siblings: diagnose on this page, fix on that one. The same four-branch logic applies to the other engines on different rails: Gemini and Google AI Mode and Perplexity each have their own troubleshooting surface, reached from the platforms hub.

[ newsletter ]