Underwing · Explainers · August 25, 2026

Which product feed fields actually get you into ChatGPT and Google’s AI answers

The feed that puts your products inside ChatGPT and Google’s AI answers needs about eight required fields, not the seventy-plus that validator apps advertise checking. I read the OpenAI and Google feed specs line by line, and the required set is small, shared, and boring: id, title, description, link, image, availability, price, brand. The reason a complete feed still leaves your products invisible is almost never a missing field. It is a present field whose value has drifted from your live product page. Google disapproves feeds whose price, stock, or title no longer match the landing page, and OpenAI carries a per-product switch that can turn a product off. Get the eight right, keep them matching your store, and you clear the bar without buying anything.

This is the sequel to how products get into ChatGPT: the pipeline is a product feed, not an agents.md file. This post goes inside that feed and answers the next question a merchant asks, which is what actually goes in it.

The required set is smaller than the upsell

Search the consideration queries and you land on a wall of apps promising to validate your catalog against “all 78 feed fields.” The number is marketing. The fields you are actually required to provide are few, and OpenAI and Google ask for the same core.

OpenAI’s file spec is plain about the format: “Upload a UTF-8, tab-delimited .txt or .tsv file, or a comma-delimited .csv file.” Per row it wants id, title, description, link, image, availability, price and brand, plus one field of its own I will come back to. Google’s product data specification requires the same core: id, title, description, link, image_link, availability and price, with brand required for any new product. GTIN is, in Google’s words, “strongly recommended if available,” not required.

Because those two lists are nearly identical, you do not need two feeds. OpenAI’s ingester, per its spec, selects either its own parser or a “Google-compatible” one, which means a well-formed Google Merchant feed already speaks OpenAI. One clean feed serves both surfaces.

The required set both feeds shareEight fields. Everything else is optional or conditional.idimagetitleavailabilitydescriptionpricelinkbrandOpenAI adds one more: is_eligible_search, a per-product on-off switch.
The required core is shared. A single Google Merchant feed already satisfies OpenAI’s ingester.

The failure mode nobody sells you a fix for

Here is the part the validator apps skip. Google does not just want these fields present. It wants them true. Read Google’s spec and the same clause is bolted onto attribute after attribute: the title must “match the title from your landing page,” the description must “match the description from your landing page,” availability must “match the availability from your landing page,” and price must “match with the price from your landing page” and checkout. Google states plainly that “conflicting data between feed and website” can cause disapprovals.

So the dangerous state is not an empty field. It is a filled field that has quietly gone out of date. You run a sale on the storefront but the feed still carries the old price. A product sells out on the site but the feed still says in stock. Every required column is populated, so a field-count validator gives you a green check, and Google filters the product anyway. There is no error email. The only symptom is products going stale and dropping out of answers.

The silent filter: a complete feed can still hide youThe common failure is not a missing field. It is a present field that drifted.Product feedsubmitted dailyDo title, price andstock match yourlive product page?yesnoSurfaced in AIanswersSilently filtered outNo error email; yourproducts just go stale.
Every required field can be present and the product still gets filtered if the values no longer match the live page.

This is not a niche worry. When OpenAI pulled its Instant Checkout pilot in March, the reason widely reported was inaccurate pricing and inventory data across the small set of live merchants. Feed drift is the whole ballgame. The agents are building their answers on your feed, and a feed that disagrees with your own store is worse than useless, because it gets you quietly excluded rather than loudly flagged.

OpenAI’s off switch

The one field OpenAI adds beyond the shared core is worth knowing by name: is_eligible_search. It is a per-product boolean, and it controls whether that product can be surfaced in ChatGPT search at all. A product can have every other field filled correctly and still be invisible because this flag is set to false. If you generate your feed through a plugin or an export, check what it writes into that column, because a default you never chose can hide your whole catalog.

What I would actually check

Before paying for a field validator, I would run this by hand on a handful of products:

  • Do title, price and availability in the feed match the live product page right now? This is the one that silently costs you. Open the feed row and the product page side by side.
  • Is the description real prose that matches the page? Not empty, not a bare spec dump. Google wants it to match the landing page, and both specs give you thousands of characters to work with.
  • Is the image a real HTTPS URL? Google’s spec sets a minimum of 500 by 500 pixels for non-apparel, with enforcement starting in 2027, so undersized images are a quiet quality problem now and a hard block later.
  • Is brand populated? Google requires it for new products.
  • For ChatGPT, is is_eligible_search true? Confirm your export is not writing false by default.
  • Is GTIN present where you have one? It is recommended, not required, but it removes ambiguity about which product you are.

None of that costs anything. The specs are public, the required set is short, and the real work is keeping those few fields honest against your own storefront. If you would rather not eyeball every product by hand, the free scan at pollen.elytron.in reads your store the way these agents do and flags the fields that are missing or out of sync. No signup.

Written by Aman, founder of Elytron Labs: Pollen (agent commerce readiness) and DripSync (AI product image sync).

Leave a comment

Your email stays private. First-time comments are held for review.