Digital Link

ChatGPT product visibility: a seven-step audit for AI assistants and shopping agents

Mia

By Mia

Writer specializing in GS1 standards and EU product-labeling regulation.

A shopper at a kitchen table browsing running shoes suggested by a chat assistant on a laptop, with a delivered shoebox carrying a QR code beside her

TL;DR

  • ChatGPT product visibility is not a mystery or a paid placement. OpenAI says its product results are selected independently and are not ads, and it documents what it reads: crawlable pages, structured metadata, merchant feeds and third-party content.
  • Google, Perplexity and Anthropic document overlapping inputs for their assistants, so one audit covers them too: crawler access, schema.org markup, a correct GTIN, consistent identifiers across retailers, a feed, an official data source and accurate claims.
  • Every step below has a pass or fail signal you can check yourself, starting and ending with the simplest test of all: ask the assistants about your product.

ChatGPT product visibility comes down to whether an assistant can reach your product data, recognise which exact product it describes, and trust it enough to repeat it. When someone asks ChatGPT for a product recommendation, OpenAI's shopping help page says it draws on structured metadata from first-party and third-party providers, other third-party content, and reviews from public websites. Your brand controls more of those inputs than most teams assume.

This guide is a seven-step audit, each step with what to check, how, and what a pass looks like. It centres on ChatGPT and names Google, Perplexity and Anthropic wherever their own documentation supports the same check. Everything below is stated as of October 2026.

How do AI assistants decide which products to show?

Each assistant documents a slightly different pipeline, but the inputs overlap heavily.

AssistantWhat its owner documentsBrand-side control
ChatGPTResults "are not ads". Inputs: structured metadata, third-party content, public reviews. Merchants ranked on availability, price, quality and whether they are the maker or primary sellerOAI-SearchBot access, a direct product feed (on application), Shopify Catalog
Google AI Mode, AI Overviews, GeminiNo special markup beyond normal Search eligibility. Merchant Center and Manufacturer Center data can feed generative AI featuresGooglebot access, structured data matching the page, Merchant Center
PerplexityPerplexityBot surfaces and links websites in Perplexity search resultsCrawler access for PerplexityBot
ClaudeClaude-SearchBot indexes content to improve search results for Claude usersCrawler access for Claude-SearchBot

Google states that there are no additional requirements or special optimisations for its AI features. ChatGPT ranks merchants partly on whether they are the maker or primary seller, which only works if it can tell that your listing and a retailer's are the same product. That is an identity question, and most of the steps below lead to it.

On scope: OpenAI's merchant page says shopping in ChatGPT is available to US users, with more regions to follow, and that OpenAI is moving away from a standalone Instant Checkout towards purchases completed on the merchant's own site. ChatGPT search answers product questions everywhere, so EU brands have the same reasons to run this audit.

The audit at a glance

StepWhat to checkHowPassFail
1. Ask the assistantsWhat ChatGPT, Gemini, Perplexity and Claude say about your product todayA fixed set of prompts, logged with date and answerCorrect product, variant, price band and claims, with your site or a real retailer citedWrong variant, invented features, a discontinued pack, or silence
2. Crawler accessrobots.txt and firewall rules for each vendor's search crawlerRead robots.txt; check CDN bot rules and server logsOAI-SearchBot, Googlebot, PerplexityBot and Claude-SearchBot can fetch product pagesAny of them blocked, by robots.txt or by a bot-protection rule
3. Structured dataschema.org Product and Offer markup on each product pageGoogle Rich Results Test; view sourcename, image, brand, offers with price, currency and availability, plus gtinMissing markup, or markup that disagrees with the visible page
4. GTINOne correct GTIN per variant, licensed to your companyCheck digit; Verified by GS1 lookupValid, specific to the variant, registered to youMissing, reused across variants, or a reseller's code
5. Consistency across retailersThe same GTIN, brand and title on your site and every retailer listingSearch the GTIN on each retailer and marketplaceOne identity, one set of core factsDifferent codes or conflicting specs for the same item
6. Feeds and official sourceA product feed in each programme you can join; a resolvable GS1 Digital LinkMerchant Center diagnostics; OpenAI feed spec; resolver testFeeds accepted; the GTIN resolves to brand-controlled dataNo feed, rejected items, or a QR code pointing at a dead campaign page
7. Claims accuracyEvery claim an assistant could repeat about your productCompare pages, feeds and retailer copy against evidenceSpecific, current, substantiated and identical everywhereGeneric or outdated claims, or claims that differ by channel

Step 1: What do the assistants say about your product today?

Start with a baseline, because every later step is judged against it.

What to check. Whether each assistant finds the product, names the exact variant, gets the core facts right, and cites a source you recognise.

How. Write a fixed set of prompts and reuse them in every audit: a category question without your brand ("best peat-free compost for tomatoes"), the same with your brand, the exact product name, the GTIN on its own, a comparison with your closest competitor, a question about a claim ("is it peat-free?"), and the same questions in your main market languages. Run them in ChatGPT, Gemini or Google AI Mode, Perplexity and Claude, in a clean profile where possible, since ChatGPT uses Memory and custom instructions as context. Log the date, the answer and the cited sources.

Pass. The right product and variant, facts that match your own page, and citations to your site or to retailers you actually supply.

Fail. A sibling variant presented as yours, a pack size you no longer make, features you never claimed, or nothing at all. The pattern of failures points to the step that needs work. Answers vary between runs, so the trend across audits matters more than any single answer.

Step 2: Can the assistants' crawlers reach your product pages?

What to check. That each vendor's search crawler can fetch your product pages, kept separate from the crawlers used for model training.

How. Open yourdomain.com/robots.txt and look for these user agents, each documented by its owner:

VendorSearch crawlerTraining crawlerUser-initiated fetcher
OpenAIOAI-SearchBotGPTBotChatGPT-User
GoogleGooglebotGoogle-Extended (a control token, not a separate crawler)
PerplexityPerplexityBotPerplexity-User
AnthropicClaude-SearchBotClaudeBotClaude-User

OpenAI's crawler documentation says sites that opt out of OAI-SearchBot will not be shown in ChatGPT search answers, apart from navigational links, and that robots.txt changes take about 24 hours to apply. Blocking GPTBot only signals that content should not be used for training, and Google says Google-Extended does not affect inclusion in Google Search. So a brand can decline training and still appear in search answers. The user-initiated fetchers may not follow robots.txt, and OpenAI states that ChatGPT-User does not decide what appears in search.

Then check the layer below robots.txt. Bot protection at a CDN or firewall can block these crawlers even when robots.txt allows them, so ask for the rule list and search your server logs for the user agents above.

Pass. Each search crawler can fetch product pages and the images and files they reference, and the logs show them doing so.

Fail. A Disallow: / for any search crawler, a firewall challenge page, or product content that only appears after JavaScript runs.

Step 3: Does each product page carry schema.org Product and Offer markup?

What to check. That every product page describes the product in schema.org vocabulary, and that the markup says the same thing as the visible page.

How. Run a product URL through Google's Rich Results Test. Google's merchant listing documentation requires name, image and an offers object with a price above zero and a currency, and recommends brand, availability and "all applicable global identifiers", using the most specific GTIN for the product.

A minimal shape looks like this:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Peat-free tomato compost, 40 L",
  "image": "https://example.com/images/tomato-compost-40l.jpg",
  "brand": { "@type": "Brand", "name": "Example Garden" },
  "gtin": "09506000134352",
  "hasGS1DigitalLink": "https://id.example.com/01/09506000134352",
  "offers": {
    "@type": "Offer",
    "price": "12.99",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}

Two details catch brands out. First, schema.org accepts either the numeric GTIN or a GS1 Digital Link URL in gtin, but Google says it does not support the URL form. Our recommendation is the numeric GTIN in gtin and the GS1 Digital Link URI in hasGS1DigitalLink, the schema.org property defined for it. Second, Google asks that structured data matches the visible text, so a price or stock status that differs from what a shopper sees is a fail even when the validator passes it.

Pass. Valid markup on every product page, one product per variant, values identical to the page.

Fail. No markup, markup only on the parent product, or a price, stock status or name that disagrees with the page.

Step 4: Does every variant have one correct GTIN?

What to check. That each variant (size, colour, formulation, pack count) has its own GTIN, that the check digit is valid, and that the GTIN is licensed to your company.

How. Check the check digits, then look each code up in Verified by GS1, the GS1 service that shows the company behind a GTIN. If it returns another company, or none, no amount of markup will fix it.

This is the step that turns similarity into identity. As Digital Link argued at the W3C/GS1 workshop in Zurich, names describe and identifiers identify: a description such as "40 L peat-free compost" can match several products, and only the GTIN names one.

The platforms' own documentation agrees. OpenAI's product feed specification makes gtin optional but requires exactly 8, 12, 13 or 14 digits with a valid check digit, and says not to invent a part number in place of a missing GTIN. Google's Merchant Center help says products with missing or incorrect GTINs may have limited visibility and that accurate matching cannot be assured without one.

Pass. One valid GTIN per variant, registered to your company, used in your markup, your feeds and on the pack.

Fail. Codes bought from a reseller, one GTIN reused across sizes, or a new formulation sold under the old code.

Step 5: Do retailers and marketplaces describe the same product the same way?

What to check. That your product carries the same identity and core facts on your own site, every retailer and every marketplace where it is sold.

How. Search each retailer by GTIN and compare brand, title, pack size, key attributes and claims against your master data.

ChatGPT says it builds its merchant list from merchant and product metadata, and may simplify titles "since merchants often use varying titles and descriptions for the same product". An assistant can only merge five listings confidently when they share an identifier. When they disagree, it treats them as different products or picks one version of the facts, which may not be yours.

Pass. Every listing carries the same GTIN and the same core facts, and retailers receive those facts from one source you maintain.

Fail. Retailer copy written from an old spec sheet, a marketplace seller using its own code, or translations that change the claims.

Step 6: Are you feeding the programmes, and does your product resolve to an official source?

What to check. Whether you submit product data directly where assistants accept it, and whether a machine holding your GTIN can reach your official data without a retailer in between.

How, for feeds.

  • Google. Check Merchant Center diagnostics for disapproved or limited items, and fix GTIN and attribute errors first. In May 2026 Google announced Merchant Center reporting on how products appear in AI Mode, AI Overviews and the Gemini app, initially for five non-EU countries.
  • ChatGPT. Merchants can apply to share a product feed; Shopify and Etsy merchants are already integrated. The specification asks for nine fields per item or variant: item_id, title, description, url, brand, seller_name, image_url, availability and price. OpenAI says this is built on the Agentic Commerce Protocol, an open specification maintained by OpenAI and Stripe, which its repository describes as in beta.

How, for the official source. A feed reaches one platform. An identifier on the open web reaches any agent. With GS1 Digital Link, the GTIN becomes a web address under the brand's control, and the brand can point it at current information without changing the QR code on the pack. Test yours:

  1. Open the GS1 Digital Link URI from your pack in a browser. It should land on the right product in the right language.
  2. Request it as a machine would. A GS1-conformant resolver returns the full list of links for the product, a "linkset", when asked for application/linkset+json.
  3. Check the destination carries the same schema.org markup as step 3.

No assistant's documentation, as of October 2026, says it resolves GS1 Digital Link URIs or ranks products that have one. Our reading is that it is the cleanest way to give any agent one brand-controlled answer to "what exactly is this product?", at the same address that can carry Digital Product Passport data where the ESPR requires it. Any benefit is indirect, through consistent identity and data. A QR code on the pack does nothing for an assistant that never sees the pack, and it does not replace steps 2 to 5.

Pass. Feeds accepted where you are eligible, and the GTIN resolves to current, brand-controlled data for people and machines.

Fail. No feed anywhere, rejected items left unfixed, or a QR code that leads to a dead or generic page.

Step 7: Would you be happy for an assistant to repeat every claim?

What to check. Every claim an assistant could pick up about your product: on your page, in your feeds, in retailer copy and in the reviews it may summarise.

How. List the claims per product and check each against its evidence. Then compare the list with what the assistants said in step 1.

Assistants repeat what they find. ChatGPT may add labels such as "Budget-friendly" and review summaries, which OpenAI says are model-generated and not verified. Vague or outdated copy gets repeated with confidence.

EU environmental claims need extra care. Since 27 September 2026, Directive (EU) 2024/825 bans generic claims such as "eco-friendly" without recognised excellent environmental performance, and claims of climate neutrality based on offsetting. Our guide to green claims on packaging covers what changed. A claim you removed from the pack but left in a retailer feed is still your claim, and an assistant may still quote it.

Pass. Specific, substantiated, current claims, identical on pack, page, feed and retailer listing, with the evidence one click away.

Fail. Generic or outdated claims anywhere in the chain, or claims that differ by channel or language.

What to do now

  1. Run step 1 this week across four assistants. This is your baseline.
  2. Fix crawler access. Allow the search crawlers, decide separately on training crawlers, and check the CDN as well as robots.txt.
  3. Audit GTINs before markup. A wrong identifier in perfect markup is still wrong.
  4. Correct Product and Offer markup, with the numeric GTIN in gtin and the Digital Link URI in hasGS1DigitalLink.
  5. Search every retailer by GTIN and send corrections from one master source.
  6. Clean up Merchant Center and your ChatGPT feed route, and make the GTIN resolve to current, brand-controlled data.
  7. Review claims across every channel, then repeat step 1 every quarter.

Digital Link is a GS1 solution partner, and our platform gives each product a standards-based GS1 Digital Link with a resolver and product pages that carry structured data and can be updated without reprinting packaging. For agent visibility, that is the official source in step 6: one brand-controlled address that people, retailers and AI agents can all resolve to the exact product. If you want to run this audit on your range, get in touch and we will go through it with you.

Frequently asked questions

Can I pay to appear in ChatGPT product results?

No. OpenAI says product results are selected independently by ChatGPT and are not ads or influenced by partnerships. Ads in ChatGPT exist but are shown separately from product results.

Do I need a product feed to appear in ChatGPT?

No. OpenAI's merchant page says a feed is not required if ChatGPT already crawls your site, but a feed gives you more control over how products appear and keeps price and availability current. Shopify and Etsy merchants are already integrated.

Will blocking GPTBot remove my products from ChatGPT?

Blocking GPTBot signals that your content should not be used for model training. Visibility in ChatGPT search answers depends on OAI-SearchBot, which OpenAI documents separately. Check that you have not blocked both by accident.

No assistant documents it as a ranking factor as of October 2026. It helps by giving every product one brand-controlled identifier and data source, which makes listings easier to reconcile and facts easier to keep consistent. That is our reading, not a platform statement.

Is ChatGPT shopping available in Europe?

OpenAI's merchant page says shopping is available to ChatGPT users in the United States and will expand to more regions over time. ChatGPT search still answers product questions elsewhere, using the same pages and data.

Be a leader in the transition from barcodes to GS1 QR codes