OpenAI just rewrote how ChatGPT reads your Shopify products

OpenAI restructured the Agentic Commerce Protocol in April 2026. The shift from product to variant is what changes who ChatGPT Shopping recommends.

Your product data did not change in early April 2026. The shape of how ChatGPT reads it did. That week, OpenAI rewrote the Agentic Commerce Protocol. They had been shipping small patches to it for months. This one was different. Some things got cut, some got added, and some moved from the product level down to the variant. If you have spent time getting your catalog “ChatGPT-ready,” a chunk of that work just landed in a different place.

What got cut

The cut fields have one thing in common. They treated a product like a row in a spreadsheet. Brand in one column. ID in another. Price in the next. That shape works well for a search engine. Google Shopping is a search engine, so it fits there. ChatGPT is not. When someone asks ChatGPT “what should I get my dad for his birthday,” a spreadsheet row is the wrong shape of answer. OpenAI removed the fields that assumed it was the right shape.

The small rename from pre_order to preorder points in the same direction. That is the kind of clean-up you do when you are already rewriting everything around it.

What got added

The added fields go the other direction. They give the spec things it could not say before.

Start with Description. In the old spec, a product had a single description field. You wrote a paragraph, and that was the whole story. In the new spec, Description is an object that can hold up to three versions of the same text: plain, html, and markdown. You do not need all three, but you need at least one. That sounds like overhead until you look at who is reading it. A product card rendered inside ChatGPT wants the markdown version so it looks right. An LLM writing a paragraph about your product wants the plain text version so it can quote cleanly. These are two different jobs, and the new spec treats them as two different jobs.

The new Link object does the same thing for store policies. It used to be a plain URL. Now every link has a type: privacy_policy, terms_of_service, refund_policy, shipping_policy, faq. When a customer inside ChatGPT asks “can I return these if they do not fit,” the AI has to know which link to open. An untyped URL leaves that to guessing, and the new spec is built to stop guessing.

Price got a smaller change that is easy to miss. It is now an integer in the smallest unit of a currency: 9999 for $99.99, 1000 for ¥1000. A new availability status, discontinued, joined the list. Condition became a list, so a refurbished-electronics store can tag a product as both new and secondhand without having to pick one. Small changes. They all point the same way.

What moved

The least obvious change is the one that matters most. A handful of fields moved from the top of the product down to the variant inside it. price. availability. categories. seller. barcodes. In the old spec, these were attributes of the product as a whole. In the new spec, they belong to a specific variant.

FieldOld spec levelNew spec level
priceproductvariant
list_priceproductvariant
unit_priceproductvariant
availabilityproductvariant
categoriesproductvariant
conditionproductvariant
barcodesproductvariant
sellerproductvariant
mediaproduct onlyproduct and variant

If you sell a t-shirt in six colors and four sizes, that is 24 variants. The old spec gave all 24 of them one price, one availability status, one set of categories. It treated “the t-shirt” as the unit. The new spec treats each of the 24 as its own unit. Its own price. Its own stock count. Its own URL. Its own list of photos.

This sounds like plumbing. It is not.

Consider two Shopify merchants selling running shoes. Merchant A has one shoe in one color and one size. Merchant B has one shoe in three colors, eight sizes, in both men’s and women’s cuts. That is 48 variants.

Merchant AMerchant B
ProductOne shoeOne shoe
Colors offered13
Sizes offered18
Cutssinglemen’s and women’s
Total SKUs148
Units the old spec could see11
Units the new spec can see148

Under the old spec, both merchants had one “product” each, with one set of attributes. They competed evenly. Under the new spec, Merchant A still has one unit for ChatGPT to match against a question. Merchant B has 48. When someone asks “what is a good trail shoe for a woman with wide feet in size 9,” the new spec lets Merchant B present the exact variant that matches. Merchant A cannot, because that level of detail never existed in their catalog.

This is a structural advantage, and it showed up without Merchant B doing anything new. Shopify has supported these variants in its core data model long before the spec could read them.

It cuts both ways. If you have variants but treat them as filler, giving them the same price and the same photo whether the color is navy or neon green, your catalog now looks flatter to the AI than it used to. A merchant who photographs each colorway, writes a variant-specific description, and tracks stock per size is showing a richer shape than a merchant who repeats the same data 48 times. The gap was always there. The new spec is the first one that can see it.

Most of the coverage of this overhaul will focus on the new fields and the cut ones. The move from product to variant is harder to spot in a changelog, so it will get less attention. In practice, it is the change with the clearest effect on which stores get surfaced.

The underlying shift

Step back and look at all three changes together. The cut fields treated a product like a row in a search index. The added fields let a product answer a question in a conversation. The moved fields put the unit of competition where a conversational query can find it.

These are three angles on one shift.

The old ACP spec looked like Google Merchant Center with fewer columns. That is not a coincidence. The whole category of “structured product data for a ranking system” grew up in the web search era, and Google Shopping was the dominant shape. The first version of ACP inherited that shape. The April 2026 overhaul is the first version that stops trying to make it fit.

You can see the shift in the small details. Description now comes in three formats because different readers of it have different needs. Links now have types because the AI has to know which one to open when someone asks about returns. Price is an integer because currency math has to be exact when a number is quoted aloud. Availability belongs to the variant because “is it in stock” is a question about one specific SKU, not about the whole product that contains it.

Every one of these choices points the same way. The reader of the feed is no longer a search index. It is a system that has to talk about these products and sell them inside a conversation. (The two-pipeline picture this overhaul sits inside is in an earlier post on how Shopify feeds ChatGPT.)

How to think about your catalog

For a Shopify merchant, the April 2026 overhaul is most useful as a lens shift. The field-level work falls out of the lens shift on its own.

Old way of thinkingNew way of thinking
My product is what I sellMy variants are what I sell
One description covers the whole productEach variant can carry details of its own
One hero photo per productEach color or size can have its own image
Policies live on my website footerPolicies are typed fields inside my catalog

The right column is not new work. It is work you are already doing in Shopify, viewed from the angle the new spec takes seriously. Your variants exist. Your policies sit as PDFs in your footer. Your photos sit in your media library. The overhaul made these things count in a place where they used to be invisible.

The work the new spec asks of a catalog is small. Variant-level descriptions where variants differ. Per-color photos. Per-size stock counts. Policies tagged with the types the spec names. Shopify’s data model already holds all of this. The spec is the first reader that sees it.

The harder adjustment is where the attention goes. For years the product was the unit of thought: the product page, the product description, the product photos. The new spec reads the variant as the unit. Which specific variant answers a customer’s question is the thing a conversational AI reaches for.

Under the old spec, variant data was invisible, which is why most catalogs treat variants as filler rows. The new spec reads them. That is the whole shift.

Frequently Asked Questions

What changed in OpenAI's April 2026 ACP overhaul?
OpenAI restructured the Agentic Commerce Protocol in three ways. They cut fields that treated products like rows in a search index. They added fields that let a product answer a question inside a conversation. And they moved pricing, availability, media, categories, and seller information from the product level down to the individual variant.
Do I need to redo my Shopify product data because of the new ACP spec?
No. Your existing Shopify variants, product photos, and store policies already carry the information the new spec asks for. What changed is how that information is read. The practical work is writing per-variant descriptions when variants differ in meaningful ways, photographing each color you stock, tracking stock per size, and tagging your store policies with the types ChatGPT expects.
Which Shopify merchants benefit most from the new ACP spec?
Merchants with variant-rich catalogs benefit most. If you sell apparel in multiple colors and sizes, configurable products, or anything where the same product comes in many SKUs, the new spec treats each of those SKUs as its own unit that ChatGPT can match against a customer question. Merchants with single-SKU products have not lost anything, but they are now competing against catalogs with more matchable units.