How to structure product data for AI shopping agents
The small-merchant version: which of the three product-data paths you control, what OpenAI says about merchant ranking, and the catalog hygiene that decides it.
Written from OpenAI's published help center articles, merchant page and commerce developer docs, and from the Agentic Commerce Protocol site, all fetched on 2026-08-06 and quoted directly. Ranking behavior beyond what these sources publish is not inferred here. Program terms in this area have changed repeatedly and should be re-checked at the source.
A small merchant almost never gets a feed, and does not need one. OpenAI states a feed is not required if ChatGPT already crawls your site, that feed onboarding is limited to approved partners, and that Shopify and Etsy catalogs are already integrated. What you control is catalog data quality: stable identifiers, variants modeled individually, availability and price that are true at the moment they are read, and automated access not blocked. That is readiness, not placement.
Almost everything written about product data for AI agents is written for a merchant with an integrations team and a feed pipeline. If you run a store with 200 SKUs and no feed, that guidance describes a door you cannot open.
Here is the version for the store you actually have.
The door is not the problem
The most useful sentence OpenAI has published on this subject is an answer in its own merchant FAQ. Asked whether you need a product feed if ChatGPT already crawls your site, it answers: "No, but feeds give you greater control over how your products appear, helping ensure more accurate and up-to-date information" (OpenAI merchants, checked 2026-08-06).
No, but. Not a gate. A control surface.
And the gate that does exist is closed to you anyway. OpenAI's commerce documentation states that "onboarding product feeds in ChatGPT is currently available to approved partners" (OpenAI Developers, checked 2026-08-06).
For merchants on the two platforms that matter most at this size, the path is already built. OpenAI states that if you sell through Shopify or Etsy, "your catalog is already integrated, and no additional setup or application is required," and elsewhere that for Shopify merchants product data reaches ChatGPT through Shopify Catalog with "no additional work required from individual merchants."
So the strategic question is not how to get your data in. It is whether the data already going in is any good.
Three paths, and the one you own
OpenAI lists three inputs for its shopping research flow: "merchant product data provided through the Agentic Commerce Protocol (ACP)," "publicly available product information," and "other relevant retail sources" (OpenAI, checked 2026-08-06).
For product results generally, it names "structured metadata from first-party and third-party providers (e.g., price, product description) and other third-party content," plus model responses generated before any new search, plus its own safety and product policies (OpenAI, checked 2026-08-06).
They run together, not as alternatives. A merchant can be strong on one and invisible on another.
And the same article states plainly that "product results are selected independently by ChatGPT and are not ads, nor influenced by any OpenAI partnerships." Read that as the ceiling on what anyone can sell you. There is no placement to buy, from OpenAI or from a vendor.
The path you fully own is the third one: what a machine reads directly off your pages. OpenAI describes shopping research results as "organic and based on publicly available retail sites, reading product pages directly, citing sources, and avoiding low-quality or spammy sites." That is a live read of your page during a real purchase decision. The mechanics of that page are covered in how to structure product pages for AI shopping engines; this guide is about the data underneath it.
What OpenAI publishes about merchant ranking
Worth quoting exactly, because it is unusually specific for this category: "Merchants are ranked based on factors like availability, price, quality, and whether they are the maker or primary seller of that item."
Four factors, no weights. Two of them are commercial facts about your business that no data work changes. But note what availability and price are doing on that list. They are not just inputs to a shopper's decision. They are ranking factors, and they are the two fields most likely to be stale in a small merchant's data.
That reframes catalog hygiene. Keeping stock status honest is not tidying up. It is the part of that list you can act on this week.
The catalog hygiene that actually decides it
Six items. None of them require a developer, all of them are checkable on a single product.
Stable identifiers at the level a buyer can order. A durable SKU per orderable item, plus the manufacturer identifiers you legitimately have. Identifiers are how the same physical product gets matched across your page, a marketplace listing, and a comparison an agent is assembling. Without them, a machine is matching on a title string that you wrote and your competitor wrote differently.
Variants modeled individually. Where price, availability, images, title, description, or URL differ by size or color, they need to be stated per variant with their own identifiers rather than folded into a single parent record. OpenAI's own feed best-practice guidance calls this out explicitly: "Keep title, url, description, media, availability, and price variant-specific when those values differ by variant" (feed best practices, checked 2026-08-06). This is where a lot of small catalogs quietly fail: one record, one price, and four of the six sizes are out of stock.
Availability and price true at read time. More on this below, because it is the one that bites.
Descriptions written as attributes. Materials, dimensions with units written out, capacity, compatibility, what is in the box. An agent building a shortlist compares attributes. Prose about how the product will make someone feel gives it nothing to compare, so it reaches for a listing that does.
Images with meaningful, resolvable URLs. Agents follow links rather than eyeballing them. Broken or expiring image URLs break the record they belong to.
Automated access allowed. OpenAI states that "some retailers block automated access to their sites. When this happens, shopping research will either skip those sources or rely on other sites with similar products." Skipped, or replaced by someone selling the same thing. That is not a ranking penalty. It is a closed door, and it is usually a bot-protection setting nobody chose deliberately.
Stale beats missing, in the wrong direction
Here is the failure mode specific to agents, and it deserves its own section because it inverts an ordinary instinct.
A missing field makes a machine uncertain. It hedges, or it skips you, and you lose a comparison you might have won.
A wrong field makes a machine confidently wrong on your behalf. If your data says in stock and it is not, or carries a price you stopped charging, that value can be repeated to a shopper as fact while your visible page is perfectly correct. A human would have spotted the mismatch. A parser reads the label.
So availability and price accuracy are an operational requirement rather than a markup task. They drift the moment nobody is watching, and they drift silently: nothing on your site looks broken.
The practical rule is that anything stating a fact about stock or price must be wired to the same source of truth as the storefront. If two systems can hold different numbers, they eventually will.
Where ACP fits, and where it does not
The Agentic Commerce Protocol comes up constantly in this conversation, usually with more attached to it than it claims for itself.
ACP is an open standard developed by Stripe and OpenAI, published under the Apache 2.0 license, for programmatic commerce flows between buyers, AI agents, and businesses. Its site states that businesses "maintain their customer relationships as the merchant of record, retaining control over which products can be sold, how they're presented, and how orders are fulfilled," and that "OpenAI is the first AI platform to implement ACP with ChatGPT" (agenticcommerce.dev, checked 2026-08-06).
Then the FAQ answers the question every vendor blurs. Asked whether implementing the protocol means products will automatically be listed through AI agents: "No, each AI platform will manage their own process for how businesses can participate. If your business wants to participate in ChatGPT, you'll need to apply."
ACP is checkout plumbing. It is not a discovery channel, and implementing it is not a visibility strategy. Agentic Commerce Protocol has the detail.
It is also worth knowing where the checkout story currently sits, because it changes the answer to "why bother with my own page." OpenAI's merchant FAQ states: "We're moving away from a standalone Instant Checkout experience in ChatGPT and prioritizing better shopping discovery and merchant-owned checkout experiences." If discovery happens in the assistant and checkout happens on your site, your product page is not less important in an agentic world. It is the destination.
Shopping in ChatGPT is also stated as "currently live in the U.S." If you sell elsewhere, treat everything in this section as directional rather than immediate, and spend the time on the page instead.
If you do get feed access
Briefly, since it applies to a minority of readers.
OpenAI documents two delivery methods, file upload and API, and recommends "to provide the entire feed once a day via file upload, and then send updates throughout the day via the API," with promotions available through the API only. The schema is not a new invention: "If your feed uses a Google-compatible product data format, OpenAI will use that formatting" (feed spec, checked 2026-08-06).
Which means the work is the same work. A clean, complete, correctly varianted catalog is what a feed carries. If your catalog data is wrong, a feed distributes it faster.
Old way, new way
The old way treated product data as a search-engine input and a shop-window decoration. Fill in the fields that help the listing look good, write copy that converts a human.
The new way is that the same data is being read by software assembling a comparison the buyer may never scroll past, and that software cannot tell the difference between a fact and a formatting convention. A greyed-out button is not a stock status. A price in a styled box is not a price. Only labeled data is.
Both readers still exist. The second one is unforgiving in a way the first never was.
The damaging admission
Being exact about what Citedon does and does not see here, because this is where over-claiming is easiest.
Our scan queries ChatGPT through OpenAI's API with web search enabled, which is the text answering path. It does not query the shopping product carousel and it does not query the shopping research flow. It has no visibility into the ACP feed pipeline, into Shopify Catalog, or into the third-party data providers OpenAI names. If your price is wrong inside a product card, our scan will not surface that.
What it measures is whether the page an engine would read directly is readable: content in real text, valid product markup, offers that match the visible page, crawlers not blocked. That is the input you own on every one of the three paths, which is why it is worth checking, and it is not the same as auditing your feed.
We cannot promise you a place in a product result. OpenAI states those results are selected independently and are not ads, which means the placement is not for sale from anyone, including us.
And the automated fix layer is WordPress only, through the connected plugin with a preview and a per-fix approval. On Shopify, Wix, Squarespace, or a headless storefront, the scan gives you the diagnosis and you apply it in your own theme. For a Shopify merchant specifically, OpenAI's documentation says your catalog is already integrated, so the highest-value work is making the page itself parseable rather than chasing a feed, and what you can change through the theme is set out in the Shopify AI readiness checklist.
Where to start
Take your bestseller and the most heavily varianted product in your catalog. For each, read only what a machine would get: a stable identifier, a price it can parse, a stock status it can trust, a distinct record for the variant a shopper would order, and specs it can compare.
Run a free scan on those two URLs to see how ChatGPT, Perplexity, Gemini, and Claude read them today, and which structural pieces are missing. For the wider store picture, read AI search for ecommerce stores.