Skip to content

BLOG / productgroup-variant-sku-gtin.mdx

ProductGroup, Variant, SKU, and GTIN: a fail-closed identity guide

Model product families, option combinations, market and language documents, stable URLs, SKU, and GTIN without guessing missing identity.

Published

By SKU.md Editorial Team

Original specification version: v0.10

Identity must narrow a product choice, never fabricate certainty. In v0.10, every Variant MUST contain a non-empty merchant sku. A real-world item without one cannot yet produce a conforming sku.md/0.10-draft Product Document; stable source IDs remain useful, but do not substitute for sku. GTIN and MPN may be absent.

SKU.md is merchant-hosted product discovery and stable product knowledge: agents can find products, understand sourced facts, and know where to recheck live commerce. It is not a new checkout protocol.

Four identifiers answer different questions

Concept Answers May be absent?
ProductGroup Which related product family? Yes, if no family is modeled
Variant Which exact option combination is purchasable? Not for a claimed selectable item
SKU Which merchant-assigned stock reference? No; v0.10 requires one on every Variant
GTIN Which registered global trade item? Yes

Schema.org Product supports properties such as sku, gtin, and isVariantOf, but a vocabulary term does not guarantee a merchant has populated or governed it. SKU.md should preserve known identifiers, not infer them from titles or URL fragments. Unlike GTIN and MPN, which may be absent, the merchant sku is a conformance requirement in v0.10.

Option combinations define the Variant

“Blue jacket” is ambiguous if the merchant sells sizes S, M, and L. A Variant should carry the complete option selection needed to distinguish the item in its source system. If two candidates share a title but differ in cut, market, pack size, or material, a consumer must not select one by similarity.

  1. Resolve the Product family from a stable source.
  2. Match every required option name and value.
  3. Compare the stable Variant ID and required merchant SKU; compare GTIN when present.
  4. Stop if identifiers conflict or multiple candidates remain.

Markets, languages, and URLs cannot stand in for identity

A merchant may publish localized pages for the same Variant, market-specific Variants, or separate products with similar copy. content_language explains a document’s language; market scopes commerce context. Neither field by itself proves that two documents describe the same Variant.

Canonical and parent URLs should remain stable across revisions. Redirecting a retired product to a category page may help people, but it must not silently attach the old document’s facts to a new item. Use explicit replacement or discontinuation knowledge when supported.

Fail closed on missing or conflicting data

Situation Safe result
GTIN missing Continue without GTIN if other identity is exact
Merchant SKU missing Do not invent one: the item cannot produce a conforming v0.10 Product Document until the merchant assigns and governs one
SKU matches, Variant ID conflicts Stop and report mismatch
Two Variants match partial options Ask for the missing option
Market page changes the purchasable item Treat it as a separate mapping decision

Stable source IDs can still support remediation and matching, but they do not substitute for sku. Stopping on ambiguity prevents a well-written Fact, Claim, or Disclosure from being applied to the wrong item.

Further reading

See AI commerce authority handoffs for the exact-match runtime loop and product facts and evidence for knowledge governance.

Next step

Map the authority handoffs