Skip to content
MySolute
Menu

Invalid GTIN in Google Merchant Center: causes and fixes

Google rejects a GTIN if it has the wrong length, a wrong check digit, a restricted prefix (in-store or coupon numbers) or does not belong to the product. Copy GTINs from the packaging or the manufacturer – and for products without one, leave gtin empty and submit brand + mpn or identifier_exists = no instead of inventing a number.

Check every GTIN of your feed – length, check digit and restricted prefixes – plus all other attributes Google requires.

Open the feed validator

What a valid GTIN looks like

GTIN is the umbrella term for the barcode numbers on products. Google accepts these lengths:

  • GTIN-8 (EAN-8)
  • GTIN-12 (UPC-A, mostly North America)
  • GTIN-13 (EAN-13, most of the world)
  • GTIN-14 (ITF-14, multipacks)

The four most common causes

  • Wrong length or characters: letters, too many or too few digits (often an internal SKU in the gtin column).
  • Wrong check digit: a typo or a number that was changed by a spreadsheet (leading zeros removed, scientific notation such as 4.00638E+12).
  • Restricted prefixes: numbers for in-store use (prefixes 02, 04 and 2 on the 13-digit form) and coupon numbers (98–99) are not product GTINs.
  • Real number, wrong product: a valid GTIN that belongs to another product or brand – for example reused from a similar item.

How the check digit is calculated

The last digit of every GTIN is calculated from the others. Starting from the right (without the check digit), the digits are multiplied alternately by 3 and 1 and added up; the check digit is the amount needed to reach the next multiple of 10.

If your product has no GTIN

Own brands, handmade items, custom products and some spare parts have no GTIN. Do not invent one: leave the gtin attribute empty, submit brand and mpn (manufacturer part number) if you have them, or set identifier_exists to no.

Worked examples: Checking 4006381333931

A GTIN-13 from a product feed, and the same number with a typo in the last digit (4006381333932).

Digits without check digit
400638133393
Weighted sum (3,1,3,1 … from the right)
89
Next multiple of 10 minus sum
1
Result for 4006381333931
valid
Result for 4006381333932
wrong check digit

One wrong digit is enough for Google to reject the GTIN. The feed validator recalculates the check digit for every product in your file.

Common mistakes and how to fix them

Opening the feed in a spreadsheet and saving it again

Why it matters: Spreadsheet programs drop leading zeros (UPC → 11 digits) and turn long numbers into 4.00638E+12.

Fix: Format the gtin column as text before you paste or import, or edit the CSV in a text editor.

Putting the SKU or an internal number into gtin

Why it matters: Internal numbers fail the length or check-digit test, or use restricted in-store prefixes.

Fix: Keep your own numbers in id or mpn; gtin is only for the manufacturer's GS1 number.

Buying cheap “EAN codes”

Why it matters: Numbers resold outside GS1 are often registered to another company – Google can then flag a mismatch with the brand.

Fix: Get GTINs from GS1 in your country if you need your own, or submit products without GTIN as described above.

Frequently asked questions

Is a product without GTIN rejected?

Not necessarily. Products that have no GTIN can be submitted with brand + mpn or identifier_exists = no. A wrong GTIN is the bigger problem.

Do I have to add leading zeros?

Google accepts the number in its normal length (8, 12, 13 or 14 digits). Make sure leading zeros were not removed by a spreadsheet – then the length or check digit no longer fits.

Can I check many GTINs at once?

Yes – the product feed validator checks length, check digit and restricted prefixes for every product of a CSV or shop export, in your browser.

Check your whole shop in 2 minutes – free

One product, a few numbers, no sign-up: see what really stays per order and what to do next.

Start the free shop check

Sources

Fees, rates and rules change. We check the official sources listed here regularly – the date shows our last check.