The Reach Bureau

How to Rank in ChatGPT Shopping: What Actually Decides It

Smartphone showing shopping app representing how AI search changes product discovery
Photo from Unsplash

# How to Rank in ChatGPT Shopping: What Actually Decides It

There is no ranking in the search sense here, and pretending otherwise is why most advice on this is useless. What there is: a retrieval step that decides whether your product is a candidate, and a selection step that decides whether it gets named in the answer. Different mechanisms, different work.

This is what each step actually depends on for a store, and what to check in what order.

Two paths into a shopping answer

The product data path. Structured commercial results — the ones with a price, an image and a link — are fed by product data. That data reaches these surfaces through the same feed infrastructure that serves other shopping channels, which means feed completeness and accuracy decide eligibility before anything on your site matters.

The page content path. Conversational answers that name products, brands and trade-offs are assembled from pages the system can fetch and read. Here your own content decides whether you appear, and specificity decides whether you are quoted.

Most stores work on neither and publish a blog post about AI instead. The two paths need different work, and it is worth knowing which one you are trying to appear in.

Two paths into an AI shopping answer: the product data path and the page content path, and the different work each one needs

Step one: confirm the crawlers are not blocked

Before anything else, verify that the relevant user agents get a 200 from your server. OpenAI operates distinct agents for different jobs — one for training crawls, one for search indexing, one for live fetches during a conversation — and blocking the wrong one has different consequences.

The block, when it exists, is almost never in `robots.txt`. It is at the CDN or WAF layer, where bot management catches unfamiliar agents under a generic rule, or in a security plugin that challenges anything without a browser fingerprint. A store can have a permissive `robots.txt` and still serve 403 to every one of them.

Test it directly, with each agent string, against a product page, a category page and the homepage. If any of them fails, nothing else on this list matters.

Step two: make the product data complete

For the structured path, the requirements are unglamorous and absolute: a stable identifier, brand, accurate price, accurate availability, shipping and returns information, and images that match the item.

Two failure modes account for most exclusions. Missing identifiers — GTIN, MPN or brand — leave the product unmatchable against everything else the system knows. And price or availability disagreeing between the feed and the page makes the item untrustworthy, which is treated the same as unavailable.

On WooCommerce this is where the default output falls short: `brand` and identifier fields are omitted unless you map them, and they need to exist at variation level, not only on the parent.

Step three: give the page facts that can be lifted

For the conversational path, what gets a product named is the presence of specific, checkable statements that answer the kind of question people ask an assistant.

That means dimensions, weights, capacities, compatibility, materials, what is in the box, how long a consumable lasts, and who the product is not for. It means those facts in rendered HTML, not only in JSON-LD and not behind a tab that loads on click.

It also means comparison content that takes a position. “For a small flat, this one; for a family, that one” is liftable. “We offer a range of options to suit every need” is not. Guides built this way are the format these systems quote most readily.

Where feed and page disagreement kills eligibility: identifiers, price, availability, and variation-level fields WooCommerce omits

Step four: be described consistently elsewhere

What a model believes about your brand comes largely from other sources: retailer listings, marketplaces, reviews, forums and press. If those describe you inconsistently — different names, different categories, different claims — the association is weak and a competitor with a consistent description wins the mention.

This is slow work and it is not on your website. It is why brand-level consistency matters more here than any on-page tactic, and it overlaps almost entirely with brand entity SEO.

How to measure it without a rank tracker

There is no position to track, so measure three things instead.

Prompt testing on a schedule: a fixed set of buying questions in your category, run monthly, recording whether you appear and what was cited alongside you. Vary nothing but the date, and expect run-to-run noise.

Referral traffic from assistant domains, isolated in analytics so it is not buried in direct.

Crawler hits in server logs, per agent, so you can see whether the systems are fetching you at all — which is the leading indicator for everything else.

What not to spend time on

Three things absorb most of the effort stores put into this and return almost nothing.

Writing about AI. A blog post explaining what generative search is does not make your products eligible for anything. It targets a query your buyers are not asking and it competes with every marketing publication on earth.

Keyword-stuffing for assistants. There is no keyword density that makes a summariser choose you. What it needs is a statement it can lift, attached to a condition. Repetition is not specificity.

Buying visibility scores. A dashboard reporting that you appear in some percentage of answers is a measurement, not a lever. It tells you nothing about which of the four steps above is failing, and the money is better spent fixing the feed.

The pattern is consistent: work that changes what a system can retrieve and verify pays off, and work that describes the situation does not.

The checklist

  1. Every relevant agent gets a 200 from the server, verified at the edge, not in `robots.txt`.
  2. Feed complete: identifier, brand, price, availability, shipping, returns.
  3. Feed and page agree on price and availability, checked continuously.
  4. Identifiers present at variation level, not only on the parent.
  5. Checkable facts in rendered HTML on every product page.
  6. Comparison content that names a situation and commits to an answer.
  7. Consistent brand description in the places other people list you.
  8. Monthly prompt tests, assistant referral traffic isolated, crawler hits logged.

Sources

Frequently Asked Questions

Not in the position sense. You can be eligible through complete product data, and you can be selected through content that states liftable facts. Those are the two levers.
It helps machines read your page, but for commercial shopping results the product feed is the primary input. Treat markup as necessary hygiene rather than the mechanism.
OpenAI’s separate agents for training, search indexing and live fetching, plus the equivalents from other assistant providers. Check each at the server and CDN layer.
Usually because the feed is incomplete, the crawlers are blocked, or your pages state nothing specific enough to quote. Occasionally because a competitor is described more consistently across the web.
Monthly, with a fixed prompt set. Answers vary between runs, so a single check tells you almost nothing.

Want this run against your store? Book a call with The Reach Bureau.

Share with AI

One-minute takeaway Summarize Explain like I'm a kid

Share this article

LinkedIn X Facebook Pinterest Email

Related articles

View all articles

Ready to scale your e-commerce?

Let's discuss your project and how we can help you achieve your growth goals.

Book a discovery call
Book a call with me, here is my schedule →