Product Feeds pour AI
Comment construire et audit a produit feed AI shopping agents peut lire et transact contre — le three formats (Merchant Center, OpenAI ACP, schema.org), en temps réel accuracy, et le feed-qualité échecs que break agentic checkout.
A produit feed pour AI est le données structurées fichier — identifiers, price, availability, policies — que AI shopping agents lire directement. il y a aucun unique universal 'AI feed': OpenAI's docs décrire le feed as le façon vous supply ChatGPT commerce données avec aucun stated exploration fallback, pendant que Google's docs décrire combining exploration, sur la page données structurées, et votre Merchant Center feed ensemble. Serious merchants reconcile three parallel formats: le Google Merchant Center feed (qui maintenant a six optional AI-facing Conversational Attributs), OpenAI's ACP feed spec (Parquet/JSONL par SFTP, a daily complet snapshot plus an intraday API pour price/stock/promos), et schema.org Produit/Offer markup as a cross-verification channel. Identifiers (GTIN, or brand + MPN) sont le backbone à travers tout three — jamais fabricate un. Le chose c’est genuinely différent depuis Shopping-ads feed fonctionner est tolerance pour staleness: a human double-vérifications a price on lune page avant buying, mais an agent commits programmatically, donc a feed/checkout price mismatch or phantom stock est a réel risque à le transaction. Un myth à drop: OpenAI's docs ne pas state a '15-minute mettre à jour' règle — le documented model est a daily snapshot plus an intraday API. Instant Checkout dans ChatGPT est currently partner-approved, pas ouvrir à everyone. Et feed qualité obtient vous découvert et eligible; il ne fait pas guarantee conversion.
Preuve à l’appui de cette affirmation OpenAI publishes a merchant product-feed specification for supplying structured catalog data to supported commerce experiences. Portée : OpenAI commerce integrations; a feed supplements rather than universally replaces crawled pages. Niveau de confiance : élevé · Vérifié : OpenAI Commerce: Product feeds Preuve à l’appui de cette affirmation Google Merchant Center product data uses identifiers, price, availability, and other attributes to represent offers in Google surfaces. Portée : Google Merchant Center; requirements vary by destination, country, and product type. Niveau de confiance : élevé · Vérifié : Google Merchant Center: Product data specificationTL;DR — A produit feed pour AI est a structured fichier — a liste de votre produits avec leur prices, stock, identifiers, et policies — que pris en charge AI shopping outils peut utiliser alongside autre merchant données. Précis, complet feeds peut faire produits eligible pour commerce experiences; stale données peut disrupt les. Getting le identifiers correct (le barcode-style GTIN, or brand + partie number) et keeping price et stock actuel est la plupart de le job.
Ce que a product feed pour AI en réalité is
Quand a person shops, ils ouvrir votre page web, lire il, et decide. Quand an AI shopping agent shops on quelqu’un’s behalf, il mostly fonctionne depuis a feed à la place — a structured fichier avec a ligne pour chaque produit et columns describing il: titre, price, availability, image, brand, an ID number, et votre policies.
Comment far que goes dépend on qui’s reading. Pour ChatGPT’s commerce flows, OpenAI’s propre docs décrire le feed as le façon merchants supply produit données — il y a aucun documented fallback à exploration votre page. Google est différent: son propre docs dire Google combines exploration, sur la page données structurées, et votre Merchant Center feed, donc le feed ne fait pas remplacer votre HTML là — c’est un de three channels Google cross-vérifications contre chaque autre. Soit façon, le practical takeaway holds: le chose la plupart probable à decide si votre produits obtenir recommended n’est pas votre page copy on son propre — c’est le données dans que fichier.
Pourquoi ce is a little différent from a normal Shopping feed
Si vous déjà send a feed à Google Merchant Center, vous ont a big head commencer — c’est le même kind de fichier. Ce que changements est le lecteur, et lecteurs ont différent tolerances:
- A résultat de recherche peut montrer a slightly old price, parce que a human clicks via et double-vérifications on votre site avant paying.
- An AI agent completing a purchase ne peut pas faire que. Il acts on le number dans votre feed. Si votre feed dit 40 USD et checkout dit 45, USD c’est a réel risque de a broken transaction, pas a minor mismatch a human va shrug off.
Donc le deux choses que matter la plupart sont: obtenir le identifiers correct, et garder price et stock précis et fresh.
The three fichiers you’ll hear à propos de
Vous don’t pick un — bigger stores run tout three, parce que ils reach différent AI outils:
- Google Merchant Center feed — feeds Google’s AI Mode, Gemini, AI Overviews, et Shopping. (Deep dive lives dans le Merchant Center feed optimization guide.)
- OpenAI’s ACP produit feed — le fichier ChatGPT lit pour shopping et checkout.
- schema.org
Product/Offermarkup — le données structurées on votre page, utilisé as a backup que autre systèmes cross-vérifier contre votre feed.
The un chose pas to do
Jamais faire up a GTIN or produit fact à fill a champ. Google’s propre règle est explicit: ne pas guess, et ne pas copy a valeur depuis a similaire produit. A incorrect identifier rend an agent match vous à le incorrect produit — pire que leaving il blank.
Vouloir le champ-par-champ version — le OpenAI spec, Google’s nouveau AI-seulement attributs, le schema.org properties agents utiliser à vérifier out, et le exact échecs que break an agentic sale? Switch à le Avancé tab.
Preuve à l’appui de cette affirmation OpenAI publishes a merchant product-feed specification for supplying structured catalog data to supported commerce experiences. Portée : OpenAI commerce integrations; a feed supplements rather than universally replaces crawled pages. Niveau de confiance : élevé · Vérifié : OpenAI Commerce: Product feeds Preuve à l’appui de cette affirmation Google Merchant Center product data uses identifiers, price, availability, and other attributes to represent offers in Google surfaces. Portée : Google Merchant Center; requirements vary by destination, country, and product type. Niveau de confiance : élevé · Vérifié : Google Merchant Center: Product data specificationTL;DR — il y a aucun unique universal “AI feed” — chaque provider’s contract differs. Pour ChatGPT’s commerce flows, OpenAI documents le feed as le façon vous supply produit données, avec aucun stated exploration fallback; Google’s propre docs décrire combining exploration, sur la page données structurées, et votre Merchant Center feed ensemble, pas un replacing le autre. Reconcile three formats: le Google Merchant Center feed (maintenant avec six optional AI-seulement Conversational Attributs), OpenAI’s ACP feed spec (Parquet/JSONL over SFTP — a daily complet snapshot plus an intraday API pour price, stock, et promotions), et schema.org
Product/Offermarkup as a cross-verification couche. Identifiers (GTIN, or brand + MPN) sont le backbone à travers tout three; jamais fabricate un. Le réel differentiator versus a Shopping-ads feed est staleness tolerance: a human double-vérifications a price avant buying, an agent commits programmatically — donc feed/checkout price mismatch, phantom stock, a manquant retourner policy blocking checkout eligibility, or an unstableitem_idest a réel risque à le transaction. Drop le “OpenAI exige 15-minute mises à jour” claim — il n’est pas dans OpenAI’s docs. Instant Checkout est currently partner-approved, pas ouvrir à everyone. Et feed qualité drives discovery et eligibility, pas conversion.
There’s aucun un universal “AI feed” — providers differ
I garder coming back to un framing parce que it reorganizes everything sinon, but it nécessite a caveat I didn’t give it strongly suffisant avant: ce isn’t un universal behavior, it’s a provider-specific contract.
Pour ChatGPT’s commerce flows, OpenAI’s propre docs décrire le feed as le façon merchants supply produit données — il y a aucun documented fallback à exploration votre rendu page pour que flow. Pour Google, c’est genuinely différent: Google’s Recherche Central docs sont explicit que Google combines exploration, sur la page données structurées, et votre Merchant Center feed — “Google peut à times utiliser autre approaches à extract données depuis pages” alongside les deux de le others — donc le feed ne fait pas remplacer votre HTML là, c’est un de three channels Google cross-vérifications contre chaque autre. Le Agentic Commerce Protocol piece covers le ACP-spécifique mechanics dans depth et Je ne va pas re-derive que ici. Ce article est le practical couche sous il: ce que vous en réalité put dans le fichier, à travers le formats que matter, et ce que breaks a sale quand vous obtenir il incorrect.
Le mechanism est encore worth stating plainly parce que il changements votre priorities, même avec que caveat. Jason Barnard put il bien dans his AI-moteur pipeline piece: structured feeds — Google Merchant Center et OpenAI’s Produit Feed Specification — “bypass discovery, selection, exploration, et rendu altogether, delivering votre contenu à le competitive phase avec minimal attenuation.” c’est Barnard’s propre framing de comment a bon feed peut skip la plupart de le SEO funnel, pas a claim soit plateforme rend dans son docs — mais c’est a utile mental model. Le downside est que tout maintenant rides on données qualité, et il y a aucun rendu page pour a human à sanity-vérifier contre mid-transaction le façon là est avec a résultat de recherche.
Three formats, pas un
A serious merchant doesn’t choisir entre ces — ils run tout three at une fois, parce que chaque reaches a différent définir of agents and ils cross-verify chaque autre.
| Google Merchant Center feed | OpenAI ACP feed spec | schema.org Product/Offer | |
|---|---|---|---|
| Owner | OpenAI (Agentic Commerce Protocol) | Schema.org (ouvrir vocabulary) | |
| Principal consumer | Shopping Graph → Shopping ads, gratuit listings, AI Overviews, AI Mode, Gemini | ChatGPT recherche + Instant Checkout | Quelconque robot d’exploration/agent reading page markup |
| Format | XML, TXT/CSV, Sheets, or Contenu API | Parquet (zstd) preferred; jsonl.gz, csv.gz, tsv.gz | JSON-LD (or Microdata/RDFa) dans page HTML |
| Delivery | Scheduled récupérer, upload, or Contenu API | SFTP push; stable filenames, overwrite | Rendu dans lune page, serveur- or client-side |
| Identifiers | GTIN où il exists, sinon brand + MPN | gtin recommended; mpn fallback | gtin/gtin13/mpn/sku properties |
| Freshness | Daily minimum; hourly/API pour rapide movers | Complet snapshot ≥ daily + intraday API | Aucun cadence défini — dépend sur la page freshness |
| Checkout | Feeds listings; checkout se produit elsewhere | is_eligible_checkout + Agentic Checkout API | checkoutPageURLTemplate routes an agent |
| Owned dans depth on ce site | merchant-center-feed-optimization | agentic-commerce-protocol | ce article |
Le synthesis point: ces ne sont pas competing choices. Google explicitly blends feed données et sur la page données structurées — “Providing les deux données structurées on pages web et a Merchant Center feed maximizes votre eligibility à experiences et aide Google correctement comprendre et vérifier votre données,” et some experiences va pull, dire, pricing depuis votre feed quand c’est manquant depuis votre markup. Qui aussi signifie a mismatch entre le deux — feed price dit un chose, sur la page schema dit un autre — est a confiance-erosion et disapproval risque dans chaque un de ces systèmes. Google/Shopify’s UCP leans on le même Merchant Center feed as son données backbone, donc ce fonctionner pays off là aussi.
Le OpenAI ACP feed spec, champ par champ
Ce est le partie la plupart competing écrire-ups paraphrase secondhand. Ici’s ce que OpenAI’s propre produit-feed spec en réalité exige (verified contre le actif docs):
Requis fields
item_id— max 100 chars, et il doit stay stable over temps. Ce est le continuity clé entre snapshots; modifier il et le agent thinks le old produit vanished et a nouveau un appeared.title— max 150 chars, éviter tous-caps.description— max 5 000 chars, plain texte seulement.url— doit resolve200; HTTPS preferred.brand— max 70 chars.image_url— JPEG/PNG, HTTPS preferred.price— avec an ISO 4217 currency code.availability— enum:in_stock,out_of_stock,pre_order,backorder,unknown.seller_name(max 70),seller_url.target_countriesetstore_country— ISO 3166-1 alpha-2.is_eligible_search— boolean, defaults faux. Vous ont à explicitly flip ce àtrueà apparaître dans ChatGPT recherche à tout.is_eligible_checkout— boolean; exigeis_eligible_search = true.
Conditional requirements
availability_dateest requis siavailability = pre_order.seller_privacy_policyetseller_tossont requis siis_eligible_checkout = vrai.- A retourner policy est requis pour checkout eligibility.
Un scope caveat worth flagging: flipping is_eligible_checkout à true rend a
produit checkout-eligible dans le feed, mais il ne fait pas par itself obtenir vous dans ChatGPT
checkout. Per OpenAI’s propre docs,
Instant Checkout dans ChatGPT est currently limited à approved partners — vous appliquer à
participate — et même une fois approved, le merchant (pas OpenAI) encore performs order
validation, determines fulfillment, calculates et charges tax, exécute son propre risque
vérifications, charges le payment méthode via son propre processor, et accepts or declines
le order. OpenAI’s UI renders le session; votre systèmes encore propre le transaction.
«Field list confirmed live against the current spec on 2026-07-18. This schema is dynamic and versioned, though, so treat this as a snapshot, not a permanent list — recheck the live required-field table before you build to it, especially months from now. » (Traduction) (Résumé en français de la section trente-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Identifiers. gtin (numeric, 8–14 digits, no dashes or spaces — it accepts
GTIN/UPC/ISBN in one field) is optional but strongly recommended; mpn
(alphanumeric, max 70) is the fallback when GTIN is unavailable. Neither is
“required” the way brand is, but OpenAI’s framing is that supplying them improves
catalogue matching and reduces errors — functionally the same logic as Google’s
GTIN-or-brand+MPN rule, just phrased as a strong recommendation.
» (Traduction) (Résumé en français de la section trente-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«## The “15-minute update” myth — what OpenAI actually documents » (Traduction) (Résumé en français de la section trente-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Here’s a number I couldn’t verify, and I’d rather flag it than repeat it. Across trade coverage — and, I’ll admit, in an earlier version of our own ACP article — you’ll see the claim that OpenAI requires feeds to update every 15 minutes. I went looking for it in OpenAI’s current commerce docs and couldn’t find that figure stated anywhere. » (Traduction) (Résumé en français de la section quarante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Ce que the docs en réalité décrire is a two-channel model, pas a flat interval:
- A complet feed snapshot au moins une fois a day, delivered as a fichier upload over SFTP en utilisant stable filenames que vous overwrite (pas versioned nouveau fichiers chaque temps).
- An API channel pour intraday incremental mises à jour — ce est comment price, stock, et (précisément) promotions changements propagate faster que le daily snapshot. Promotions données est API-seulement.
OpenAI’s propre wording est roughly: provide le entier feed une fois a day via fichier upload,
alors send mises à jour throughout le day via le API. il y a aucun séparé “delete” appel
soit — à pull a produit vous définir is_eligible_search = false or drop il depuis le
suivant complet snapshot.
Donc “15 minutes” est meilleur treated as a practitioner règle-de-thumb pour comment fresh votre rapide-moving SKUs devrait être, pas a documented OpenAI requirement. Le spec est versioned et moving rapide, donc vérifier le actuel version avant vous citation quelconque number — mais le mechanism vous devez en réalité construire pour est daily snapshot + intraday API, et c’est plus utile que le myth anyway.
Pourquoi real-time accuracy is non-negotiable pour agents
Ce est le réel difference entre AI-feed fonctionner et Shopping-ads-feed fonctionner, et c’est worth étant precise à propos de pourquoi. A mis en cache recherche extrait tolerates a little staleness parce que il y a a human dans le loop qui lands on votre page et re-vérifications avant paying. An agent completing a transaction a aucun tel buffer — il acts on le price et stock state votre feed asserts, donc a stale valeur là est a réel risque à le transaction dans a façon a stale recherche extrait n’est pas. Aucun official spec states que chaque stale valeur automatiquement breaks chaque transaction, et providers ajouter validation étapes de leur propre on top de le feed — mais le mechanism itself (aucun human re-vérifier avant committing) est exactly pourquoi freshness matters plus ici que il fait pour an ad extrait.
Kate Ragotte, dans Shopify’s enterprise guidance on preparing produit données pour AI channels, puts le consequence bluntly: “Price, availability, et retourner windows doit être précis et synced à travers chaque channel où ils apparaître. Inconsistent or stale données est un de le fastest façons à obtenir filtered out.” Et on pourquoi structure matters à tout: “AI agents peut seulement recommend ce que ils peut comprendre, et que dépend entirely on comment well-structured votre produit données est” — machines peut technically trouver loosely-structured information, “mais ils ne va pas confidently act on il. AI agents préférer structured, labeled données ils peut extract et confiance.”
«That’s the whole game: the agent has to trust the number enough to transact on it. The daily-snapshot-plus-intraday-API model is OpenAI’s concrete answer to closing the gap; on the Google side it’s the Shopping Graph, which Google says now includes “more than 50 billion product listings, 2 billion of which are updated every hour” — that hourly refresh benchmark is the pace the system expects your data to move at. (The Shopping Graph as a system is its own topic; this article just assumes your feed populates it.) » (Traduction) (Résumé en français de la section quarante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google’s Conversational Attributs — le concrete “new pour AI” couche
On le Google side, le spécifique chose c’est nouveau pour AI est a définir de optional Merchant Center attributs announced à Google Marketing Actif dans Peut 2026, covered par Moteur de recherche Land. Le point de les est que Google’s AI systèmes “utiliser que données structurées à meilleur match produits avec conversational shopping requêtes à travers AI Mode, Gemini et autre AI-powered surfaces.” Google’s propre attribut-aider wording, as reported, est que ces sont “primarily prévu pour utiliser dans conversational experiences tel as AI Mode dans Recherche Google.”
Google’s Merchant Center Aider documents six conversational attributs:
question et réponse, document lien, connexe produit, élément groupe titre, variant
option, et popularity classer. product_highlight et product_detail sont
existing, pre-existing complementary champs — pas deux additional members de le nouveau
conversational définir, despite que étant comment some trade coverage (notamment an précédent
version de ce article) grouped les.
Google est explicit que ces sont optional et que ajout les ne fait pas affecter votre existing produit-approval status; le framing est que ils peut aider produit understanding et discovery dans conversational surfaces, pas que ils sont requis or que ils guarantee inclusion, classement, or citation dans quelconque AI Mode/Gemini réponse.
Preuve à l’appui de cette affirmation Google says adding conversational attributes does not affect existing product approval status and can help product understanding or discovery; this is not a guarantee of AI Mode inclusion, ranking or citation. Portée : product data Niveau de confiance : élevé · Vérifié : How to use conversational attributes Attribut count et noms confirmed contre ce site’s research packet (sourced depuis Google’s actif Merchant Center Aider page, captured 2026-07-16). A direct même-day refetch de prise en charge.google.com’s conversational-attributs page était attempted pour ce réussir et bloqué par Google’s bot-detection chaque temps — treat ce as verified contre a recent capture plutôt que a même-day actif refetch, et recheck avant quoting exact wording.Frame ces as enrichment, pas a replacement. Ils sit on top of votre requis attributes. Si votre base feed is disapproved pour a bad price or a fabricated GTIN, a beautiful Q&A attribute doesn’t enregistrer vous.
schema.org Product/Offer as the agent-facing markup couche
Là est aucun “AI edition” de schema.org — le properties agents rely on sont ordinary ecommerce vocabulary étant lire par a nouveau class de consumer. Three matter la plupart:
Offer.availability— “Le availability de ce élément — Par exemple Dans stock, Out de stock, Pre-order, etc.” Le stock state an agent lit depuis votre markup.Offer.checkoutPageURLTemplate— “UNE URL template (RFC 6570) pour a checkout page pour an offer.” Ce est le property que lets an agent route a shopper à a pre-filled checkout depuis votre markup alone.Offer.acceptedPaymentMethod— le payment méthodes vous accept, qui an agent peut vérifier avant attempting a transaction.
Garder ce markup’s price et availability dans lockstep avec votre feed. Google blends le deux et cross-verifies les, donc a divergence entre sur la page schema et feed est exactly le kind de inconsistency que erodes confiance à travers tout ces surfaces.
Feed-qualité échecs que break agentic discovery et checkout
Ce est le practical payoff. Ces sont le spécifique choses que break an AI sale — pas simplement an ad disapproval:
- Feed/checkout price mismatch. Le feed dit 40, USD checkout dit 45. USD Pour ads c’est a disapproval; pour an agent mid-transaction c’est a broken purchase.
- Phantom or stale stock.
in_stockdans le feed, sold out à checkout. Le agent commits à buying quelque chose que n’est pas là. - Manquant or incorrect identifiers. Aucun GTIN/MPN, or a fabricated un, causes le
agent à mismatch vous contre le incorrect produit à travers formats. Google’s règle:
ne pas faire up, guess, or copy identifiers depuis similaire produits; utiliser
identifier_exists = falsepour genuinely identifier-moins goods. - Manquant retourner policy or seller ToS. Dans le ACP spec ces sont requis pour
is_eligible_checkout = true. Omit les et vous êtes discoverable mais ne peut pas transact. - Unstable
item_id/SKU. Si le identity clé changements entre snapshots, le agent loses continuity — le old produit semble deleted et le nouveau un semble unknown, wiping quelconque accumulated matching. - Tous-CAPS or promotional texte dans titles. A policy violation à travers Google et OpenAI alike (OpenAI’s spec dit éviter tous-caps outright).
- AI-generated images or descriptions avec drift. Descriptions que invent specs pas on le landing page, or AI-generated images manquant requis IPTC disclosure metadata, break le cross-verification entre feed et page. (Le feed-optimization guide covers le “don’t invent facts” règle dans depth.)
Ce que feed quality fait and doesn’t guarantee
Un honest caveat donc vous ne pas overclaim internally: a great feed obtient vous découvert et eligible. Il ne fait pas guarantee conversion. Walmart’s propre reported experience est le cleanest données point ici — per Moteur de recherche Land, son dans-chat ChatGPT checkout converted à roughly un-third le rate de click-out transactions après testing autour 200 000 éléments. Lire le reporting carefully: le cited causer était checkout UX et confiance (fear de split shipments, unique-élément-seulement checkout) — pas feed données staleness. Donc ne pas utiliser il as evidence que feeds échouer; utiliser il as le reminder que getting dans le feed est necessary, pas sufficient. Discovery et checkout conversion sont séparé problèmes.
c’est worth keeping le entier chain séparé dans votre head, parce que “my feed is
accepted” réponses a beaucoup narrower question que il sounds comme: ingestion (le
plateforme accepted votre fichier) n’est pas validation (il réussi le champ/policy vérifications),
qui n’est pas eligibility (is_eligible_search/is_eligible_checkout sont définir et
approved), qui n’est pas afficher (an agent en réalité surfaces le produit), qui est
pas classement or citation (c’est le un recommended), qui n’est pas checkout approval
(vous êtes an approved Instant Checkout partner), qui n’est pas conversion (le shopper
buys). A clean feed raises votre odds à chaque étape; il ne fait pas collapse le chain
dans un guaranteed résultat.
Où ce fits
- Agentic Commerce Protocol — le protocol itself et son five building bloque (Produit Feed est un de les).
- Universal Commerce Protocol — Google/Shopify’s counterpart, même Merchant Center feed as son backbone.
- Google Merchant Center et Merchant Center feed optimization — le Google-side basics, titre/image/attribut deep dives, et le GTIN-as-a-lever données Je ne va pas repeat ici.
AI summary
A condensed prendre on the Avancé version:
- Aucun unique universal “AI feed.” Pour ChatGPT’s commerce flows, OpenAI documents le feed as le façon vous supply produit données, avec aucun stated exploration fallback. Pour Google, le feed ne fait pas remplacer exploration — Google’s docs décrire combining exploration, sur la page données structurées, et votre Merchant Center feed ensemble.
- Exécuter three formats, pas un: Google Merchant Center feed, OpenAI ACP feed spec,
et schema.org
Product/Offermarkup. Google blends feed + sur la page structured données et cross-verifies les, donc a mismatch entre les est a confiance/disapproval risque. - Identifiers sont le backbone. GTIN, or brand + MPN, à travers chaque format. Jamais
fabricate un; utiliser
identifier_exists = falsepour goods sans un. - En temps réel accuracy est le réel differentiator. A human double-vérifications a price avant buying; an agent commits programmatically. A feed/checkout price mismatch or phantom stock est a réel risque à le transaction, though aucun spec guarantees chaque stale valeur breaks chaque sale.
- Le “15-minute mettre à jour” figure n’est pas dans OpenAI’s docs. Le documented model est a daily complet snapshot (SFTP, stable filenames, overwrite) + an intraday API pour price/stock/promotions. Promotions sont API-seulement.
- ACP requis champs inclure stable
item_id,title,description,url,brand,image_url,price(ISO 4217),availabilityenum, seller champs, country champs, etis_eligible_search(defaults faux — doit être flipped vrai).is_eligible_checkoutaussi nécessite a retourner policy, privacy policy, et ToS — et même alors, Instant Checkout itself est currently limited à approved partners, avec validation, fulfillment, tax, risque, payment, et order decisions staying avec le merchant. - Google’s Conversational Attributs (Peut 2026) sont six optional AI-seulement
enrichment champs: question et réponse, document lien, connexe produit, élément
groupe titre, variant option, et popularity classer. (
product_highlightetproduct_detailsont pre-existing champs, pas partie de ce nouveau définir.) Ajout les ne fait pas affecter existing produit-approval status. - schema.org’s agent-facing properties:
Offer.availability,checkoutPageURLTemplate,acceptedPaymentMethod. - Feed qualité drives discovery et eligibility, pas conversion — et ingestion, validation, eligibility, afficher, classement/citation, checkout approval, et conversion sont chaque séparé étapes. Walmart’s dans-chat ChatGPT checkout converted ~3x pire que click-out — attributed à checkout UX/confiance, pas feed staleness.
Documentation officielle
Primary-source specs and docs pour building an AI-ready feed.
OpenAI (Agentic Commerce Protocol)
- Produit feeds overview — le ACP feed En un coup d’œil.
- Produit feed spec — requis champs — le champ-par-champ requirements.
- Feed concept page — delivery, format, et snapshot/API model.
- Commerce clé concepts — comment a feed fits dans ChatGPT recherche et checkout.
«Google » (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Product data specification — the base Merchant Center attribute spec the AI surfaces inherit. » (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Unique product identifiers (GTIN, MPN, brand) — the identifier rules, including “don’t make up, guess, or include values from similar products.” » (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- Intro to Product structured data — how Google blends feed and on-page structured data. » (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.) «- Agentic commerce AI tools & protocol for retailers — Google’s own framing for AI-facing retailer tooling. » (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.) «- Agentic checkout / holiday AI shopping — the Shopping Graph scale/freshness benchmark (50B listings, 2B updated hourly). » (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
schema.org
«## Quotes from the source » (Traduction) (Résumé en français de la section quatre-vingt-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«On-the-record statements from the platforms and industry practitioners. » (Traduction) (Résumé en français de la section quatre-vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Google — identifiers and data quality » (Traduction) (Résumé en français de la section quatre-vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “Providing accurate and correctly formatted product data is essential for creating successful ads.” — Google Merchant Center Help. Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- On GTIN/MPN: “Only provide a GTIN if you’re sure it is correct. When in doubt don’t provide this attribute (for example, do not guess or make up a value).” Jump to source » (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — feed and on-page données structurées ensemble
- “Providing les deux données structurées on pages web et a Merchant Center feed maximizes votre eligibility à experiences et aide Google correctly understand et vérifier votre données.” — Recherche Central. Lire le doc
Google — Shopping Graph freshness (Vidhya Srinivasan, VP/GM Ads et Commerce)
«- The Shopping Graph “includes more than 50 billion product listings, 2 billion of which are updated every hour.” Read the post » (Traduction) (Résumé en français de la section quatre-vingt-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Kate Ragotte, Shopify (Shopify Enterprise blog) » (Traduction) (Résumé en français de la section quatre-vingt-dix, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “Price, availability, and return windows must be accurate and synced across every channel where they appear. Inconsistent or stale data is one of the fastest ways to get filtered out.” » (Traduction) (Résumé en français de la section quatre-vingt-onze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- “AI agents can only recommend what they can understand, and that depends entirely on how well-structured your product data is.” Read the article » (Traduction) (Résumé en français de la section quatre-vingt-onze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
Jason Barnard, Kalicube (Moteur de recherche Land)
- “Structured feeds, Google Merchant Center et OpenAI Produit Feed Specification, bypass discovery, selection, exploration, et rendu altogether, delivering votre contenu à le competitive phase avec minimal attenuation.” Lire le article
Jen Cornwell, Tinuiti (Moteur de recherche Land)
«- “Organic feed titles should reflect how your customers actually search, not how your bidding strategy is structured.” » (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- On the feed’s strategic position: “The feed sits at that intersection as it’s an owned asset managed by commerce infrastructure that directly feeds AI-powered visibility.” Read the article » (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
Remarque: le trade-press citations ci-dessus (Ragotte, Barnard, Cornwell) et le deux Google Merchant Center Aider lines étaient captured via récupérer-et-summarize tooling plutôt que raw HTML diffing, et plusieurs sont rapide-moving URLs — confirmer le exact wording contre le actif page avant treating quelconque de les as final. Le Google Merchant Center Aider pages ne pas nom AI Mode or Gemini; ils sont le base Shopping spec le AI surfaces inherit.Cross-format AI-feed audit checklist
A unique réussir à travers tout three formats avant vous appel a feed “AI-ready”:
Identity & matching
- Chaque produit que a a GTIN carries a correct un; rien fabricated or copied depuis a similaire produit.
- Produits sans a manufacturer identifier utiliser brand + MPN, or
identifier_exists = false— jamais a guessed GTIN. -
item_id/SKU est stable over temps et consistent à travers feed, ACP, et markup.
Price & availability (le freshness couche)
- Feed price matches actif checkout price; currency est a valide ISO 4217 code.
- Availability reflects réel stock — aucun phantom
in_stock. - Rapide-moving SKUs mettre à jour via le ACP intraday API, pas simplement le daily snapshot; promotions go via le API.
- Sur la page schema price/availability matches le feed (Google cross-verifies les).
ACP checkout eligibility
-
is_eligible_searchest explicitlytrue(il defaults faux). -
is_eligible_checkoutproduits ont a retourner policy,seller_privacy_policy, etseller_tos. -
availability_datedéfinir pour quelconquepre_orderéléments. - Feed delivered par SFTP avec stable filenames vous overwrite, complet snapshot au moins daily.
Contenu & compliance
- Titles ≤ 150 chars, aucun Tous-CAPS or promo texte (policy à travers Google + OpenAI).
- Descriptions sont plain texte, ≤ 5 000 chars, et match le landing page (aucun invented specs).
- Images sont JPEG/PNG over HTTPS; AI-generated images carry requis IPTC disclosure metadata.
-
urlresolves200over HTTPS.
Enrichment (optional)
- Google’s six Conversational Attributes ajouté où ils fit (Q&A, popularity rank, connexe product, item groupe title, variant option, document lien) — on top of, pas au lieu de, requis attributes.
- schema.org
checkoutPageURLTemplateprésent so agents peut route to checkout.
AI produit feed — cheat sheet
Qui format reaches qui agent
| Format | Reaches | Delivery | Freshness model |
|---|---|---|---|
| Google Merchant Center feed | AI Mode, Gemini, AI Overviews, Shopping | Récupérer / upload / Content API | Daily min; hourly/API pour fast movers |
| OpenAI ACP feed spec | ChatGPT search + Instant Checkout | SFTP (stable filenames, overwrite) | Daily complet snapshot + intraday API |
schema.org Product/Offer | Quelconque agent reading page markup | Rendered in lune page | Seulement as fresh as lune page |
ACP requis fields (fast référence)
item_id(stable),title(≤150, aucun caps),description(≤5 000, plain text),url(200/HTTPS),brand(≤70),image_url(JPEG/PNG),price(ISO 4217),availability(enum),seller_name/seller_url,target_countries/store_country(ISO 3166-1 alpha-2),is_eligible_search(defaults faux),is_eligible_checkout.- Checkout aussi nécessite: retourner policy,
seller_privacy_policy,seller_tos. availabilityenum:in_stock,out_of_stock,pre_order,backorder,unknown.
Identifier rule (tout formats)
- Has a GTIN → utiliser it (8–14 digits, aucun dashes/spaces).
- Aucun GTIN → brand + MPN.
- Genuinely none →
identifier_exists = false. Jamais fabricate.
Myth-buster
- “OpenAI exige 15-minute mises à jour” → pas dans le docs. Reality: daily snapshot + intraday API (promotions API-seulement).
- “schema.org a an AI edition” → aucun; ordinary
Offer/Productvocabulary. - “GTIN is always required” → conditional (GTIN, sinon brand + MPN, sinon
identifier_exists = false).
Qui identifier do I put in my feed?
Identifiers sont le backbone à travers Google, OpenAI, et schema.org — et le unique easiest chose à obtenir incorrect. Réponse a question or deux et land on le correct valeur.
Qui product identifier belongs in my feed?
Ce que pas to do with an AI feed
1. Building pour le daily snapshot seulement et skipping le API. Si vous push a complet feed une fois a day et arrêter là, chaque price cut et stock modifier est up à 24 hours stale — fine pour browsing, fatal pour a transaction. Corriger: wire price, stock, et promotions via OpenAI’s intraday API channel; le snapshot est le baseline, pas le entier plan.
2. Fabricating a GTIN to faire a field validate.
A guessed or copied identifier is worse que a blank un — it matches vous contre
the incorrect product à travers formats. Fix: GTIN si vous have it, sinon brand + MPN,
sinon identifier_exists = false.
3. Letting feed price et checkout price drift apart. Pour ads c’est a disapproval; pour an agent mid-purchase c’est a broken sale, et il erodes le confiance le entier système exécute on. Corriger: treat feed price as a contract — sync il à actif checkout, et garder sur la page schema price matching aussi.
4. Reusing or churning item_id/SKU.
Si le identity clé changements entre snapshots, le agent loses continuity — votre
produit semble deleted et re-created, wiping accumulated matching. Corriger: garder
item_id stable pour le life de le produit.
5. Enabling checkout sans le policy champs.
Flipping is_eligible_checkout = true sans a retourner policy, privacy policy, et
ToS rend vous discoverable mais un-transactable. Corriger: ship tout three avant vous
enable checkout eligibility.
6. Treating Conversational Attributes as a substitute pour a clean base feed. A great Q&A or popularity-rank attribute doesn’t rescue a feed disapproved pour a bad price or invented GTIN. Fix: obtenir requis attributes clean premier; enrich second.
7. Assuming schema.org markup alone obtient vous dans ChatGPT checkout. Pour transactional flows, ChatGPT lit le ACP feed, pas votre rendu page — markup est a cross-verification channel, pas le principal discovery mechanism pour que flow. Corriger: ship le feed; garder markup consistent avec il.
Rapide checks pour feed/markup consistency
Petit, copy-pasteable checks pour the mismatches que break agentic sales. Nothing ici replaces a réel feed-management platform — they’re pour spotting problems fast.
Extract on-page Product/Offer schema in le navigateur console
Paste ce dans Chrome DevTools Console on a produit page à pull le price et availability le agent-facing markup asserts, donc vous pouvez comparer il à votre feed:
// Grab every JSON-LD block, find Product/Offer, print price + availability
[...document.querySelectorAll('script[type="application/ld+json"]')]
.map(s => { try { return JSON.parse(s.textContent); } catch { return null; } })
.filter(Boolean)
.flatMap(o => Array.isArray(o) ? o : (o['@graph'] || [o]))
.filter(o => o && /Product/.test([].concat(o['@type']).join()))
.forEach(p => {
const offer = [].concat(p.offers || [])[0] || {};
console.log({
name: p.name,
gtin: p.gtin13 || p.gtin || p.gtin12 || p.mpn || null,
price: offer.price ?? offer.priceSpecification?.price,
currency: offer.priceCurrency,
availability: offer.availability,
});
});A bookmarklet version (enregistrer l’URL ci-dessous as a bookmark, click il on quelconque produit page à alert le sur la page price/availability):
javascript:(()=>{const b=[...document.querySelectorAll('script[type="application/ld+json"]')].map(s=>{try{return JSON.parse(s.textContent)}catch{return null}}).filter(Boolean).flatMap(o=>Array.isArray(o)?o:(o['@graph']||[o])).filter(o=>o&&/Product/.test([].concat(o['@type']).join()));if(!b.length){alert('No Product schema found');return}const p=b[0],o=[].concat(p.offers||[])[0]||{};alert(`${p.name}\nprice: ${o.price??o.priceSpecification?.price} ${o.priceCurrency||''}\navail: ${o.availability||'?'}`)})();Comparer feed price contre live checkout price (shell)
Si vous export votre feed à CSV avec item_id,price columns et ont a façon à récupérer
le actif price per SKU, ce flags divergences — le unique la plupart damaging échec:
# feed.csv: item_id,price | live.csv: item_id,price (pulled from checkout)
join -t, -1 1 -2 1 \
<(sort -t, -k1,1 feed.csv) \
<(sort -t, -k1,1 live.csv) \
| awk -F, '$2 != $3 { print "MISMATCH", $1, "feed="$2, "live="$3 }'Valider ACP checkout-eligibility completeness (Python)
A minimal sanity vérifier que quelconque product flagged pour checkout carries the requis policy fields avant vous push a snapshot:
import csv
REQUIRED_FOR_CHECKOUT = ["seller_privacy_policy", "seller_tos", "return_policy"]
with open("feed.csv", newline="") as f:
for row in csv.DictReader(f):
if row.get("is_eligible_checkout", "").lower() == "true":
missing = [k for k in REQUIRED_FOR_CHECKOUT if not row.get(k, "").strip()]
if missing:
print(f"{row['item_id']}: checkout enabled but missing {missing}")
if row.get("is_eligible_checkout", "").lower() == "true" \
and row.get("is_eligible_search", "").lower() != "true":
print(f"{row['item_id']}: checkout eligible but search is not (invalid)")«Spot fabricated / malformed GTINs (regex) » (Traduction) (Résumé en français de la section cent quarante-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
An ACP gtin devrait be 8–14 digits, aucun dashes or spaces. Flag anything que isn’t:
# Prints rows whose gtin column isn't a clean 8–14 digit string
awk -F, 'NR>1 && $3 != "" && $3 !~ /^[0-9]{8,14}$/ { print "BAD GTIN:", $1, $3 }' feed.csv Daily AI produit-feed operations SOP
- Confirmer le complet snapshot completed. Vérifier le attendu stable filename, record count, schema, et delivery status. Fait signifie le plateforme accepted le latest complet catalog plutôt que an accidental partiel fichier.
- Reconcile intraday changements. Comparer price, stock, et promotion mises à jour depuis le commerce backend avec API acknowledgements. Fait signifie chaque modifié SKU a soit succeeded or entered an owned retry queue.
- Examiner eligibility et policy erreurs. Groupe échecs par source champ et template, prioritizing produits prévu pour checkout. Fait signifie chaque erreur a a causer, owner, et correction chemin.
- Sample cross-format parity. Comparer stable ID, GTIN/MPN, variant, price, availability, et policy valeurs à travers le Merchant Center feed, OpenAI feed, Produit/Offer markup, et actif checkout. Fait signifie le sampled produits décrire le même offer everywhere.
- Vérifier identity continuity. Flag élément IDs que disappeared et reappeared sous nouveau valeurs sans a genuine produit replacement. Fait signifie accidental SKU churn est corrected avant le suivant snapshot.
- Fermer stale or invalide offers. Mark indisponible produits correctement et utiliser le pris en charge eligibility mechanism au lieu de leaving phantom stock. Fait signifie aucun supprimé offer remains purchasable par an agent.
- Log et trend échecs. Record mismatches, processing delays, rejected lignes, et corrections par source système. Fait signifie recurring upstream defects sont visible plutôt que repeatedly patched dans exports.
«## Common AI product-feed issues » (Traduction) (Résumé en français de la section cent cinquante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«### Product is present in the file but absent from discovery » (Traduction) (Résumé en français de la section cent cinquante-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Symptom: the row is delivered but the product is not eligible or surfaced.
Likely cause: is_eligible_search remains false, the row failed validation, or
identity/policy data is incomplete. Fix: inspect the platform’s row-level status,
correct the failed fields, explicitly enable search eligibility, and confirm the next
processed snapshot accepts the item.
» (Traduction) (Résumé en français de la section cent soixante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«### Checkout is unavailable for an otherwise visible product » (Traduction) (Résumé en français de la section cent soixante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Symptom: le produit peut être recommended mais ne peut pas être purchased via le agent. Probable causer: checkout eligibility est faux or requis retourner, privacy, or terms données est manquant. Corriger: supply le requis policies, garder recherche eligibility enabled, et vérifier le processed élément becomes checkout-eligible.
«### The agent shows the wrong price or phantom stock » (Traduction) (Résumé en français de la section cent soixante-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Symptom: discovery data disagrees with checkout or the item fails during purchase. Likely cause: only the daily snapshot is updating, an intraday event failed, or variant mapping points at the wrong offer. Fix: reconcile API acknowledgements to the backend, replay failed updates safely, and confirm feed, markup, and checkout agree on the exact variant. » (Traduction) (Résumé en français de la section cent soixante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«### Products repeatedly disappear and return as new » (Traduction) (Résumé en français de la section cent soixante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Symptom: catalog continuity resets between snapshots even though the merchandise
did not change. Likely cause: item_id is generated from a mutable title, URL, or
export row rather than a stable product key. Fix: restore a durable identity map
and keep the same item ID for the product’s lifetime.
» (Traduction) (Résumé en français de la section cent soixante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
A product matches the incorrect entity
Symptom: le listing inherits details or variants depuis a différent produit. Probable causer: a fabricated/incorrect GTIN, copied MPN, or inconsistent brand et variant données. Corriger: supprimer guessed identifiers, utiliser le verified GTIN or brand + MPN, et mark genuinely identifier-moins éléments correctement.
Mental models pour AI product feeds
Un source of truth, several delivery formats
Merchant Center, OpenAI, et sur la page Produit/Offer markup sont mappings de le même catalog, pas independent contenu projects. Generate les depuis un governed produit model donc identity et offer truth ne peut pas drift par channel.
Identity, offer, policy
Debug chaque feed dans three layers:
- Identity: stable élément ID, GTIN or brand + MPN, produit/variant relationship.
- Offer: price, currency, availability, image, destination URL.
- Policy: shipping, renvoie, privacy, terms, et checkout eligibility.
Identity determines ce que le produit est, offer determines ce que peut être bought maintenant, et policy determines si an agent peut complet le purchase.
Snapshot plus event stream
Le daily complet snapshot establishes complet catalog state. Intraday API mises à jour carry rapide-changing price, stock, et promotion events. Aucun remplace le autre: le snapshot heals drift, pendant que le event stream garde transactions actuel.
Discovery est necessary, checkout est séparé
Feed qualité peut faire a produit understandable et eligible. Il ne peut pas guarantee a recommendation or conversion, et checkout ajoute son propre policy, reliability, et confiance requirements.
Cross-verification rewards consistency
Feeds, markup, et checkout act as independent witnesses à le même offer. Agreement construit confidence; a mismatch forces le plateforme à decide qui source est stale.
Ressources utiles
Mon connexe writing
- Le Beginner’s Guide à SEO technique — où données structurées et feeds fit dans le bigger picture.
- Meet le Nouveau Web Robots d’exploration: AI Bots Sont Closing dans on Moteur de recherche Bots — comment le mix de bots reading votre site (et votre feed’s world) est shifting toward AI.
«My speaking » (Traduction) (Résumé en français de la section cent quatre-vingt-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- How Search Works (SlideShare) — my walkthrough of crawling, rendering, indexing, and ranking, useful for grasping why feed-based discovery skips most of that funnel. (My standing disclaimer: “This is my understanding of systems… not going to be 100% complete or accurate.”) » (Traduction) (Résumé en français de la section cent quatre-vingt-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
Je ne pas ont a dedicated piece on AI produit feeds précisément — donc on le “15-minute update” question, Je’m going off ce que OpenAI’s docs en réalité dire plutôt que le number everyone repeats.Depuis autour le industry
- OpenAI — Produit feeds overview et le requis-champs spec — le principal source pour le ACP feed, vérifié directement.
- Google — Intro à Produit données structurées — comment feed et sur la page markup combine et cross-vérifier.
- Shopify Enterprise — 8 tips à prepare votre produit données pour AI channels (Kate Ragotte) — le strongest plateforme-official framing on données consistency et structure.
- Moteur de recherche Land — Pourquoi produit feeds besoin an organique stratégie pour AI recherche (Jen Cornwell, Tinuiti) — le feed as an owned asset feeding AI visibility.
- Moteur de recherche Land — Le AI moteur pipeline: gates que decide si vous win le recommendation (Jason Barnard, Kalicube) — pourquoi structured feeds bypass la plupart de le SEO funnel.
- PPC Land — 8 Google Merchant Center attributs votre feed nécessite pour AI Mode — le Conversational Attributs walkthrough (vérifier noms contre Google’s actif docs).
- Moteur de recherche Land — Walmart: ChatGPT checkout converted pire que site web — le discovery-vs-conversion caveat.
- Striim — Retail’s AI problème n’est pas le model, c’est le clock — a clean analogy pour pourquoi batch inventory syncs échouer agents que besoin near-en temps réel lit.
Testez vos connaissances: Product Feeds pour AI
Five rapide questions on building a feed AI agents peut lire et buy depuis. Pick an réponse pour chaque, alors vérifier.
Journal des modifications
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.