Feed error
Item disapprovedInvalid value: GTIN
The "Invalid value: GTIN" error means the feed supplied a value in the gtin attribute that is not a structurally valid Global Trade Item Number. Unlike a missing GTIN this is usually a disapproval rather than a warning, because a wrong identifier matches the item to the wrong product rather than to none.
How this appears in your account
The exact wording the channel shows, so you can match what you are looking at.
- Invalid value: GTIN [gtin]
- Invalid GTIN [gtin]
- Incorrect identifier [gtin]
What it affects
- Channels
- Google Shopping Microsoft Advertising
- Attributes
- gtin identifier_exists
- Scope
- A subset of items
Why it happens on Shopify
Leading zeros were stripped by a spreadsheet
This is the most common cause by a distance. Opening a feed in Excel or Google Sheets coerces a numeric-looking string to a number and discards leading zeros, turning a valid twelve-digit UPC into an invalid eleven-digit value.
The check digit does not compute
The final digit of a GTIN is calculated from the preceding digits. A single transposed or mistyped digit produces a value of the right length that still fails validation, which is exactly what hand-keyed barcodes produce.
The value is not a GTIN at all
The Shopify barcode field is free text with no validation, so it frequently holds an internal SKU, a supplier reference or a shelf code. These are submitted as if they were identifiers and rejected.
Formatting characters survived into the feed
Barcodes copied from supplier documents often carry spaces, hyphens or non-breaking spaces. A GTIN must be digits only, so anything else invalidates it even when the digits themselves are correct.
A restricted or reserved prefix was used
Some number ranges are reserved for internal use within a retailer and are not globally unique. Values in those ranges are structurally well formed but rejected as identifiers because they mean nothing outside your own systems.
How to fix it
-
Stop editing feeds in a spreadsheet
If a feed is exported, opened in Excel or Sheets and re-saved at any point, assume leading zeros are already gone. Generating the feed directly from the catalogue removes the entire class of problem rather than correcting it after the fact.
-
Validate length before submitting
A GTIN must be exactly 8, 12, 13 or 14 digits after stripping whitespace. Anything else is invalid by definition and can be caught before the feed is uploaded.
-
Verify the check digit
Compute the check digit from the preceding digits and compare it to the last one. This catches transposition and typing errors that a length check cannot, and it is the single most effective validation you can apply to hand-entered barcodes.
-
Strip formatting rather than trusting the source
Remove spaces, hyphens and non-breaking spaces, then confirm what remains is digits only. Pad values that are short only where you know the source genuinely dropped leading zeros, never as a blanket rule.
-
Route failures to the identifier fallback
When a value fails validation, submitting it anyway guarantees a disapproval. Sending brand and mpn instead, or declaring identifier_exists as no where appropriate, keeps the item serving while the underlying data is corrected.
How feedlab handles this
feedlab validates barcode length and check digit as a transformation step, so an invalid value never reaches the feed. Items that fail fall through to a brand and mpn mapping instead, and the preview lists exactly which products failed validation and why, against your live catalogue.
Frequently asked questions
Why did my GTINs lose their leading zeros?
A spreadsheet. Excel and Google Sheets treat a numeric-looking string as a number and discard leading zeros on open, so a valid 012345678905 becomes 12345678905. Any workflow that routes a feed through a spreadsheet will keep reintroducing this.
What is a GTIN check digit?
The last digit of a GTIN, calculated from the preceding digits using a weighted sum. Its purpose is to catch typing and scanning errors, which means a mistyped barcode of the correct length still fails validation.
Is an invalid GTIN worse than a missing one?
Generally yes. A missing GTIN is usually a warning about reduced performance, whereas an invalid one is typically a disapproval, because a wrong identifier can match your item to a different product entirely.
Primary sources
Channel specifications change. These are the official documents this page is based on.