Product Feed Optimization for AI Agents: The Field-by-Field Guide
AI shopping agents do not browse your site. They read a product record, check it against the shopper's request and move on if a field is missing. The feed is that record. Here is what to put in it.
Product feed optimization is the work of making the product data you send to shopping platforms complete, correct, consistent and current. For AI agents it matters more than it did for ads, because the feed is often the only thing the agent reads. An agent answering "a standing desk at least 140 cm wide, under $400, delivered this week" needs identifiers, attributes, variants, price, availability, shipping and returns as clean fields. If one is missing, the product cannot pass that check, and it is dropped rather than ranked lower.
This guide covers the fields AI agents actually use, what Google Merchant Center and OpenAI's ChatGPT feed require, how to keep the feed, your site markup and your marketplace listings saying the same thing, and how fresh the data needs to be. It ends with a field-by-field checklist.
Why product data feed optimization changed
For a decade, Google product feed optimization meant better titles for Shopping ads and fewer disapprovals. The goal was clicks. In 2026 the same feeds supply AI answers. Google says its new Universal Cart, launched in the US on 15 October 2026 across AI Mode and the Gemini app, draws on more than 60 billion product listings that Google keeps refreshing. OpenAI accepts product feeds for ChatGPT. Shopify sends every eligible store's products to ChatGPT, Copilot and Meta through Shopify Catalog.
The reader is now a machine that filters before it shows anything. Three consequences follow:
- Empty fields remove products. An agent cannot confirm "at least 140 cm wide" from a blank dimensions field.
- Contradictions read as risk. If the feed says in stock and the page says sold out, the safer choice is another product.
- Prose is the last resort. Agents can read descriptions, but a structured value is easier to trust and compare.
Our explainer on why AI depends on structured product attributes covers the reasoning; this guide is the practical side.
Where AI agents get your product data
Most brands now publish the same product to four or five destinations. Each is read by different agents.
One product, five records an AI agent may read
- Merchant Center feedGoogle AI Mode, Gemini, Shopping
- ChatGPT product feedChatGPT search and shopping
- Shopify CatalogChatGPT, Copilot, Meta
- Product page markupCrawlers and AI search
- Marketplace listingAmazon, Walmart and others
- One product record
The rule that follows: keep one source of truth, usually your PIM or your store admin, and generate every feed from it. Hand-edited feeds drift, and drift is what produces contradictions.
The fields AI agents actually use
Across Google's product data specification, OpenAI's feed reference and Shopify Catalog, the fields that decide whether an agent can select a product fall into six groups.
The six field groups an AI agent checks
- IdentityGTINMPNbrandunique ID
- ClassificationGoogle categoryproduct typecategory path
- AttributesColorsizematerialgenderage groupdimensions
- VariantsGroup IDvariant optionsgroup title
- OfferPricesale priceavailabilityavailability date
- Policies and proofShippingreturnsreviewsproduct Q&A
Identity: GTIN, MPN and brand
The GTIN is how an agent knows that your product and a reseller's listing are the same item, and how it pulls in reviews and specs from elsewhere. Google warns that a product which has a GTIN but is submitted without it can lose visibility, and also warns against guessing: submit a GTIN only when you are sure it is correct. OpenAI's spec accepts GTINs of exactly 8, 12, 13 or 14 digits with a valid check digit, no spaces or dashes, leading zeros kept, and says not to invent an MPN to fill a missing GTIN. Brand is required by both.
Classification: category and product type
Google's google_product_category and your own product_type path tell the agent what the thing is before it reads anything else. OpenAI has an optional product_category field. Use the most specific category that is true, and a product type path that matches your site navigation ("Office furniture > Desks > Standing desks"), so an agent can relate the product to its siblings.
Attributes
For apparel sold in the US and several other countries, Google requires color, size, gender and age_group. OpenAI's spec has optional material, color, size, gender, age_group, dimensions and weight, with fixed units (in, cm, mm, ft, m for dimensions; g, kg, oz, lb for weight). Optional does not mean unimportant: these are exactly the fields a shopper's constraints map to. Fill every attribute that applies, with consistent units and spellings. For categories where buyers ask detailed questions, Google's product_detail and product_highlight attributes let you add structured specs and short factual highlights.
Variants
Google requires item_group_id for variants in the US, UK, Germany, France, Japan and Brazil. OpenAI uses group_id (with item_group_id accepted as a legacy alias), requires listing_has_variations on every variant row and a variant_dict of option names and values, and asks for the same option names across a group. Each variant needs its own ID, its own GTIN where one exists, and its own price and availability. A size 11 that is out of stock should not hide behind a parent that says in stock.
Offer: price, availability, dates
Price and availability are required everywhere. OpenAI's format is an amount and an ISO currency code ("79.99 USD"), with sale_price only when it is positive and lower than price. Its availability values are in_stock, out_of_stock, pre_order, backorder and unknown, and an unrecognized value rejects the row. Google requires an availability date for pre-order and backorder items.
Policies and proof: shipping, returns, reviews
Delivery promises and return terms are now filterable. In Google Merchant Center, return policies are set in the account and can be assigned to product groups with return_policy_label; in April 2026 Google added product-level delivery attributes such as handling_cutoff_time and minimum_order_value (spec update). OpenAI's feed carries shipping, shipping_price, accepts_returns, return_deadline_in_days, a return_policy URL, and star_rating with review_count. Note one OpenAI rule that catches people out: an omitted shipping price means unknown, not free.
Google product feed optimization for AI Mode
Google added a new group of fields this year aimed squarely at AI answers. Its conversational attributes, announced around Google Marketing Live in May 2026, are optional and do not affect the approval of existing products:
- question_and_answer: product FAQs as question-and-answer pairs.
- document_link: links to manuals, assembly guides and other PDFs.
- related_product: typed links to accessories, replacements or compatible items.
- item_group_title: one shared title for a product with many variants.
- variant_option: the name and value of each property that separates variants.
- popularity_rank: the product's popularity as a percentage of your inventory.
Google recommends submitting them through a supplemental data source. Start with question_and_answer, filled from your real customer questions and support tickets, and document_link for anything with a manual. Those are the two that answer questions an agent otherwise cannot. Google has not published how much these fields affect ranking; claims of a specific lift come from feed vendors.
Two more Google changes to plan for: product videos through the new video_link attribute (serving began 30 June 2026), and a minimum image size of 500 x 500 pixels for image_link and additional_image_link, enforced from 31 January 2027.
The ChatGPT product feed
OpenAI's feed reference lists nine required fields as of October 2026: item_id, title, description, url, brand, seller_name, image_url, availability and price. Feeds go in as JSONL, CSV or TSV in UTF-8. Titles should stay within 150 characters and descriptions within 5,000. The is_eligible_search flag defaults to on; checkout flags need a separately enabled integration.
The spec is also blunt about what a feed does not buy you: "Eligibility does not guarantee display." The fields get you considered. Data quality and the shopper's request decide the rest. For the application and setup steps, see how to get your products into ChatGPT shopping. If you sell on Shopify, Shopify Catalog already sends your products to ChatGPT; our guide to Shopify agentic commerce covers the switches.
Consistency between feed, markup and marketplace listings
An agent that sees two versions of your product trusts neither. Three places have to agree.
Feed and product page. Google states that structured data must agree with what shoppers see on the page, that markup must be in the HTML the server returns rather than injected by JavaScript later, and that pricing must not change with the visitor's IP or browser. If you use automatic item updates, Google needs price, priceCurrency, availability and condition in the markup, and it stops automatic updates when the match rate falls too low.
Feed and marketplace listing. The same GTIN should carry the same brand, product name, key specs and pack size on Amazon, Walmart and your own feeds. Agents that look across the web, such as Amazon's Alexa for Shopping, which says it weighs information from across the web, will notice when a "2-pack" on one site is a single unit on another. Our Amazon listing optimization guide covers the Amazon side.
Feed and itself. Variant values spelled three ways, units that switch between inches and centimetres, and duplicate items with different IDs all count as contradictions. Catalog hygiene is the discipline that prevents them.
An agent does not average two versions of your product. It picks the competitor whose data agrees with itself.
Jakub Riegel
Freshness: how often to update
Stale price and stock data is the fastest way to lose an agent's trust, because a wrong answer costs the shopper a failed order. What the platforms say:
- OpenAI: update price and availability whenever they change, including when a sale starts or ends. Dates in the feed do not schedule changes; the feed itself has to change.
- Shopify Catalog: Shopify says Catalog continuously updates product data, so channels get the latest inventory and prices from your admin.
- Google: automatic item updates can correct price and availability from your page markup, but only when that markup matches your feed closely enough.
In practice, send full feeds at least daily and price and stock changes as they happen, through an API where the platform offers one.
The field-by-field product feed checklist
| Field group | Google Merchant Center | ChatGPT feed | Check |
|---|---|---|---|
| ID | id | item_id | Unique per variant, never reused |
| Identifier | gtin, mpn | gtin, mpn | Real GTIN with check digit; never invented |
| Brand | brand | brand | One spelling everywhere |
| Title | title | title | Under 150 characters, brand + type + key spec |
| Category | google_product_category, product_type | product_category | Most specific true category |
| Attributes | color, size, material, product_detail | color, size, material, dimensions | Every applicable value, fixed units |
| Variants | item_group_id, variant_option | group_id, variant_dict | Same option names across the group |
| Price | price, sale_price | price, sale_price | Matches the page, currency code included |
| Availability | availability | availability | Updated the moment stock changes |
| Shipping | shipping, account settings | shipping, shipping_price | Real cost and speed; blank is not free |
| Returns | return policies, return_policy_label | accepts_returns, return_policy | Same terms as your returns page |
| Questions | question_and_answer, document_link | (description) | Real customer questions answered |
More on catalog data is collected on the product data and catalogs topic page.
FAQ
What is product feed optimization?
It is improving the product data you send to platforms such as Google Merchant Center, ChatGPT and marketplaces so that it is complete, correct, consistent and current. For AI agents, it decides whether a product can pass the checks a shopper's request implies.
What fields does a ChatGPT product feed need?
As of October 2026, OpenAI requires item_id, title, description, url, brand, seller_name, image_url, availability and price. Variants, checkout and some setups need further fields, and GTIN, attributes, shipping and returns are strongly worth adding.
How do I optimize a Google Shopping product feed for AI Mode?
Fill identifiers and attributes completely, add Google's conversational attributes such as question_and_answer and document_link through a supplemental feed, keep price and availability in sync with your page markup, and set shipping and return policies in Merchant Center.
How often should a product feed be updated?
Price and availability should update whenever they change. Send a full feed at least daily, and use an API for stock and price changes where the platform supports it.
Does a GTIN matter for AI shopping?
Yes. It is how an agent matches your product across sites and pulls in reviews and specs. Google warns that leaving out an existing GTIN can limit a product's visibility. Never invent one.