Google Merchant CenterCriticalProduct disapproval and reduced trust signals across Shopping surfaces

How to Fix “Invalid value [gtin]” in Google Merchant Center

The attribute is present but the value does not pass Google's structural validation: wrong length, failed check digit, a restricted prefix, or a code that belongs to another manufacturer.

Free, no signup

Scan your feed for this error for free

Paste your product feed URL (XML, CSV or JSON). The audit checks Invalid value [gtin] along with 25+ other pre-channel rules.

Why this happens

Technical root cause

Barcodes are stored as text and get mangled on the way out: spreadsheets strip leading zeros, ERP exports pad with spaces, and staff paste SKU codes or internal references into the barcode field.

Google Merchant Center reports it as Invalid value [gtin] and applies: Product disapproval and reduced trust signals across Shopping surfaces.

Native CMS friction

  • Shopify

    CSV imports through spreadsheets convert 13-digit barcodes to scientific notation or drop the leading zero of UPC-A codes.

  • VTEX

    EAN is a free-text SKU field with no validation, so internal references end up in it during catalog loads.

  • WooCommerce

    Plugin meta fields accept any string, and bulk importers copy the SKU into the GTIN key when the source column is empty.

Fixing it manually

  1. 1

    Export the disapproved items with their current GTIN values.

  2. 2

    Remove spaces, dashes and non-digit characters, then restore any leading zero stripped by spreadsheet software.

  3. 3

    Verify the length is 8, 12, 13 or 14 digits and that the final check digit is correct.

  4. 4

    Replace values that are actually SKUs or internal references with the real manufacturer barcode, or set identifier_exists to no.

  5. 5

    Re-upload and confirm in Merchant Center that the item moves back to Active.

The IRONFEED automated solution

One rule, applied to every product on every export. No spreadsheets, no re-uploads.

Rule syntax
IF gtin MATCHES '[^0-9]' OR gtin FAILS check_digit
  SET gtin = normalize_digits(gtin) AND pad_leading_zero(gtin)
  IF still invalid THEN CLEAR gtin AND SET identifier_exists = 'no'

Run automatic linter checks before Google Merchant Center crawls your feed. IRONFEED validates every export against the channel spec, so this error is caught in Feed Review instead of in your channel dashboard.

Attribute requirements

Google Merchant Center attribute requirements for Invalid value [gtin] and the matching IRONFEED transformation
AttributeGoogle Merchant Center requirementAccepted formatIRONFEED transformation
gtinStructurally valid barcode owned by the manufacturerGTIN-8, UPC-A (12), EAN-13, ITF-14Digit normalisation, zero padding and check-digit validation on every export
identifier_existsFallback when no valid code can be producedyes | noSet automatically when normalisation fails

Frequently asked questions

Storefronts do not validate the check digit. Google does, and it also rejects restricted prefixes and codes assigned to a different brand owner.

Yes. A UPC-A code that lost its leading zero becomes an 11-digit string and fails validation immediately.

Related Feed Issues & Fixes

Other critical errors affecting catalog performance on Google, Meta, TikTok, and Mercado Libre.