Skip to content

Problem

Products disapproved for missing GTIN: how to fix it

Google expects a GTIN on every product whose manufacturer assigned one, and it knows which brands do. Products disapproved for missing GTIN, or limited because of it, usually come down to a data problem in the store rather than anything inside Merchant Center: barcode fields left empty at import, a SKU typed where a GTIN belongs, or one code copied across every size. Fix the product data at the source and the issues clear on the next sync.

By CartKernel · Last reviewed 2026-09-07

Does this look familiar?

  • Merchant Center lists products with an issue naming the gtin attribute, as a disapproval or as limited performance due to missing identifiers
  • Items are marked invalid value for gtin although the barcode scans correctly in the warehouse
  • Some variants of a product serve while others are disapproved with an identifier issue
  • Products from a well-known brand serve far less than expected and the diagnostics point at identifiers

Causes, ranked

Why it happens, most common first

Check them in this order. The first two account for most cases we open.

  • most common

    The barcode field is empty for products that have one

    Supplier files carry the UPC or EAN, but the store import never mapped it to the variant barcode field, or products were created by hand without it. Google matches brand and title against its catalogue, recognises that a code exists, and flags the product for not carrying it.

  • most common

    Something that is not a GTIN was entered as one

    A SKU, a supplier reference or an ISBN-10 sitting in the barcode field fails Google's checks on length and check digit. Valid GTINs are 8, 12, 13 or 14 digits, and the final digit is calculated from the others, so a typo anywhere makes the code invalid.

  • common

    One code reused across every variant

    Each sellable size and colour carries its own GTIN. When the parent product's code is copied onto all variants, Google sees several items claiming to be the same product and reports a mismatch or duplicate identifier rather than a missing one.

  • common

    Custom or private-label goods not declared as such

    Handmade items, made-to-order pieces, vintage stock and many private-label products have no manufacturer GTIN. Unless the feed says so with identifier_exists set to no, Google keeps expecting a code and treats the blank as an error.

  • occasional

    Codes from restricted or unlicensed ranges

    Numbers bought from resellers rather than licensed through GS1, and numbers from ranges reserved for in-store use or coupons, can pass a check-digit test and still be rejected. A blank brand attribute next to a valid code causes the same report.

The fix

In this order

Each step is something you can do today. Do them in sequence; skipping ahead is how a review fails twice.

Prevent it next time

  • Make the variant barcode a required field in your product creation checklist
  • License GTINs through GS1 in your country rather than buying blocks from resellers
  • Validate check digits during import so bad codes never reach the feed
  • Mark custom goods as having no identifier when they are created, not after the disapproval
  1. Filter the affected products by the exact issue name

    In Merchant Center, open the products that need attention and filter by the identifier issue, then export the list. The wording tells you what to fix: missing means blank, invalid means the number is wrong, and mismatch or duplicate means the code belongs to something else.

  2. Collect the real codes from the source

    Take GTINs from the packaging, the supplier price list or the manufacturer catalogue, at variant level. Check length and check digit before entering anything; GS1 publishes a free check digit calculator. Never generate a number to fill a gap.

  3. Enter the codes in the field the feed reads

    On Shopify that is the barcode field on each variant, which the Google and YouTube channel maps to gtin. WooCommerce and BigCommerce have a GTIN or UPC field per product or variation. If a feed app builds the feed, confirm its mapping points gtin at that field.

  4. Declare products that truly have no code

    For custom, handmade, vintage and private-label goods without a manufacturer code, set identifier_exists to no in the feed or tick the custom product option in the channel app. Add brand and MPN where they exist so Google stops expecting a GTIN.

  5. Separate variants that share a code

    Give each variant its own GTIN and keep them grouped with item_group_id so Google understands they are one product family. Where only the parent has a code, source variant codes from the supplier or declare the variants as having none.

  6. Resync and check for new mismatch issues

    Trigger a sync or wait for the next fetch, then confirm the count on the identifier issue falls. Watch for a new issue saying the identifier is incorrect, which means a code now points at a different product in Google's catalogue.

When to get help

Get help when the catalogue runs to thousands of variants across several supplier files, when the issues are mismatches rather than blanks, which means the codes point at other products in Google's catalogue, or when a feed app controls the mapping and you cannot see it. At that scale the fix is a data job first.

Get a Growth Analysis

Free. We reply within one business day.

Questions

Asked alongside this problem

By CartKernel · Last reviewed

Which products on Google Shopping actually need a GTIN?

Any product whose manufacturer assigned one. Branded goods from established manufacturers almost always have codes. Custom, handmade, vintage and most private-label goods without GS1 codes can be listed by declaring that no identifier exists.

Why is my GTIN invalid when the barcode scans fine in store?

The scanner reads the symbol; Google checks the number against its length, its check digit and the prefixes GS1 licenses. A code from an internal range, a coupon range or a reseller block can scan perfectly and still be refused.

Can all sizes of one product share a single GTIN?

No. Retailers and Google identify the exact sellable item, so each size and colour carries its own code. Submit the variant code and tie the variants together with item_group_id so Google knows they belong to one product.

Is a missing GTIN a disapproval or only a warning?

It depends on what Google knows about the product. Where Google expects a code for that brand and item it can disapprove the product; where it cannot tell, the product serves with limited performance. Either way, submit the real code or declare that none exists.

Related problems, answers and terms

All problems
ProblemMerchant Center price mismatch: how to fix itA Merchant Center price mismatch means the crawler saw a different price on your page than the feed sent. The ranked causes and the fix, step by step.OpenProblemMerchant Center availability mismatch: how to fix itA Merchant Center availability mismatch means the page said sold out while the feed said in stock, or the reverse. Causes by frequency and the fix in order.OpenProblemShopping impression share dropped: how to fix itWhen Shopping impression share drops, the lost share columns say whether budget or rank caused it. Read them first, then fix the right lever.OpenProblemMerchant Center feed fetch failed: how to fix itA Merchant Center feed fetch failed means Google could not download or read your file. Where the fetch breaks, and how to get the schedule running again.OpenAnswerDo you need GTINs for Google Shopping?Google requires a GTIN whenever the manufacturer assigned one. What to submit for products that genuinely have none, and how to keep codes clean.OpenAnswerWhat does limited performance mean in Merchant Center?Limited performance is a warning, not a disapproval. The product still serves, but data quality is holding it back. What triggers it and how to clear the list.OpenAnswerHow do Shopping ads handle product variants?Shopping ads treat every variant as its own item joined by item_group_id. How Google picks which one to show and what that changes for bidding.OpenGlossaryGTINGTIN is the Global Trade Item Number behind a product barcode: UPC, EAN or ISBN. What Merchant Center requires, valid formats, and where it breaks.OpenGlossaryMPNMPN is the manufacturer part number that identifies a product when it has no barcode. How Merchant Center uses it with brand, feed rows and pitfalls.OpenGlossaryItem group idItem group ID is the feed attribute that ties variants of one product together for Merchant Center. Feed rows, why it matters, and the usual mistakes.Open

Stop the leak.

A free Growth Analysis finds what is broken and ranks it by the revenue it costs you.