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.
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
Export the disapproved items with their current GTIN values.
- 2
Remove spaces, dashes and non-digit characters, then restore any leading zero stripped by spreadsheet software.
- 3
Verify the length is 8, 12, 13 or 14 digits and that the final check digit is correct.
- 4
Replace values that are actually SKUs or internal references with the real manufacturer barcode, or set identifier_exists to no.
- 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.
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
| Attribute | Google Merchant Center requirement | Accepted format | IRONFEED transformation |
|---|---|---|---|
gtin | Structurally valid barcode owned by the manufacturer | GTIN-8, UPC-A (12), EAN-13, ITF-14 | Digit normalisation, zero padding and check-digit validation on every export |
identifier_exists | Fallback when no valid code can be produced | yes | no | Set automatically when normalisation fails |
Frequently asked questions
Related Feed Issues & Fixes
Other critical errors affecting catalog performance on Google, Meta, TikTok, and Mercado Libre.
Missing value [gtin]
GTIN lives on the barcode field of a product variant, not on the product itself. Most storefront feed exports either skip that field, export it only when every variant has one, or emit an empty tag — which Google reads as a missing value rather than an intentional exemption.
View Fix & RuleImage too small [image_link]
Feeds frequently export the thumbnail rendition instead of the master asset, because the thumbnail is the URL the storefront exposes first in its product payload.
View Fix & RuleFaltan atributos obligatorios de ficha técnica
Mandatory attributes are category-specific and identified by codes such as BRAND and MODEL. Store catalogs keep the same information in free-text fields or in the title, so no value maps to the expected attribute code.
View Fix & RuleLooking for a different error?