Skip to content
feedlab Request early access

Feed error

Item disapproved

Invalid 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.

What it affects

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Last reviewed View as markdown