Do AI shopping agents need a GTIN?

Not as a hard rule, but an offer without one is harder to match. An agent comparing prices first groups the pages that describe the same product, and the GTIN is the identifier that groups them without guessing. Without it, a cheaper offer can be treated as a different product and left out of the comparison.

The industry has settled on this. At the W3C and GS1 workshop on e-commerce for humans and AI agents in Zurich on 8 and 9 September 2026, participants converged on the GTIN as the primary identifier for physical goods, which both UCP and ACP rely on (Forkast, 10 September 2026).

Is a GTIN required for Google Merchant Center or the ChatGPT product feed?

Neither channel makes it strictly required. Google labels it recommended and warns about visibility, OpenAI marks it optional, and both want another identifier when the GTIN is missing. A shop that feeds both channels sends the same GTIN to both and to its JSON-LD, so all three describe one product.

Google Merchant CenterOpenAI product feed
Status of gtinRecommended, for all products with a GTIN assigned by the manufacturerOptional
Accepted format8, 12, 13 or 14 digitsExactly 8, 12, 13 or 14 digits with a valid check digit, leading zeros preserved
Paired fieldsIdeally provided with MPN; brand and MPN when there is no GTINbrand required; in the Google-compatible format, GTIN or MPN required unless identifier_exists is set to no
Stated effect when missing“Products with missing or incorrect GTIN attributes may have limited visibility”Not stated
SourceMerchant Center HelpOpenAI feed spec

What is the difference between GTIN, EAN, UPC and SKU?

GTIN is the family name for GS1’s product numbers, and EAN and UPC are older names for two of its lengths. A SKU is the shop’s own internal code, and an MPN is the manufacturer’s part number.

IdentifierDigitsWho assigns itUsed forSchema.org field
GTIN-13 (EAN)13Brand owner, licensed by GS1Most products in Europegtin13 or gtin
GTIN-12 (UPC)12Brand owner, licensed by GS1Products in North Americagtin12 or gtin
GTIN-88Brand owner, licensed by GS1Small packsgtin8 or gtin
GTIN-1414Brand owner, licensed by GS1Cases and outer packaginggtin14 or gtin
MPNFree formatManufacturerParts and models, a fallback identifiermpn
SKUFree formatThe shopInternal stock keepingsku

Only the GTIN and the brand plus MPN identify a product across shops. A SKU means nothing outside your own catalogue.

What if my product has no GTIN?

Then declare the brand and an MPN, and in feeds that support it set identifier_exists to no. Products a shop makes itself, such as a chocolatier’s pralines or a furniture maker’s own designs, often have no GTIN, and nobody else sells them, so there is nothing to match against.

What does not work is inventing a number or reusing one from another product. A wrong GTIN groups your offer with someone else’s product, which is worse than having none. A brand that sells through retailers and wants agents to match its products should license GTINs from GS1 through its national member organisation. The brands selling direct page covers who gets the recommendation in that case.

Does each size and colour need its own GTIN?

Yes, wherever the manufacturer assigns one, and it usually does. A shoe in twelve sizes carries twelve GTINs, one per variant, and an agent asked for size 43 matches on the GTIN of size 43.

Declare it on each variant Product inside the ProductGroup, never once on the group. The variants guide shows the markup.

What should a shop check first?

Three things, in this order:

  • Whether the GTIN is in your catalogue at all, since many shops hold it in the ERP and never send it to the product page.
  • Whether it reaches the JSON-LD and the feeds on every product and every variant.
  • Whether it matches the number on the packaging.

In our audit of 240 Romandie online shops, the stage that lost the most agents for 157 of the 211 read in full was reading the product itself, where identifiers sit (Romandie audit, July 2026). The Buyer Journey Check measures identifier coverage across your catalogue, and the Machine Readability Sprint fixes it in the templates that generate the markup.