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.

Jakub RiegelOctober 22, 2026 · 9 min read
ShopperStanding desk, at least 140 cm wide, under $400, delivered this weekFeed record Agtin00012345678905product_typeDesks > Standingwidth140 cmprice379.00 USDavailabilityin_stockshipping3-day, 0.00 USDShortlisted: every check passesFeed record Bgtinmissingproduct_typeDesks > Standingwidthmissingprice349.00 USDavailabilityin_stockshippingmissingDropped: width and delivery unknown
Two feed records for the same kind of deskThe complete record makes the shortlist

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 groupGoogle Merchant CenterChatGPT feedCheck
IDiditem_idUnique per variant, never reused
Identifiergtin, mpngtin, mpnReal GTIN with check digit; never invented
BrandbrandbrandOne spelling everywhere
TitletitletitleUnder 150 characters, brand + type + key spec
Categorygoogle_product_category, product_typeproduct_categoryMost specific true category
Attributescolor, size, material, product_detailcolor, size, material, dimensionsEvery applicable value, fixed units
Variantsitem_group_id, variant_optiongroup_id, variant_dictSame option names across the group
Priceprice, sale_priceprice, sale_priceMatches the page, currency code included
AvailabilityavailabilityavailabilityUpdated the moment stock changes
Shippingshipping, account settingsshipping, shipping_priceReal cost and speed; blank is not free
Returnsreturn policies, return_policy_labelaccepts_returns, return_policySame terms as your returns page
Questionsquestion_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.

Written byJakub Riegel

Jakub leads architecture, engineering standards and production reviews for marketplace and e-commerce systems at Deltologic. On AISell, he writes about the protocols, feeds and data plumbing behind AI shopping agents.

Contact us

Questions about this article, your catalog or AI commerce in general? Send us a note and we will get back to you.

We use your details only to reply. Privacy policy