Back to blog
Specs8 min read

Anatomy of an OpenAI ACP product feed

SR
ShelfReady
The team · July 18, 2026

A practical walkthrough of the Agentic Commerce Protocol feed format: required fields, the availability enum, and the mistakes that get catalogs rejected.

What ACP is

The Agentic Commerce Protocol is OpenAI's specification for making product catalogs consumable by ChatGPT's shopping features. A merchant publishes a product feed in a defined shape; the surface ingests it and can then present those products, with accurate prices and availability, inside conversations.

The spec is precise about the things merchants are most often sloppy about: identifiers, prices, and availability. That precision is good news — it means compliance is checkable by a machine, before you submit anything.

The fields that matter most

Every item needs a stable ID, a title, a link to a live product page, and an image. Prices must carry an explicit ISO-4217 currency — '19.99' is not a price, '19.99 EUR' is. Availability is a closed enum (in stock, out of stock, pre-order, backorder); free-text like 'ships soon' doesn't parse.

Identifiers do the heavy lifting for matching: a valid GTIN (with a correct check digit — surprisingly often wrong) lets a surface connect your listing to a known product. Where no GTIN exists, brand plus MPN is the fallback.

Where catalogs fail

In the catalogs we audit, the same problems repeat: missing or checksum-invalid GTINs, prices without currencies, availability copy that doesn't map to the enum, thin one-line descriptions, and variant products flattened in ways that lose color and size options.

None of these are hard to fix individually. The hard part is finding all of them across a few thousand SKUs and keeping them fixed as the catalog changes — which is why we built the audit as a continuous check rather than a one-time report.

One catalog, three feeds

The pleasant surprise: the work overlaps almost entirely with Google Merchant Center and schema.org JSON-LD. Clean canonical product data renders into all three formats. Fix the catalog once, and every surface that reads structured data benefits.

One honest caveat we always attach: publishing a compliant feed makes you eligible and readable — surface operators still decide who they list. Anyone promising guaranteed placement in ChatGPT is selling something the protocol doesn't offer.

Run your first catalog audit in under a minute

Paste a product URL and see exactly what is blocking your listings from getting approved and converting.