Agentic Commerce Product Feed: The Fields AI Agents Read

The agentic commerce product feed outlived in-chat checkout. Here are the required fields, the optional ones that decide fit, and what to fix first.

Agentic Commerce Product Feed: The Fields AI Agents Read

The agentic commerce product feed outlived the checkout button it was built for. OpenAI and Stripe shipped the Agentic Commerce Protocol in late September 2025 with in-chat purchasing attached to it; in March 2026 OpenAI retired the in-chat checkout and kept the feed. That is not a footnote. It means the part of the standard that still matters to you is the boring part — the columns of structured product data an AI assistant reads before it decides whether to mention you at all.

If you sell furniture, fittings, or building materials, there is one line in that spec worth the whole article: the fields that answer "will it fit?" are optional.

The four moves that got us here

When What happened What it meant for merchants
Late September 2025 Stripe and OpenAI publish the Agentic Commerce Protocol and launch Instant Checkout in ChatGPT, starting with US Etsy sellers and Shopify merchants Two jobs arrive at once: send a product feed, and wire up agent-initiated checkout
Late 2025 into early 2026 Adoption of in-chat purchasing stays thin while shoppers keep researching in the assistant and buying on the merchant's own site The discovery half is doing the work; the checkout half is not
March 2026 OpenAI ends Instant Checkout and shifts toward product discovery and retailer integrations inside ChatGPT The checkout integration stops being urgent
Now The Product Feed Specification remains the interface between your catalogue and the assistant Feed quality is the whole game

The lesson from that arc is unglamorous and durable: the integration work that expired was the payment plumbing. The work that compounded was the data.

What an agentic commerce product feed is

An agentic commerce product feed is a regularly refreshed, machine-readable file of your catalogue — identifiers, titles, descriptions, prices, availability, media, fulfilment and physical attributes — that an AI assistant ingests so it can surface, filter and compare your products inside a conversation. It is not a crawl of your site and it is not your storefront HTML. It is a flat file you hand over, one row per product or variant.

Mechanically, per the current specification, that file is UTF-8 delimited text — .txt, .tsv or .csv, tab or comma separated, gzip allowed — with a lowercase, underscore-separated header row. Every URL in it must return HTTP 200. Merchants send an initial sample feed for validation and then daily snapshots, and the system accepts updates as often as every 15 minutes.

That HTTP 200 requirement deserves a beat of its own. A dead image URL does not degrade the row's ranking; it invalidates the row. Broken CDN links are the quietest way to disappear from an assistant's answer.

The fields, grouped by how much they cost you to ignore

This is the current shape of the specification. What matters is not the list — it is which tier each field sits in.

Tier Fields Notes
Required item_id, title, description, url, brand, image_url, price, availability, seller_name, seller_url, target_countries, store_country, plus the is_eligible_search / is_eligible_checkout / is_ads_eligible flags title caps at 150 characters, description at 5,000, brand and seller_name at 70
Conditionally required gtin or mpn unless identifier_exists is set to no; availability_date for pre-order and backorder; return_policy; seller privacy policy and terms where checkout is enabled Missing identifiers is the classic silent-suppression bug carried over from every other feed standard
Recommended group_id, listing_has_variations, variant_dict, size, size_system, q_and_a, reviews, related_product_id with relationship_type relationship_type accepts values like part_of_set, required_part, often_bought_with, substitute, accessory
Optional dimensions, length, width, height, dimensions_unit, weight, item_weight_unit, material, condition, product_category, additional_image_urls, video_url, model_3d_url, return_rate, popularity_score, warning, age_restriction Everything physical about your product lives in this tier

Look at the bottom row again. image_url is required. length, width, height and dimensions_unit are optional. The question shoppers put to an assistant more than almost any other — will this fit my space, my vehicle, my existing frame — depends on the fields most feeds leave blank.

The dimension gap, and why it is an opening

Optional does not mean ignored. It means unenforced, which in feed economics is the most interesting status a field can have: every competitor is allowed to skip it, and most do, because populating length / width / height / dimensions_unit across a few thousand SKUs is real work that nobody's checkout error log ever complains about.

An assistant asked "a bookshelf under 80 cm wide for an alcove" can only shortlist rows where width is present and parseable. A row with a gorgeous photo and an empty width is not ranked lower for that query — it is not a candidate for it. The photo is not a fallback. No assistant measures your JPEG.

There are three practical consequences:

  1. Fill the physical fields before you optimise anything else. dimensions takes a compact string such as 12x8x5 in; length, width and height take individual values with dimensions_unit carrying in or cm. Populate both the composite and the individual fields where your data allows — different consumers parse different ones.
  2. Set dimensions_unit explicitly, every row. An unlabelled 80 is not a measurement. This is the same failure that shows up on listings themselves, covered in product dimensions structured data.
  3. Treat material, weight and item_weight_unit as part of the same block. Material is how a buyer filters "solid oak, not veneer." Weight is how a logistics-aware shopper filters what one person can carry upstairs.

The specification also carries an optional return_rate field, expressed as a percentage. Whatever an assistant does with that signal, the fact that it exists in the schema is worth sitting with: return performance is now a structured, comparable product attribute rather than a private internal metric. If you have never put a number on what returns cost you per SKU, the return rate calculator is the fastest way to get one.

What the feed does not solve

Feed data gets you shortlisted. It does not close the sale, because the buyer still lands on your page.

That handoff is where a lot of otherwise-good feed work quietly leaks. The assistant tells a shopper the shelf is 78 cm wide; the shopper clicks through to a listing where the photos show a styled room and no measurement anywhere. Nothing confirms what they were told. The two most common outcomes are a pre-sale message you have to answer by hand, or a purchase made on hope that comes back as a size return.

Closing that loop is a visual job, not a data job. It means the product page carries an image where the real, measured dimensions are drawn onto the product itself — the same numbers the feed declared, shown where the buyer is already looking. Deterministic measurement matters here in a way it never did before: the figure in your feed and the figure on your image are now cross-checkable by a machine, and an AI-generated image that invents a plausible-looking measurement will contradict your own structured data in public.

Next steps, in the order that pays

Pick the highest tier you can actually finish this quarter. Doing one of these completely beats starting all of them.

  1. Audit for invalid rows first. Any url or image_url that does not return HTTP 200 takes the whole row down. This is a one-afternoon script and usually the largest single recovery.
  2. Fix identifiers. Populate gtin or mpn, or set identifier_exists honestly. Silent suppression is worse than an error you can see.
  3. Fill the physical block. length, width, height, dimensions_unit, weight, item_weight_unit, material — for your top-selling SKUs first, then by revenue down the tail.
  4. Structure your variants properly. group_id, listing_has_variations and variant_dict are how an assistant understands that the 60 cm and 80 cm versions are the same product, so it can offer the one that fits.
  5. Reconcile feed numbers with page images. Whether you do that with an in-house design workflow, an agency, or software that locks measured dimensions onto the photo and exports at each platform's image size, the goal is identical: the number the assistant quotes is visible on the page it sends the buyer to. If you sell the same catalogue across several channels, the sequencing advice in multi-platform selling applies here too.
  6. Only then worry about reviews, q_and_a, popularity_score and the rest of the enrichment tier.

FAQ

Do I still need a product feed now that Instant Checkout is gone?

Yes — more than before, because the feed is now the entire integration rather than half of it. In-chat purchasing was retired in March 2026; product discovery was not. The feed is how an assistant knows your catalogue exists, and the checkout still happens on your own site.

What is the Agentic Commerce Protocol?

The Agentic Commerce Protocol is an open specification co-developed by OpenAI and Stripe, published in late September 2025, that defines how merchants exchange product data, cart and order information with AI agents. Its Product Feed Specification is the part that governs how your catalogue is described.

Which feed fields let an AI shopping agent filter by size?

length, width, height with dimensions_unit, plus the composite dimensions string, and weight with item_weight_unit. All of them are in the optional tier of the specification, which is why most catalogues cannot be filtered on fit — and why filling them is one of the few remaining cheap advantages in feed work.

How often does an agentic commerce product feed need to refresh?

Merchants submit an initial sample feed for validation and then daily snapshots, with updates accepted as frequently as every 15 minutes. Daily is the working baseline; the 15-minute ceiling exists for price and inventory volatility, not for restating a catalogue that has not changed.

Does a great product photo compensate for missing dimension fields?

No, and this is the assumption worth discarding first. Photos are rendered for humans; the filtering that decides whether you are shortlisted happens on the text fields. A photo cannot be measured by the system doing the matching — it can only confirm, for a human, what the fields already claimed.

Sources & References

มาร์ก ขนาดและสเปกที่แม่นยำ บนภาพสินค้าได้ในไม่กี่นาทีขนาดและสเปกที่แม่นยำ · ฟรีเริ่มฟรี
Agentic Commerce Product Feed: Fields That Decide Ranking