Adobe scored retail product pages at 66% machine-readable in Q1 2026, the lowest of any page type, below homepages at 75% and category pages at 74%. In the same quarter AI-sourced traffic to US retail sites grew 393% year over year, and in March it converted 42% better than non-AI channels. The surfaces sending the best-converting traffic are reading the worst-prepared pages.
This guide is for e-commerce teams already running a product feed for Google Shopping or a marketplace who now need that catalog to survive being read by a shopping agent. Seven passes, each with a rule you can check today: which fields block inclusion, what EU listings must legally carry, how often to refresh, and where the method stops working.
Three layers, and only one of them is a protocol
"Agentic commerce readiness" gets sold as one integration project. It is three layers, and most teams need only the first two: access (can the crawler reach your pages), data (is the catalog complete and fresh enough to be quoted), transaction (can the agent buy without sending the buyer to your site).
The Agentic Commerce Protocol (ACP), maintained by Stripe, OpenAI and Meta, is that third layer: five REST endpoints for creating, reading, updating, completing and cancelling a checkout session, with the seller staying merchant of record. It is in beta, date-versioned, currently at release 2026-04-17. What it does not do is discovery — nothing in it tells an agent your product exists, what it costs or whether it is in stock. That happens in the feed and on the page, so do passes 1 through 5 before scoping pass 6.
Pass 1: fix the fields that gate inclusion
Start with the fields that get a product dropped, not merely ranked badly. Two specs matter most, and they disagree on names.
| What it is | OpenAI product feed | Google Merchant Center | Pass rule |
|---|---|---|---|
| Stable identifier | item_id (required) | id (required, max 50 chars) | Unchanged for 3 feed generations |
| Name | title (required) | title (required, max 150 chars) | No SKU codes or shipping promises |
| Landing page | url (required) | link (required) | 200, no consent wall or geo-redirect |
| Image | image_url (required, direct JPEG/PNG) | image_link (required) | Direct file, not a lazy placeholder |
| Stock status | availability (required enum) | availability (required enum) | Matches live stock at export |
| Price | price as "79.99 USD" (required) | price with ISO 4217 code (required) | Matches what the buyer pays |
| Brand | brand (required, no placeholders) | brand (required except movies, books, music) | Real brand, never your store name |
Both specs also require a description (max 5,000 characters, attributes rather than marketing copy) and OpenAI's requires seller_name. The conditionals catch people out: mpn only when there is no manufacturer-assigned GTIN, condition only for used and refurbished items, availability_date for preorder and backorder. Apparel in Brazil, France, Germany, Japan, the UK and the US also needs colour, gender, age group, size and item_group_id. Google's minimum image size rises to 500×500 pixels on 31 January 2027.
Decision point. If more than 5% of SKUs fail any required field, stop building new surfaces and fix the export. A feed with a 10% rejection rate does not have an AI problem, it has a PIM problem.
Pass 2: make the page say the same thing as the feed
Agents read both, and where they disagree you do not control which wins.
Google's merchant listing experiences require little: name, image and offers on Product, plus price and priceCurrency on Offer. The rest is only recommended — but that recommended set is what agents use for comparison questions: availability, hasMerchantReturnPolicy, shippingDetails, itemCondition, gtin, mpn, aggregateRating.
Run a parity check on 50 top-revenue SKUs, comparing price, currency, availability and canonical URL between feed and markup. Pass rule: 100% agreement on price and availability. Being quoted a price you do not honour is worse than not being quoted.
Pass 3: set a refresh cadence your prices can survive
Freshness is usually treated as hygiene. In a high-inflation market it is correctness. Turkish annual consumer price inflation was reported at 31.5% for August 2026, so a lira catalog drifts materially inside a quarter and repricing is continuous rather than seasonal. A daily pull that suits a euro catalog does not suit this one.
Calculate your own cadence:
- Pull 90 days of price-change and stock-out events from your commerce platform.
- Take the median interval for each, on your top 100 SKUs by revenue.
- Set refresh to at most one quarter of the shorter interval.
Worked example: an electronics retailer repricing every 6 days and stocking out every 4 lands on 24 hours, driven by the stock-out interval. A fashion retailer repricing twice a season but stocking out daily lands on the same 24 hours for a different reason. Which constraint produced the number tells you what to watch.
Decision point. If your platform cannot push deltas at that cadence, submit availability as unknown rather than stale — OpenAI's spec accepts it. Honest uncertainty is recoverable; confident wrongness about stock is not.
Pass 4: carry the compliance fields your EU listings need
If you ship into the EU, the General Product Safety Regulation (EU) 2023/988 has applied since 13 December 2024, and Article 19 puts obligations on the online offer itself: the manufacturer's name or trade name and contact details, or the authorised representative's; information identifying the product, including an image; and any warnings or safety information.
The point that gets missed: these are product data fields, not footer boilerplate. They travel with the item, per SKU — a channel rendering your listing from a feed renders it without the GPSR block unless the feed carries it.
For sellers outside the EU, Turkish exporters included, sequencing bites here: you need an economic operator established in the EU before the listing can be complete, so the data change and the commercial arrangement must be planned together. [INTERNAL DATA NEEDED: which Switas client segments ship into the EU, and whether their PIM carries manufacturer contact and EU responsible person fields]
Pass rule: every EU-shipped SKU resolves manufacturer name, postal contact, EU responsible person and warnings from structured fields, not free text.
Pass 5: confirm the agent can reach the page
Blocking is more common than teams realise, usually collateral damage from an anti-scraping rule written in 2023. OpenAI runs four user agents with independent controls, and conflating them is the standard mistake.
| User agent | Purpose | Effect of disallowing |
|---|---|---|
OAI-SearchBot | Crawls for ChatGPT search | Not shown in ChatGPT search answers |
GPTBot | Data that may train foundation models | No effect on search visibility |
OAI-AdsBot | Ad landing page checks and relevance | Affects ads, not organic answers |
ChatGPT-User | User-initiated fetches inside ChatGPT | robots.txt rules may not apply |
The sensible default is to allow OAI-SearchBot and treat GPTBot as a separate licensing decision. Check the CDN and WAF as well as robots.txt: a rule that rate-limits by user agent produces the same outcome as a disallow, silently. Each crawler publishes verifiable IP ranges.
Pass 6: decide whether you need the transaction layer
Only now is ACP a sensible conversation. Want all three before scoping a build.
- AI-sourced sessions are a measurable share of revenue, not a rounding error.
- Your checkout already converts well — if it underperforms for human traffic, an API will not rescue it.
- Your inventory logic can reserve stock for a session whose pacing you do not control.
Fail one and keep improving passes 1 through 5, where returns are immediate and the spec is not in beta.
Pass 7: measure it as a panel, not as a metric
Agent answers are non-deterministic — the same prompt returns different products on different days — so a single before-and-after check tells you nothing. Track a fixed panel of prompts, run each repeatedly, and use inclusion rate across runs as the unit. Establish the variance band before you change anything, or you cannot separate a fix from noise.
Where this breaks down
It is a data method, not a demand method. All of this makes you eligible to be quoted. None of it makes an agent prefer you over a cheaper competitor with equally clean data.
The specs move faster than your release cycle, and marketplace sellers control less than this assumes. ACP is in beta and date-versioned, Google's spec changes on dated deadlines, and a marketplace owns the feed schema and often the structured data — which turns passes 1, 3 and 4 into negotiations.
The conversion evidence is young and has reversed once. Adobe's data shows AI-sourced traffic converting 38% worse than other channels in March 2025 and 42% better in March 2026. A twelve-month-old reversal is not a stable law — a reason to be ready, not a forecast for a business case. Related: the "1,200% growth" figure still circulating in decks is from Adobe's March 2025 release and compares February 2025 with July 2024, seven months off a very small base. It was never an annual rate. Use 393% year over year for Q1 2026, with Adobe's own base-size caveat.
Frequently asked questions
Can I reuse my Google Shopping feed for AI surfaces?
Reuse it as the source, but expect a mapping layer: field names differ (item_id versus id, url versus link) and OpenAI's spec requires seller_name. Generate both exports from the PIM rather than keeping two catalogs.
Is structured data on the product page enough on its own?
It helps for discovery and it is what search-style crawlers read, but shopping surfaces that ingest a feed will not include you on markup alone. Passing pass 2 means the two agree.
What happens if my feed says in stock and the product is not?
At best you lose the sale at checkout; at worst an agent quotes availability you fail to honour, which is a consumer-protection exposure in the EU. Submitting unknown is legitimate when systems cannot keep up.
Does blocking GPTBot remove me from ChatGPT shopping results?
No. GPTBot governs training data collection; OAI-SearchBot is the one tied to appearing in ChatGPT search answers. They are configured independently.
How much of GPSR Article 19 applies if I only sell through marketplaces?
The obligations attach to the offer, so the information still has to appear. The marketplace dictates which fields it renders; your job is supplying the data in their schema and verifying it on the live listing.
Should I implement ACP now or wait?
Wait unless you meet all three criteria in pass 6. The spec is in beta and date-versioned, so early integrations carry maintenance cost that the data passes do not.
If you want the seven passes run against your own catalog, with a prioritised remediation list at the end, talk to us about a product data readiness audit. Also you may visit our feed optimization tool Feedance.
Sources
- Adobe, AI traffic surge and machine-readability scores (16 April 2026)
- Adobe Analytics, generative AI retail traffic (17 March 2025)
- OpenAI, product feed specification
- OpenAI, bots and crawler user agents
- Google Merchant Center, product data specification
- Google Search Central, merchant listing structured data
- Agentic Commerce Protocol, specification
- Stripe, ACP overview
- ACP spec repository (release 2026-04-17)
- EUR-Lex, Regulation (EU) 2023/988
- Turkish annual inflation 31.5%, August 2026 (TÜİK data, reported 3 Sept 2026)







