Blocking Affects: gtin identifier

Fix “Invalid value [gtin]” on Google Merchant Center

Google has the GTIN, but it doesn't validate. Either the check-digit algorithm fails, the format is wrong, or the GTIN doesn't match any product in the global retail registry. Affected items are dropped from Shopping until the GTIN is corrected.

What you see in Google Merchant Center:

Invalid value [gtin]

API identifier: invalid_gtin

Invalid GTIN is the close cousin of Missing GTIN, and the fixes overlap heavily. The difference: missing GTIN means the field is empty; invalid GTIN means the field has a value but the value doesn't validate. The four most common causes: check digit wrong (the last digit is a calculated checksum — bad data fails), formatting issues (dashes, spaces, leading zero strip), wrong field type (Excel strips leading zeros from numeric fields), placeholder values (1234567890123 doesn't pass validation).

The Excel-strips-leading-zeros problem deserves specific attention. A valid GTIN starting with 0 (like `0123456000018`) opens in Excel as a number and becomes `123456000018` — instantly invalid. Any CSV passing through Excel between source and feed risks this. The fix is to enforce text format on the GTIN column at every step, or skip Excel entirely.

Beyond the formatting issues, the validation Google runs has two layers. First, the check-digit algorithm verifies the GTIN is structurally valid. Second, validation against GS1's database checks whether the GTIN is actually registered to a manufacturer. The first catches data quality issues; the second catches fake GTINs that pass structural validation but aren't real. The two-layer validation is why placeholder GTINs (0000000000000) fail both — they're structurally invalid AND not registered.

The AI Shopping Feeds Audit feature validates GTINs across the full catalog in seconds, flagging structural issues, check digit failures, and unregistered identifiers separately. The Optimiser auto-corrects formatting issues at feed generation, preserving leading zeros and stripping non-digit characters.

Top causes

  • 1

    Check digit is wrong — the last digit is calculated from the previous digits and should validate

  • 2

    GTIN has been formatted with dashes, spaces or other separators

  • 3

    Leading zeros have been stripped (a common spreadsheet bug — Excel converts '0123456000018' to '123456000018')

  • 4

    Internal SKU code has been put in the gtin field instead of the actual barcode

  • 5

    Placeholder values like 0000000000000 or 1234567890123 don't pass validation

How to fix it

  1. 1

    Identify affected SKUs

    Merchant Center → Needs attention → filter by 'Invalid value [gtin]'. Export to CSV.

  2. 2

    Validate each GTIN

    Run each affected GTIN through a check-digit validator (use the linked tool below). Anything that fails is genuinely wrong; find the real GTIN from the manufacturer.

  3. 3

    Fix the formatting at source

    Strip dashes and spaces, restore leading zeros, ensure the field type is text (not number — that's how Excel strips leading zeros).

  4. 4

    Re-export and refresh

    Regenerate the feed with corrected GTINs. Force-fetch in Merchant Center.

  5. 5

    Verify

    Affected items should clear from Needs attention within 15 minutes. Repeat-offenders likely have a generation pipeline issue — fix at source rather than spot-fixing each time.

Related fields

FAQ

How is the GTIN check digit calculated?

Each digit is multiplied by an alternating weight (1 or 3), the products summed, and the result reduced modulo 10. The check digit is what you'd add to make the sum a multiple of 10. Any GTIN validator will do this for you.

Why did my GTINs work yesterday but not today?

Almost always a generation-pipeline change. Common culprit: a CSV export ran through Excel between source and feed, stripping leading zeros. Open the actual feed file Google fetches and inspect the gtin column.

Can I just remove the gtin field for failing rows?

Not safely — you'll get Missing value [gtin] instead. The correct fix is either the real GTIN or identifier_exists: false for truly GTIN-exempt products.

Last reviewed: 26 May 2026

Free plan · No card

Why wait? Try it free today.

Stop managing feeds manually. Start optimising with AI in 30 seconds.

  • Free plan, no credit card required
  • 1 brand, 1 feed, 100,000 products per feed
  • Full AI Product Optimisation, Rule Engine, and 200+ channel exports
  • Pay only for AI credits when you need them