{
  "id": "gtin.valid",
  "protocol": "gtin",
  "layer": "product-data",
  "role": "merchant",
  "status": "required",
  "title": "Use valid GTINs with GS1 check digits",
  "description": "8, 12, 13 or 14 digits with a valid GS1 check digit. Google: no restricted prefixes (02, 04, 2) and no coupon prefixes (05, 98, 99); up to 10 GTINs per product.",
  "goal": "Google may disapprove or limit products with invalid or incorrect GTINs.",
  "note": "Re-verified 2026-10-12. Keep GTINs as strings to preserve leading zeros. Google accepts UPC (GTIN-12; convert UPC-E), EAN (GTIN-13), JAN (8 or 13), ISBN-13 and ITF-14. Don't guess or make up a value.",
  "how_to_implement": {
    "steps": [
      "Validate check digits in your PIM before export.",
      "Convert ISBN-10 to ISBN-13 and UPC-E to 12 digits.",
      "Do not reuse one GTIN for several products with the same variant attributes in the same country and language."
    ]
  },
  "resources": [
    {
      "label": "Google Merchant Center: GTIN",
      "url": "https://support.google.com/merchants/answer/6324461",
      "type": "docs",
      "publisher": "Google"
    },
    {
      "label": "OpenAI product feed spec",
      "url": "https://developers.openai.com/commerce/specs/file-upload/products",
      "type": "spec",
      "publisher": "OpenAI"
    }
  ],
  "audit": {
    "method": "feed_check",
    "automatable": true,
    "expect": {
      "gtin_regex": "^(\\d{8}|\\d{12}|\\d{13}|\\d{14})$",
      "gs1_check_digit": true
    },
    "human": "All GTINs pass length and GS1 check digit validation."
  },
  "how_to_verify": "All GTINs pass length and GS1 check digit validation.",
  "artifacts": [
    "gtin8",
    "gtin12",
    "gtin13",
    "gtin14"
  ],
  "depends_on": [
    "gtin.feeds"
  ],
  "status_note": "Re-verified 2026-10-12. Keep GTINs as strings to preserve leading zeros. Google accepts UPC (GTIN-12; convert UPC-E), EAN (GTIN-13), JAN (8 or 13), ISBN-13 and ITF-14. Don't guess or make up a value.",
  "verified": true,
  "status_rationale": "Invalid GTINs are rejected by Google Merchant Center.",
  "slug": "gtin-valid",
  "category": "product-data",
  "url": "https://vreeman.ai/commerce/checklist#gtin.valid",
  "updated": "2026-10-12",
  "sources": [
    {
      "label": "Google Merchant Center: GTIN",
      "url": "https://support.google.com/merchants/answer/6324461",
      "type": "docs",
      "publisher": "Google"
    },
    {
      "label": "OpenAI product feed spec",
      "url": "https://developers.openai.com/commerce/specs/file-upload/products",
      "type": "spec",
      "publisher": "OpenAI"
    }
  ],
  "related_slugs": [
    "gtin-feeds"
  ]
}