Key Takeaways
- ChatGPT answers product questions from a merchant-supplied feed, not from a crawl of your site, and the feed is treated as the source of truth when the two disagree.
- The ChatGPT product feed requirements are a pass or fail check that runs before ranking, so a product missing a required field is dropped from the file, silently.
- Identifiers are the common blocker, and no tool can generate a GTIN for you because they are assigned by manufacturers and GS1.
- Feed updates are accepted as often as every fifteen minutes, so a nightly export is usually too slow for a moving catalog.
- In-chat checkout moved into apps in March 2026, but discovery stayed, which makes the feed more important rather than less.
What ChatGPT Reads Before It Names a Product
When a shopper asks ChatGPT for a product, the answer is assembled from a product index rather than from a crawl of your website. Merchants supply that index through the OpenAI product feed, and the feed is treated as the source of truth. If your site says one price and your feed says another, the feed wins.
That inverts the usual instinct. You cannot fix your visibility inside ChatGPT by improving your product pages, because the pages are not what gets read.
It is also worth being straight about what the feed is for in August 2026. OpenAI launched Instant Checkout in September 2025 and spent the following year walking it back. In March the company said in-chat checkout was moving into apps, after a period in which shoppers asked plenty of product questions inside ChatGPT and completed very few purchases there. Walmart measured in-chat checkout converting roughly three times worse than a click through to its own site.
The feed did not go away with it. If anything it matters more now, because discovery is the entire job it does. The checkout half of the standard stalled and the feed half survived, which turns AI visibility into a data problem rather than an integration problem.
The ChatGPT Product Feed Requirements, Field by Field
There are two tests here, and merchants tend to worry about the wrong one first.
The first is eligibility. A product missing a required field does not rank badly. It is dropped from the file before ranking is a question. The required set is short: a stable product ID, a title of up to 150 characters, a description of up to 5,000, a price with an ISO 4217 currency code, an availability state, at least one working image URL, and a link to the product page. Flags alongside those tell the platform what each product is eligible for, including search and checkout.
None of that sounds hard, and for one product it isn’t. At catalog scale it is where things quietly break. Prices exported with a currency symbol where a currency code belongs. Availability written as a phrase the spec does not recognise. Image URLs that resolve fine across most of the catalog and 404 for the few percent that changed last quarter. Each one removes a product without telling you, and you find out by noticing that something never appears.
Identifiers Decide Whether the Machine Knows What Your Product Is
Product identifiers deserve their own section because they fail differently from the other fields.
The spec asks for a valid GTIN or MPN when you omit the identifier_exists flag or set it to yes. A GTIN is 8 to 14 digits, no dashes or spaces. It exists so a machine can tell that the running shoe in your catalog and the running shoe in forty other catalogs are the same object, which is the difference between being compared against competitors and being left out of the comparison.
Some tools will offer to solve this for you. They cannot. GTINs are assigned by manufacturers and GS1, so anything that fills in a missing one is generating a number that belongs either to somebody else’s product or to nothing at all, and submitting those is a policy violation on every surface you would send them to. The honest version of the work is finding out exactly which products have no identifier, then sourcing real ones from the manufacturer or GS1.
Freshness Is Written Into the Spec
The platform accepts feed updates as often as every fifteen minutes, and that cadence is why the feed outranks your live site as the source of truth.
A stale feed does real damage in this setting. An assistant reads your data, tells a shopper the item is in stock at $128, and sends them to a page where it is sold out or priced differently. That is worse than not appearing, because it spends the trust the recommendation was built on. Your refresh cadence should track how fast your inventory actually moves, which for most stores means considerably more often than the nightly export somebody set up years ago.
Your feed is not a document you publish once. It is a live claim about your catalog, and an assistant will act on it in front of a customer.
Eligible Is Not the Same as Recommended
Clear the field check and you are in the index. That is the floor, not the goal.
The attributes that decide whether you get named are the ones the spec calls optional: color, material, size, dimensions, weight, return policy, ratings and reviews, and whatever regulatory information your category requires. None of them gate eligibility. All of them decide whether an assistant can match your product to the specific sentence a shopper typed.
Take “a machine washable wool runner in grey, men’s 11, that ships free.” That is four conditions and a size. Products carrying those attributes get compared. Products carrying a title and a price get skipped, which is the same failure that keeps most catalogs out of AI recommendations everywhere else.
How to Check Your Catalog Before You Submit
You can find out where you stand without applying to anything first.
UCP Radar samples your catalog and reports the percentage of products that would actually be eligible, with a ranked list of what is blocking the rest. In practice that list is usually a missing brand, a missing or invalid identifier, or a price it cannot parse. It mirrors what would be dropped from the file itself, so you get specific fixes rather than a vague verdict.
From there the enrichment runs across the whole catalog. Weak titles rewritten, attributes like color and material filled from what your product data already contains, structured highlights and specifications generated in eight languages, everything checked against more than 50 Merchant Center rules. Identifiers are deliberately left alone, because that is the line between enrichment and fabrication.
The output for this surface has its own shape: a complete product file in the JSONL format the platform expects, hosted at a stable URL. Once OpenAI approves you into its merchant program, you point your own feed configuration at that URL. Nobody pushes your catalog on your behalf. If you are still deciding whether to apply at all, the submission guide covers the two routes in.
The same enriched catalog also produces the supplemental feed that merges onto your primary feed inside Google Merchant Center. One round of data work, two surfaces, plus the lift to Google Shopping and Performance Max that better attributes bring regardless of what any AI assistant does.
Conclusion
The version of agentic commerce that got the headlines, where an agent buys the thing for you inside the chat, is not the version merchants need to prepare for this year. The version that is real is quieter. A shopper asks a question, an assistant answers with specific products, and the shopper clicks through to buy on your own site.
Both versions run on the same input: a complete, correctly formatted, fresh product file with real identifiers in it. That is not a checkout project and it is not an integration project. It is a data project, and it is the same one that decides your visibility on every other AI surface. If you want to see how much of your catalog would survive the field check today, UCP Radar will score it and hand you the list of what is missing.
Frequently Asked Questions
At minimum each product needs a stable ID, a title of up to 150 characters, a description of up to 5,000 characters, a price with an ISO 4217 currency code, an availability state, at least one working image URL, and a link to the product page. Products missing a required field are dropped from the file rather than ranked poorly, so eligibility is a pass or fail check that runs before any relevance matching.
You need a valid GTIN or MPN when you omit the identifier_exists flag or set it to yes. A GTIN is 8 to 14 digits with no dashes or spaces, and it lets a machine recognise that your product and the same product in another catalog are the same object. GTINs are assigned by manufacturers and GS1, so no tool can generate them for you. The real task is identifying which products lack one and sourcing it from the manufacturer.
The platform accepts updates as often as every fifteen minutes, and that is why the feed is treated as the source of truth over your live site. Match your refresh cadence to how fast your inventory moves. A stale feed causes an assistant to recommend a product at the wrong price or as in stock when it is not, which costs more trust than not appearing at all.
In March 2026 OpenAI said in-chat checkout was moving into apps, after a period where shoppers asked plenty of product questions inside ChatGPT but completed very few purchases there. The durable pattern is discovery inside the assistant and checkout on your own site. The product feed still matters, because discovery is now the whole job it does.
No, they are separate deliverables in different formats. Google takes a supplemental feed that merges onto your primary feed by product ID, while the ChatGPT surface takes a complete standalone product file. The underlying product data is the same, which is why one round of catalog cleanup can serve both surfaces at once.