Product Feeds untuk AI
cara bangun dan audit sebuah product feed AI shopping agents dapat read dan transact terhadap — three formats (Merchant Center, OpenAI ACP, schema.org), nyata-time accuracy, dan feed-quality failures itu break agentic checkout.
Bahasa
sebuah product feed untuk AI adalah data terstruktur file — identifiers, price, availability, policies — itu AI shopping agents read directly. There's no single universal 'AI feed': OpenAI's docs describe feed sebagai cara Anda supply ChatGPT commerce data dengan no stated crawling fallback, while Google's docs describe combining crawling, pada-halaman data terstruktur, dan Anda Merchant Center feed together. Serious merchants reconcile three parallel formats: Google Merchant Center feed (which now memiliki six optional AI-facing Conversational Attributes), OpenAI's ACP feed spec (Parquet/JSONL oleh SFTP, sebuah daily full snapshot plus sebuah intraday API untuk price/stock/promos), dan schema.org Product/Offer markup sebagai sebuah cross-verification channel. Identifiers (GTIN, atau brand + MPN) adalah backbone di seluruh semua three — tidak pernah fabricate one. thing itu's genuinely berbeda dari Shopping-ads feed berfungsi adalah tolerance untuk staleness: sebuah human double-memeriksa sebuah price pada halaman sebelum buying, tetapi sebuah agent commits programmatically, so sebuah feed/checkout price mismatch atau phantom stock adalah sebuah nyata risk untuk transaction. One myth untuk drop: OpenAI's docs don't state sebuah '15-minute update' aturan — documented model adalah sebuah daily snapshot plus sebuah intraday API. Instant Checkout di ChatGPT adalah currently partner-approved, not open untuk everyone. dan feed quality gets Anda ditemukan dan eligible; ini doesn't guarantee conversion.
Evidence for this claim OpenAI publishes a merchant product-feed specification for supplying structured catalog data to supported commerce experiences. Scope: OpenAI commerce integrations; a feed supplements rather than universally replaces crawled pages. Confidence: high · Verified: OpenAI Commerce: Product feeds Evidence for this claim Google Merchant Center product data uses identifiers, price, availability, and other attributes to represent offers in Google surfaces. Scope: Google Merchant Center; requirements vary by destination, country, and product type. Confidence: high · Verified: Google Merchant Center: Product data specificationTL;DR — sebuah product feed untuk AI adalah sebuah structured file — sebuah list dari Anda products dengan mereka prices, stock, identifiers, dan policies — itu didukung AI shopping alat dapat gunakan alongside lainnya merchant data. Accurate, complete feeds dapat membuat products eligible untuk commerce experiences; stale data dapat disrupt them. Getting identifiers right ( barcode-style GTIN, atau brand + bagian angka) dan keeping price dan stock saat ini adalah sebagian besar dari job.
What sebuah product feed untuk AI actually adalah
When sebuah person shops, mereka open Anda halaman web, read ini, dan decide. When sebuah AI shopping agent shops pada someone’s behalf, ini mostly berfungsi dari sebuah feed instead — sebuah structured file dengan sebuah row untuk setiap product dan columns describing ini: judul, price, availability, image, brand, sebuah ID angka, dan Anda policies.
How far itu goes depends pada who’s reading. untuk ChatGPT’s commerce flows, OpenAI’s own docs describe feed sebagai ** cara merchants supply product data — there’s no documented fallback untuk crawling Anda halaman. Google adalah berbeda: -nya own docs say Google combines crawling, pada-halaman data terstruktur, dan Anda Merchant Center feed, so feed doesn’t replace Anda HTML there — ini adalah one dari three channels Google cross-memeriksa terhadap setiap lainnya. Either cara, practical takeaway holds: thing sebagian besar mungkin untuk decide whether Anda products get recommended isn’t Anda halaman copy pada -nya own — ini adalah data di itu file.
Why ini adalah sebuah little berbeda dari sebuah normal Shopping feed
jika Anda sudah kirim feed untuk Google Merchant Center, Anda memiliki sebuah big head start — ini adalah yang sama jenis dari file. What perubahan adalah reader, dan readers memiliki berbeda tolerances:
- sebuah search hasil dapat tampilkan sebuah slightly old price, because sebuah human clicks melalui dan double-memeriksa pada Anda situs sebelum paying.
- sebuah AI agent completing sebuah purchase dapat’t melakukan itu. ini acts pada angka di Anda feed. jika Anda feed says 40 USD dan checkout says 45 USD itu’s sebuah nyata risk dari sebuah broken transaction, not sebuah minor mismatch sebuah human akan shrug off.
So two things itu penting sebagian besar adalah: get identifiers right, dan pertahankan price dan stock accurate dan fresh.
three files Anda’ll hear tentang
Anda tidak pick one — bigger stores run semua three, because mereka reach berbeda AI alat:
- Google Merchant Center feed — feeds Google’s AI Mode, Gemini, AI Overviews, dan Shopping. (Deep dive lives di Merchant Center feed optimization guide.)
- OpenAI’s ACP product feed — file ChatGPT reads untuk shopping dan checkout.
- schema.org
Product/Offermarkup — data terstruktur pada Anda halaman, digunakan sebagai sebuah backup itu lainnya sistem cross-periksa terhadap Anda feed.
one thing not untuk melakukan
tidak pernah membuat up sebuah GTIN atau product fact untuk fill sebuah field. Google’s own aturan adalah explicit: don’t guess, dan don’t copy sebuah nilai dari sebuah similar product. sebuah wrong identifier membuat sebuah agent match Anda untuk wrong product — worse daripada leaving ini blank.
ingin field-oleh-field versi — OpenAI spec, Google’s baru AI-hanya attributes, schema.org properties agents gunakan untuk periksa out, dan exact failures itu break sebuah agentic sale? Switch untuk Advanced tab.
Evidence for this claim OpenAI publishes a merchant product-feed specification for supplying structured catalog data to supported commerce experiences. Scope: OpenAI commerce integrations; a feed supplements rather than universally replaces crawled pages. Confidence: high · Verified: OpenAI Commerce: Product feeds Evidence for this claim Google Merchant Center product data uses identifiers, price, availability, and other attributes to represent offers in Google surfaces. Scope: Google Merchant Center; requirements vary by destination, country, and product type. Confidence: high · Verified: Google Merchant Center: Product data specificationTL;DR — There’s no single universal “AI feed” (terjemahan) “AI feed” — setiap provider’s contract differs. untuk ChatGPT’s commerce flows, OpenAI documents feed sebagai cara Anda supply product data, dengan no stated crawling fallback; Google’s own docs describe combining crawling, pada-halaman data terstruktur, dan Anda Merchant Center feed together, not one replacing lainnya. Reconcile three formats: Google Merchant Center feed (now dengan six optional AI-hanya Conversational Attributes), OpenAI’s ACP feed spec (Parquet/JSONL di atas SFTP — sebuah daily full snapshot plus sebuah intraday API untuk price, stock, dan promotions), dan schema.org
Product/Offermarkup sebagai sebuah cross-verification layer. Identifiers (GTIN, atau brand + MPN) adalah backbone di seluruh semua three; tidak pernah fabricate one. nyata differentiator versus sebuah Shopping-ads feed adalah staleness tolerance: sebuah human double-memeriksa sebuah price sebelum buying, sebuah agent commits programmatically — so feed/checkout price mismatch, phantom stock, sebuah missing kembalikan policy blocking checkout eligibility, atau sebuah unstableitem_idadalah sebuah nyata risk untuk transaction. Drop “OpenAI requires 15-minute updates” (terjemahan) “OpenAI memerlukan 15-minute updates” claim — ini isn’t di OpenAI’s docs. Instant Checkout adalah currently partner-approved, not open untuk everyone. dan feed quality drives penemuan dan eligibility, not conversion.
There’s no one universal “AI feed” (terjemahan) “AI feed” — providers differ
I pertahankan coming back untuk one framing because ini reorganizes everything else, tetapi ini perlu sebuah caveat I didn’t give ini strongly enough sebelum: ini isn’t one universal perilaku, ini adalah sebuah provider-spesifik contract.
untuk ChatGPT’s commerce flows, OpenAI’s own docs describe feed sebagai ** cara merchants supply product data — there’s no documented fallback untuk crawling Anda rendered halaman untuk itu flow. untuk Google, ini adalah genuinely berbeda: Google’s Search Central docs adalah explicit itu Google combines crawling, pada-halaman data terstruktur, dan Anda Merchant Center feed — “Google may at times use other approaches to extract data from pages” (terjemahan) “Google dapat di times gunakan lainnya approaches untuk extract data dari halaman” alongside both dari others — so feed doesn’t replace Anda HTML there, ini adalah one dari three channels Google cross-memeriksa terhadap setiap lainnya. Agentic Commerce Protocol piece covers ACP-spesifik mechanics secara mendalam dan I won’t re-derive itu here. ini artikel adalah practical layer di bawah ini: what Anda actually put di file, di seluruh formats itu penting, dan what breaks sebuah sale when Anda get ini wrong.
mechanism adalah masih worth stating plainly because ini perubahan Anda priorities, bahkan dengan itu caveat. Jason Barnard put ini well di his AI-mesin pipeline piece: structured feeds — Google Merchant Center dan OpenAI’s Product Feed Specification — “bypass discovery, selection, crawling, and rendering altogether, delivering your content to the competitive phase with minimal attenuation.” (terjemahan) “bypass penemuan, selection, crawling, dan rendering altogether, delivering Anda konten untuk competitive phase dengan minimal attenuation.” itu’s Barnard’s own framing dari how sebuah baik feed dapat skip sebagian besar dari SEO funnel, not sebuah claim either platform membuat di -nya docs — tetapi ini adalah sebuah berguna mental model. downside adalah itu everything now rides pada data quality, dan there’s no rendered halaman untuk sebuah human untuk sanity-periksa terhadap mid-transaction cara ada dengan sebuah search hasil.
Three formats, not one
sebuah serious merchant doesn’t choose antara ini — mereka run semua three di once, because setiap reaches sebuah berbeda set dari agents dan mereka cross-verify setiap lainnya.
| Google Merchant Center feed | OpenAI ACP feed spec | schema.org Product/Offer | |
|---|---|---|---|
| Owner | OpenAI (Agentic Commerce Protocol) | Schema.org (open vocabulary) | |
| Primary consumer | Shopping Graph → Shopping ads, free listings, AI Overviews, AI Mode, Gemini | ChatGPT search + Instant Checkout | apa pun crawler/agent reading halaman markup |
| Format | XML, TXT/CSV, Sheets, atau konten API | Parquet (zstd) preferred; jsonl.gz, csv.gz, tsv.gz | JSON-LD (atau Microdata/RDFa) di halaman HTML |
| Delivery | Scheduled fetch, upload, atau konten API | SFTP push; stable filenames, overwrite | Rendered di halaman, server- atau client-side |
| Identifiers | GTIN where ini exists, else brand + MPN | gtin recommended; mpn fallback | gtin/gtin13/mpn/sku properties |
| Freshness | Daily minimum; hourly/API untuk fast movers | Full snapshot ≥ daily + intraday API | No cadence defined — depends pada halaman freshness |
| Checkout | Feeds listings; checkout happens elsewhere | is_eligible_checkout + Agentic Checkout API | checkoutPageURLTemplate routes sebuah agent |
| Owned secara mendalam pada ini situs | merchant-center-feed-optimization | agentic-commerce-protocol | ini artikel |
synthesis poin: ini aren’t competing choices. Google explicitly blends feed data dan pada-halaman data terstruktur — “Providing both structured data on web pages and a Merchant Center feed maximizes your eligibility to experiences and helps Google correctly understand and verify your data,” (terjemahan) “Providing both data terstruktur pada halaman web dan sebuah Merchant Center feed maximizes Anda eligibility untuk experiences dan helps Google correctly memahami dan verify Anda data,” dan beberapa experiences akan pull, say, pricing dari Anda feed when ini adalah missing dari Anda markup. Which juga berarti sebuah mismatch antara two — feed price says one thing, pada-halaman schema says lainnya — adalah sebuah trust-erosion dan disapproval risk di setiap one dari ini sistem. Google/Shopify’s UCP leans pada yang sama Merchant Center feed sebagai -nya data backbone, so ini berfungsi pays off there too.
OpenAI ACP feed spec, field oleh field
ini adalah bagian sebagian besar competing write-ups paraphrase secondhand. Here’s what OpenAI’s own product-feed spec actually memerlukan (verified terhadap live docs):
diperlukan fields
item_id— max 100 chars, dan ini harus stay stable di atas time. ini adalah continuity key antara snapshots; perubahan ini dan agent thinks old product vanished dan sebuah baru one appeared.title— max 150 chars, hindari semua-caps.description— max 5 000 chars, plain text hanya.url— harus resolve200; HTTPS preferred.brand— max 70 chars.image_url— JPEG/PNG, HTTPS preferred.price— dengan sebuah ISO 4217 currency code.availability— enum:in_stock,out_of_stock,pre_order,backorder,unknown.seller_name(max 70),seller_url.target_countriesdanstore_country— ISO 3166-1 alpha-2.is_eligible_search— boolean, defaults salah. Anda memiliki untuk explicitly flip ini untuktrueuntuk appear di ChatGPT search di semua.is_eligible_checkout— boolean; memerlukanis_eligible_search = true.
Conditional requirements
availability_dateadalah diperlukan jikaavailability = pre_order.seller_privacy_policydanseller_tosadalah diperlukan jikais_eligible_checkout = true.- sebuah kembalikan policy adalah diperlukan untuk checkout eligibility.
One scope caveat worth flagging: flipping is_eligible_checkout untuk true membuat sebuah
product checkout-eligible di feed, tetapi ini doesn’t oleh itself get Anda ke ChatGPT
checkout. Per OpenAI’s own docs,
Instant Checkout di ChatGPT adalah currently limited untuk approved partners — Anda apply untuk
participate — dan bahkan once approved, merchant (not OpenAI) masih performs order
validation, determines fulfillment, calculates dan charges tax, runs -nya own risk
memeriksa, charges payment metode melalui -nya own processor, dan accepts atau declines
order. OpenAI’s UI renders session; Anda sistem masih own transaction.
Identifiers. gtin (numeric, 8–14 digits, no dashes atau spaces — ini accepts
GTIN/UPC/ISBN di one field) adalah optional tetapi strongly recommended; mpn
(alphanumeric, max 70) adalah fallback when GTIN adalah unavailable. Neither adalah
“required” (terjemahan) “diperlukan” cara brand adalah, tetapi OpenAI’s framing adalah itu supplying them improves
catalogue matching dan reduces errors — functionally yang sama logic sebagai Google’s
GTIN-atau-brand+MPN aturan, hanya phrased sebagai sebuah strong recommendation.
”15-minute update” (terjemahan) “15-minute update” myth — what OpenAI actually documents
Here’s sebuah angka I couldn’t verify, dan I’d rather flag ini daripada repeat ini. di seluruh trade coverage — dan, I’ll admit, di sebuah earlier versi dari kami own ACP artikel — Anda’ll see claim itu OpenAI memerlukan feeds untuk update setiap 15 minutes. I went looking untuk ini di OpenAI’s saat ini commerce docs dan couldn’t temukan itu figure stated anywhere.
What docs actually describe adalah sebuah two-channel model, not sebuah flat interval:
- sebuah full feed snapshot setidaknya once sebuah day, delivered sebagai sebuah file upload di atas SFTP menggunakan stable filenames itu Anda overwrite (not versioned baru files setiap time).
- sebuah API channel untuk intraday incremental updates — ini adalah how price, stock, dan (specifically) promotions perubahan propagate faster daripada daily snapshot. Promotions data adalah API-hanya.
OpenAI’s own wording adalah roughly: menyediakan entire feed once sebuah day via file upload,
lalu kirim updates throughout day via API. There’s no separate “delete” (terjemahan) “delete” panggil
either — untuk pull sebuah product Anda set is_eligible_search = false atau drop ini dari
next full snapshot.
So “15 minutes” (terjemahan) “15 minutes” adalah best treated sebagai sebuah practitioner aturan-dari-thumb untuk how fresh Anda fast-moving SKUs seharusnya menjadi, not sebuah documented OpenAI requirement. spec adalah versioned dan moving fast, so periksa saat ini versi sebelum Anda quote apa pun angka — tetapi mechanism Anda harus actually bangun untuk adalah daily snapshot + intraday API, dan itu’s more berguna daripada myth anyway.
Why nyata-time accuracy adalah non-negotiable untuk agents
ini adalah nyata difference antara AI-feed berfungsi dan Shopping-ads-feed berfungsi, dan ini adalah worth menjadi precise tentang why. sebuah cached search snippet tolerates sebuah little staleness because there’s sebuah human di loop who lands pada Anda halaman dan re-memeriksa sebelum paying. sebuah agent completing sebuah transaction memiliki no such buffer — ini acts pada price dan stock state Anda feed asserts, so sebuah stale nilai ada sebuah nyata risk untuk transaction di sebuah cara sebuah stale search snippet isn’t. No official spec states itu setiap stale nilai automatically breaks setiap transaction, dan providers tambahkan validation langkah dari mereka own pada top dari feed — tetapi mechanism itself (no human re-periksa sebelum committing) adalah exactly why freshness penting more here daripada ini melakukan untuk sebuah ad snippet.
Kate Ragotte, di Shopify’s enterprise guidance pada preparing product data untuk AI channels, puts consequence bluntly: “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.” (terjemahan) “Price, availability, dan kembalikan windows harus menjadi accurate dan synced di seluruh setiap channel where mereka appear. Inconsistent atau stale data adalah one dari fastest cara untuk get filtered out.” dan pada why structure penting di semua: “AI agents can only recommend what they can understand, and that depends entirely on how well-structured your product data is” (terjemahan) “AI agents dapat hanya recommend what mereka dapat memahami, dan itu depends entirely pada how well-structured Anda product data adalah” — machines dapat technically temukan loosely-structured informasi, “but they won’t confidently act on it. AI agents prefer structured, labeled data they can extract and trust.” (terjemahan) “tetapi mereka won’t confidently act pada ini. AI agents prefer structured, labeled data mereka dapat extract dan trust.”
itu’s whole game: agent memiliki untuk trust angka enough untuk transact pada ini. daily-snapshot-plus-intraday-API model adalah OpenAI’s concrete jawaban untuk closing gap; pada Google side ini adalah Shopping Graph, which Google says now mencakup “more than 50 billion product listings, 2 billion of which are updated every hour” (terjemahan) “more daripada 50 billion product listings, 2 billion dari which adalah updated setiap hour” — itu hourly refresh benchmark adalah pace sistem expects Anda data untuk move di. ( Shopping Graph sebagai sebuah sistem adalah -nya own topic; ini artikel hanya assumes Anda feed populates ini.)
Google’s Conversational Attributes — concrete “new for AI” (terjemahan) “baru untuk AI” layer
pada Google side, spesifik thing itu’s baru untuk AI adalah sebuah set dari optional Merchant Center attributes announced di Google Marketing Live di dapat 2026, covered oleh mesin pencari Land. poin dari them adalah itu Google’s AI sistem “use that structured data to better match products with conversational shopping queries across AI Mode, Gemini and other AI-powered surfaces.” (terjemahan) “gunakan itu data terstruktur untuk better match products dengan conversational shopping kueri di seluruh AI Mode, Gemini dan lainnya AI-powered surfaces.” Google’s own attribute-help wording, sebagai reported, adalah itu ini adalah “primarily intended for use in conversational experiences such as AI Mode in Google Search.” (terjemahan) “primarily intended untuk gunakan di conversational experiences such sebagai AI Mode di Google Search.”
Google’s Merchant Center Help documents six conversational attributes:
pertanyaan dan jawaban, document tautan, related product, item group judul, variant
option, dan popularity peringkat. product_highlight dan product_detail adalah
existing, pre-existing complementary fields — not two additional members dari baru
conversational set, despite itu menjadi how beberapa trade coverage (including sebuah earlier
versi dari ini artikel) grouped them.
Google adalah explicit itu ini adalah optional dan itu menambahkan them doesn’t affect Anda existing product-approval status; framing adalah itu mereka dapat help product understanding dan penemuan di conversational surfaces, not itu mereka’re diperlukan atau itu mereka guarantee inclusion, peringkat, atau citation di apa pun AI Mode/Gemini respons.
Evidence for this claim 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. Scope: product data Confidence: high · Verified: How to use conversational attributes Attribute count dan names confirmed terhadap ini situs’s research packet (sourced dari Google’s live Merchant Center Help halaman, captured 2026-07-16). sebuah direct sama-day refetch dari mendukung.google.com’s conversational-attributes halaman adalah attempted untuk ini pass dan blocked oleh Google’s bot-detection setiap time — treat ini sebagai verified terhadap sebuah recent capture alih-alih sebuah sama-day live refetch, dan recheck sebelum quoting exact wording.Frame ini sebagai enrichment, not sebuah replacement. mereka sit pada top dari Anda diperlukan attributes. jika Anda base feed adalah disapproved untuk sebuah buruk price atau sebuah fabricated GTIN, sebuah beautiful Q&sebuah attribute doesn’t save Anda.
schema.org Product/Offer sebagai agent-facing markup layer
tidak ada “AI edition” (terjemahan) “AI edition” dari schema.org — properties agents rely pada adalah ordinary ecommerce vocabulary menjadi read oleh sebuah baru class dari consumer. Three penting sebagian besar:
Offer.availability— “The availability of this item — for example In stock, Out of stock, Pre-order, etc.” (terjemahan) “ availability dari ini item — misalnya di stock, Out dari stock, Pre-order, etc.” stock state sebuah agent reads dari Anda markup.Offer.checkoutPageURLTemplate— “A URL template (RFC 6570) for a checkout page for an offer.” (terjemahan) “sebuah URL template (RFC 6570) untuk sebuah checkout halaman untuk sebuah offer.” ini adalah property itu lets sebuah agent route sebuah shopper untuk sebuah pre-filled checkout dari Anda markup alone.Offer.acceptedPaymentMethod— payment metode Anda accept, which sebuah agent dapat periksa sebelum attempting sebuah transaction.
pertahankan ini markup’s price dan availability di lockstep dengan Anda feed. Google blends two dan cross-verifies them, so sebuah divergence antara pada-halaman schema dan feed adalah exactly jenis dari inconsistency itu erodes trust di seluruh semua ini surfaces.
Feed-quality failures itu break agentic penemuan dan checkout
ini adalah practical payoff. ini adalah spesifik things itu break sebuah AI sale — not hanya sebuah ad disapproval:
- Feed/checkout price mismatch. feed says 40 USD checkout says 45 USD. untuk ads ini adalah sebuah disapproval; untuk sebuah agent mid-transaction ini adalah sebuah broken purchase.
- Phantom atau stale stock.
in_stockdi feed, sold out di checkout. agent commits untuk buying something itu isn’t there. - Missing atau wrong identifiers. No GTIN/MPN, atau sebuah fabricated one, causes
agent untuk mismatch Anda terhadap wrong product di seluruh formats. Google’s aturan:
don’t membuat up, guess, atau copy identifiers dari similar products; gunakan
identifier_exists = falseuntuk genuinely identifier-less goods. - Missing kembalikan policy atau seller ToS. di ACP spec ini adalah diperlukan untuk
is_eligible_checkout = true. Omit them dan Anda’re discoverable tetapi dapat’t transact. - Unstable
item_id/SKU. jika identity key perubahan antara snapshots, agent loses continuity — old product looks deleted dan baru one looks unknown, wiping apa pun accumulated matching. - semua-CAPS atau promotional text di judul. sebuah policy violation di seluruh Google dan OpenAI alike (OpenAI’s spec says hindari semua-caps outright).
- AI-generated images atau deskripsi dengan drift. deskripsi itu invent specs not pada landing halaman, atau AI-generated images missing diperlukan IPTC disclosure metadata, break cross-verification antara feed dan halaman. ( feed-optimization guide covers “don’t invent facts” (terjemahan) “don’t invent facts” aturan secara mendalam.)
What feed quality melakukan dan doesn’t guarantee
One honest caveat so Anda tidak overclaim internally: sebuah great feed gets Anda ditemukan dan eligible. ini melakukan not guarantee conversion. Walmart’s own reported experience adalah cleanest data poin here — per mesin pencari Land, -nya di-chat ChatGPT checkout converted di roughly one-ketiga rate dari click-out transactions setelah testing sekitar 200 000 items. Read reporting carefully: cited cause adalah checkout UX dan trust (fear dari split shipments, single-item-hanya checkout) — not feed data staleness. So don’t gunakan ini sebagai evidence itu feeds fail; gunakan ini sebagai reminder itu getting ke feed adalah necessary, not sufficient. penemuan dan checkout conversion adalah separate masalah.
ini adalah worth keeping whole chain separate di Anda head, because “my feed is
accepted” (terjemahan) “my feed adalah
accepted” jawaban sebuah much narrower pertanyaan daripada ini sounds like: ingestion (
platform accepted Anda file) adalah not validation (ini passed field/policy memeriksa),
which adalah not eligibility (is_eligible_search/is_eligible_checkout adalah set dan
approved), which adalah not display (sebuah agent actually surfaces product), which adalah
not peringkat atau citation (ini adalah one recommended), which adalah not checkout approval
(Anda’re sebuah approved Instant Checkout partner), which adalah not conversion ( shopper
buys). sebuah clean feed raises Anda odds di setiap langkah; ini doesn’t collapse chain
ke one guaranteed outcome.
Where ini fits
- Agentic Commerce Protocol — protocol itself dan -nya five membangun blocks (Product Feed adalah one dari them).
- Universal Commerce Protocol — Google/Shopify’s counterpart, sama Merchant Center feed sebagai -nya backbone.
- Google Merchant Center dan Merchant Center feed optimization — Google-side basics, judul/image/attribute deep dives, dan GTIN-sebagai-sebuah-lever data I won’t repeat here.
AI summary
sebuah condensed take pada Advanced versi:
- No single universal “AI feed.” (terjemahan) “AI feed.” untuk ChatGPT’s commerce flows, OpenAI documents feed sebagai cara Anda supply product data, dengan no stated crawling fallback. untuk Google, feed doesn’t replace crawling — Google’s docs describe combining crawling, pada-halaman data terstruktur, dan Anda Merchant Center feed together.
- Run three formats, not one: Google Merchant Center feed, OpenAI ACP feed spec,
dan schema.org
Product/Offermarkup. Google blends feed + pada-halaman structured data dan cross-verifies them, so sebuah mismatch antara them adalah sebuah trust/disapproval risk. - Identifiers adalah backbone. GTIN, atau brand + MPN, di seluruh setiap format. tidak pernah
fabricate one; gunakan
identifier_exists = falseuntuk goods without one. - nyata-time accuracy adalah nyata differentiator. sebuah human double-memeriksa sebuah price sebelum buying; sebuah agent commits programmatically. sebuah feed/checkout price mismatch atau phantom stock adalah sebuah nyata risk untuk transaction, though no spec guarantees setiap stale nilai breaks setiap sale.
- ** “15-minute update” (terjemahan) “15-minute update” figure isn’t di OpenAI’s docs.** documented model adalah sebuah daily full snapshot (SFTP, stable filenames, overwrite) + sebuah intraday API untuk price/stock/promotions. Promotions adalah API-hanya.
- ACP diperlukan fields sertakan stable
item_id,title,description,url,brand,image_url,price(ISO 4217),availabilityenum, seller fields, country fields, danis_eligible_search(defaults salah — harus menjadi flipped benar).is_eligible_checkoutjuga perlu sebuah kembalikan policy, privacy policy, dan ToS — dan bahkan lalu, Instant Checkout itself adalah currently limited untuk approved partners, dengan validation, fulfillment, tax, risk, payment, dan order decisions staying dengan merchant. - Google’s Conversational Attributes (dapat 2026) adalah six optional AI-hanya
enrichment fields: pertanyaan dan jawaban, document tautan, related product, item
group judul, variant option, dan popularity peringkat. (
product_highlightdanproduct_detailadalah pre-existing fields, not bagian dari ini baru set.) menambahkan them doesn’t affect existing product-approval status. - schema.org’s agent-facing properties:
Offer.availability,checkoutPageURLTemplate,acceptedPaymentMethod. - Feed quality drives penemuan dan eligibility, not conversion — dan ingestion, validation, eligibility, display, peringkat/citation, checkout approval, dan conversion adalah setiap separate langkah. Walmart’s di-chat ChatGPT checkout converted ~3x worse daripada click-out — attributed untuk checkout UX/trust, not feed staleness.
Official documentation
Primary-source specs dan docs untuk membangun sebuah AI-ready feed.
OpenAI (Agentic Commerce Protocol)
- Product feeds overview — ACP feed di sebuah glance.
- Product feed spec — diperlukan fields — field-oleh-field requirements.
- Feed concept halaman — delivery, format, dan snapshot/API model.
- Commerce key concepts — how sebuah feed fits ke ChatGPT search dan checkout.
- Product data specification — base Merchant Center attribute spec AI surfaces inherit.
- Unique product identifiers (GTIN, MPN, brand) — identifier aturan, including “don’t make up, guess, or include values from similar products.” (terjemahan) “don’t membuat up, guess, atau sertakan nilai dari similar products.”
- Intro untuk Product data terstruktur — how Google blends feed dan pada-halaman data terstruktur.
- Agentic commerce AI alat & protocol untuk retailers — Google’s own framing untuk AI-facing retailer tooling.
- Agentic checkout / holiday AI shopping — Shopping Graph scale/freshness benchmark (50B listings, 2B updated hourly).
schema.org
Quotes dari source
pada—record statements dari platforms dan industry practitioners.
Google — identifiers dan data quality
- “Providing accurate and correctly formatted product data is essential for creating successful ads.” (terjemahan) “Providing accurate dan correctly formatted product data adalah essential untuk membuat successful ads.” — Google Merchant Center Help. Jump untuk quote
- pada 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).” (terjemahan) “hanya menyediakan sebuah GTIN jika Anda’re sure ini adalah correct. When di doubt don’t menyediakan ini attribute (misalnya, melakukan not guess atau membuat up sebuah nilai).” Jump untuk source
Google — feed dan pada-halaman data terstruktur together
- “Providing both structured data on web pages and a Merchant Center feed maximizes your eligibility to experiences and helps Google correctly understand and verify your data.” (terjemahan) “Providing both data terstruktur pada halaman web dan sebuah Merchant Center feed maximizes Anda eligibility untuk experiences dan helps Google correctly memahami dan verify Anda data.” — Search Central. Read doc
Google — Shopping Graph freshness (Vidhya Srinivasan, VP/GM Ads dan Commerce)
- Shopping Graph “includes more than 50 billion product listings, 2 billion of which are updated every hour.” (terjemahan) “mencakup more daripada 50 billion product listings, 2 billion dari which adalah updated setiap hour.” Read post
Kate Ragotte, Shopify (Shopify Enterprise blog)
- “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.” (terjemahan) “Price, availability, dan kembalikan windows harus menjadi accurate dan synced di seluruh setiap channel where mereka appear. Inconsistent atau stale data adalah one dari fastest cara untuk get filtered out.”
- “AI agents can only recommend what they can understand, and that depends entirely on how well-structured your product data is.” (terjemahan) “AI agents dapat hanya recommend what mereka dapat memahami, dan itu depends entirely pada how well-structured Anda product data adalah.” Read artikel
Jason Barnard, Kalicube (mesin pencari Land)
- “Structured feeds, Google Merchant Center and OpenAI Product Feed Specification, bypass discovery, selection, crawling, and rendering altogether, delivering your content to the competitive phase with minimal attenuation.” (terjemahan) “Structured feeds, Google Merchant Center dan OpenAI Product Feed Specification, bypass penemuan, selection, crawling, dan rendering altogether, delivering Anda konten untuk competitive phase dengan minimal attenuation.” Read artikel
Jen Cornwell, Tinuiti (mesin pencari Land)
- “Organic feed titles should reflect how your customers actually search, not how your bidding strategy is structured.” (terjemahan) “Organic feed judul seharusnya reflect how Anda customers actually search, not how Anda bidding strategy adalah structured.”
- pada 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.” (terjemahan) “ feed sits di itu intersection sebagai ini adalah sebuah owned asset managed oleh commerce infrastructure itu directly feeds AI-powered visibilitas.” Read artikel
Cross-format AI-feed audit checklist
sebuah single pass di seluruh semua three formats sebelum Anda panggil sebuah feed “AI-ready” (terjemahan) “AI-ready”:
Identity & matching
- setiap product itu memiliki sebuah GTIN carries sebuah correct one; nothing fabricated atau copied dari sebuah similar product.
- Products without sebuah manufacturer identifier gunakan brand + MPN, atau
identifier_exists = false— tidak pernah sebuah guessed GTIN. -
item_id/SKU adalah stable di atas time dan consistent di seluruh feed, ACP, dan markup.
Price & availability ( freshness layer)
- Feed price matches live checkout price; currency adalah sebuah valid ISO 4217 code.
- Availability reflects nyata stock — no phantom
in_stock. - Fast-moving SKUs update via ACP intraday API, not hanya daily snapshot; promotions go melalui API.
- pada-halaman schema price/availability matches feed (Google cross-verifies them).
ACP checkout eligibility
-
is_eligible_searchadalah explicitlytrue(ini defaults salah). -
is_eligible_checkoutproducts memiliki sebuah kembalikan policy,seller_privacy_policy, danseller_tos. -
availability_dateset untuk apa punpre_orderitems. - Feed delivered oleh SFTP dengan stable filenames Anda overwrite, full snapshot setidaknya daily.
konten & compliance
- judul ≤ 150 chars, no semua-CAPS atau promo text (policy di seluruh Google + OpenAI).
- deskripsi adalah plain text, ≤ 5 000 chars, dan match landing halaman (no invented specs).
- Images adalah JPEG/PNG di atas HTTPS; AI-generated images carry diperlukan IPTC disclosure metadata.
-
urlresolves200di atas HTTPS.
Enrichment (optional)
- Google’s six Conversational Attributes ditambahkan where mereka fit (Q&sebuah, popularity peringkat, related product, item group judul, variant option, document tautan) — pada top dari, not alih-alih, diperlukan attributes.
- schema.org
checkoutPageURLTemplatepresent so agents dapat route untuk checkout.
AI product feed — cheat sheet
Which format reaches which agent
| Format | Reaches | Delivery | Freshness model |
|---|---|---|---|
| Google Merchant Center feed | AI Mode, Gemini, AI Overviews, Shopping | Fetch / upload / konten API | Daily min; hourly/API untuk fast movers |
| OpenAI ACP feed spec | ChatGPT search + Instant Checkout | SFTP (stable filenames, overwrite) | Daily full snapshot + intraday API |
schema.org Product/Offer | apa pun agent reading halaman markup | Rendered di halaman | hanya sebagai fresh sebagai halaman |
ACP diperlukan fields (fast reference)
item_id(stable),title(≤150, no 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 salah),is_eligible_checkout.- Checkout juga perlu: kembalikan policy,
seller_privacy_policy,seller_tos. availabilityenum:in_stock,out_of_stock,pre_order,backorder,unknown.
Identifier aturan (semua formats)
- memiliki sebuah GTIN → gunakan ini (8–14 digits, no dashes/spaces).
- No GTIN → brand + MPN.
- Genuinely none →
identifier_exists = false. tidak pernah fabricate.
Myth-buster
- “OpenAI requires 15-minute updates” (terjemahan) “OpenAI memerlukan 15-minute updates” → not di docs. Reality: daily snapshot + intraday API (promotions API-hanya).
- “schema.org has an AI edition” (terjemahan) “schema.org memiliki sebuah AI edition” → no; ordinary
Offer/Productvocabulary. - “GTIN is always required” (terjemahan) “GTIN adalah selalu diperlukan” → conditional (GTIN, else brand + MPN, else
identifier_exists = false).
Which identifier melakukan I put di my feed?
Identifiers adalah backbone di seluruh Google, OpenAI, dan schema.org — dan single easiest thing untuk get wrong. jawaban sebuah pertanyaan atau two dan land pada right nilai.
Which product identifier belongs in my feed?
What not untuk melakukan dengan sebuah AI feed
1. membangun untuk daily snapshot hanya dan skipping API. jika Anda push sebuah full feed once sebuah day dan stop there, setiap price cut dan stock perubahan adalah up untuk 24 hours stale — fine untuk browsing, fatal untuk sebuah transaction. Fix: wire price, stock, dan promotions melalui OpenAI’s intraday API channel; snapshot adalah baseline, not whole plan.
2. Fabricating sebuah GTIN untuk membuat sebuah field validate.
sebuah guessed atau copied identifier adalah worse daripada sebuah blank one — ini matches Anda terhadap
wrong product di seluruh formats. Fix: GTIN jika Anda memiliki ini, else brand + MPN,
else identifier_exists = false.
3. Letting feed price dan checkout price drift apart. untuk ads ini adalah sebuah disapproval; untuk sebuah agent mid-purchase ini adalah sebuah broken sale, dan ini erodes trust whole sistem runs pada. Fix: treat feed price sebagai sebuah contract — sync ini untuk live checkout, dan pertahankan pada-halaman schema price matching too.
4. Reusing atau churning item_id/SKU.
jika identity key perubahan antara snapshots, agent loses continuity — Anda
product looks deleted dan re-dibuat, wiping accumulated matching. Fix: pertahankan
item_id stable untuk life dari product.
5. Enabling checkout without policy fields.
Flipping is_eligible_checkout = true without sebuah kembalikan policy, privacy policy, dan
ToS membuat Anda discoverable tetapi un-transactable. Fix: ship semua three sebelum Anda
enable checkout eligibility.
6. Treating Conversational Attributes sebagai sebuah substitute untuk sebuah clean base feed. sebuah great Q&sebuah atau popularity-peringkat attribute doesn’t rescue sebuah feed disapproved untuk sebuah buruk price atau invented GTIN. Fix: get diperlukan attributes clean pertama; enrich kedua.
7. Assuming schema.org markup alone gets Anda ke ChatGPT checkout. untuk transactional flows, ChatGPT reads ACP feed, not Anda rendered halaman — markup adalah sebuah cross-verification channel, not primary penemuan mechanism untuk itu flow. Fix: ship feed; pertahankan markup consistent dengan ini.
Quick memeriksa untuk feed/markup consistency
kecil, copy-pasteable memeriksa untuk mismatches itu break agentic sales. Nothing here replaces sebuah nyata feed-management platform — mereka’re untuk spotting masalah fast.
Extract pada-halaman Product/Offer schema di browser console
Paste ini ke Chrome DevTools Console pada sebuah product halaman untuk pull price dan availability agent-facing markup asserts, so Anda dapat compare ini untuk Anda 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,
});
});sebuah bookmarklet versi (save URL below sebagai sebuah bookmark, click ini pada apa pun product halaman untuk alert pada-halaman 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||'?'}`)})();Compare feed price terhadap live checkout price (shell)
jika Anda export Anda feed untuk CSV dengan item_id,price columns dan memiliki sebuah cara untuk fetch
live price per SKU, ini flags divergences — single sebagian besar damaging failure:
# 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 }'Validate ACP checkout-eligibility completeness (Python)
sebuah minimal sanity periksa bahwa apa pun product flagged untuk checkout carries diperlukan policy fields sebelum Anda push sebuah 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)
sebuah ACP gtin seharusnya menjadi 8–14 digits, no dashes atau spaces. Flag anything itu 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 product-feed operations SOP
- Confirm full snapshot completed. periksa expected stable filename, record count, schema, dan delivery status. Done berarti platform accepted latest complete catalog alih-alih sebuah accidental partial file.
- Reconcile intraday perubahan. Compare price, stock, dan promotion updates dari commerce backend dengan API acknowledgements. Done berarti setiap changed SKU memiliki either succeeded atau entered sebuah owned retry queue.
- Review eligibility dan policy errors. Group failures oleh source field dan template, prioritizing products intended untuk checkout. Done berarti setiap error memiliki sebuah cause, owner, dan correction path.
- Sample cross-format parity. Compare stable ID, GTIN/MPN, variant, price, availability, dan policy nilai di seluruh Merchant Center feed, OpenAI feed, Product/Offer markup, dan live checkout. Done berarti sampled products describe yang sama offer everywhere.
- periksa identity continuity. Flag item IDs itu disappeared dan reappeared di bawah baru nilai without sebuah genuine product replacement. Done berarti accidental SKU churn adalah corrected sebelum next snapshot.
- Close stale atau invalid offers. Mark unavailable products correctly dan gunakan didukung eligibility mechanism alih-alih leaving phantom stock. Done berarti no dihapus offer remains purchasable oleh sebuah agent.
- Log dan trend failures. Record mismatches, processing delays, rejected rows, dan fixes oleh source sistem. Done berarti recurring upstream defects adalah terlihat alih-alih repeatedly patched di exports.
umum AI product-feed issues
Product adalah present di file tetapi absent dari penemuan
Symptom: row adalah delivered tetapi product adalah not eligible atau surfaced.
mungkin cause: is_eligible_search remains salah, row failed validation, atau
identity/policy data adalah incomplete. Fix: inspect platform’s row-tingkat status,
correct failed fields, explicitly enable search eligibility, dan confirm next
processed snapshot accepts item.
Checkout adalah unavailable untuk sebuah otherwise terlihat product
Symptom: product dapat menjadi recommended tetapi cannot menjadi purchased melalui agent. mungkin cause: checkout eligibility adalah salah atau diperlukan kembalikan, privacy, atau istilah data adalah missing. Fix: supply diperlukan policies, pertahankan search eligibility enabled, dan verify processed item becomes checkout-eligible.
agent menampilkan wrong price atau phantom stock
Symptom: penemuan data disagrees dengan checkout atau item fails selama purchase. mungkin cause: hanya daily snapshot adalah updating, sebuah intraday event failed, atau variant mapping poin di wrong offer. Fix: reconcile API acknowledgements untuk backend, replay failed updates safely, dan confirm feed, markup, dan checkout agree pada exact variant.
Products repeatedly disappear dan kembalikan sebagai baru
Symptom: catalog continuity resets antara snapshots bahkan though merchandise
melakukan not perubahan. mungkin cause: item_id adalah generated dari sebuah mutable judul, URL, atau
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.
sebuah product matches wrong entity
Symptom: listing inherits detail atau variants dari sebuah berbeda product. mungkin cause: sebuah fabricated/incorrect GTIN, copied MPN, atau inconsistent brand dan variant data. Fix: hapus guessed identifiers, gunakan verified GTIN atau brand + MPN, dan mark genuinely identifier-less items correctly.
Mental models untuk AI product feeds
One sumber kebenaran, several delivery formats
Merchant Center, OpenAI, dan pada-halaman Product/Offer markup adalah mappings dari yang sama catalog, not independent konten projects. Generate them dari one governed product model so identity dan offer truth cannot drift oleh channel.
Identity, offer, policy
Debug setiap feed di three layers:
- Identity: stable item ID, GTIN atau brand + MPN, product/variant relationship.
- Offer: price, currency, availability, image, destination URL.
- Policy: shipping, mengembalikan, privacy, istilah, dan checkout eligibility.
Identity determines what product adalah, offer determines what dapat menjadi bought now, dan policy determines whether sebuah agent dapat complete purchase.
Snapshot plus event stream
daily full snapshot establishes complete catalog state. Intraday API updates carry fast-changing price, stock, dan promotion events. Neither replaces lainnya: snapshot heals drift, while event stream mempertahankan transactions saat ini.
penemuan adalah necessary, checkout adalah separate
Feed quality dapat membuat sebuah product understandable dan eligible. ini cannot guarantee sebuah recommendation atau conversion, dan checkout menambahkan -nya own policy, reliability, dan trust requirements.
Cross-verification rewards consistency
Feeds, markup, dan checkout act sebagai independent witnesses untuk yang sama offer. Agreement membangun confidence; sebuah mismatch forces platform untuk decide which source adalah stale.
Resources worth Anda time
My related writing
- Beginner’s Guide untuk SEO teknis — where data terstruktur dan feeds fit di bigger picture.
- Meet baru Web crawler: AI bot adalah Closing di pada mesin pencari bot — how mix dari bot reading Anda situs (dan Anda feed’s world) adalah shifting toward AI.
My speaking
- How Search berfungsi (SlideShare) — my walkthrough dari crawling, rendering, pengindeksan, dan peringkat, berguna untuk grasping why feed-based penemuan skips sebagian besar dari itu funnel. (My standing disclaimer: “This is my understanding of systems… not going to be 100% complete or accurate.” (terjemahan) “ini adalah my understanding dari sistem… not going untuk menjadi 100% complete atau accurate.”)
dari sekitar industry
- OpenAI — Product feeds overview dan diperlukan-fields spec — primary source untuk ACP feed, diperiksa directly.
- Google — Intro untuk Product data terstruktur — how feed dan pada-halaman markup combine dan cross-verify.
- Shopify Enterprise — 8 tips untuk prepare Anda product data untuk AI channels (Kate Ragotte) — strongest platform-official framing pada data consistency dan structure.
- mesin pencari Land — Why product feeds perlu sebuah organic strategy untuk AI search (Jen Cornwell, Tinuiti) — feed sebagai sebuah owned asset feeding AI visibilitas.
- mesin pencari Land — AI mesin pipeline: gates itu decide whether Anda win recommendation (Jason Barnard, Kalicube) — why structured feeds bypass sebagian besar dari SEO funnel.
- PPC Land — 8 Google Merchant Center attributes Anda feed perlu untuk AI Mode — Conversational Attributes walkthrough (verify names terhadap Google’s live docs).
- mesin pencari Land — Walmart: ChatGPT checkout converted worse daripada situs web — penemuan-vs-conversion caveat.
- Striim — Retail’s AI masalah isn’t model, ini adalah clock — sebuah clean analogy untuk why batch inventory syncs fail agents itu perlu near-nyata-time reads.
Test yourself: Product Feeds untuk AI
Five quick pertanyaan pada membangun sebuah feed AI agents dapat read dan buy dari. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.