TL;DR: Invalid GTINs hit 48.43% of merchants in DataFeedWatch’s 2023 report. Google usually does not disapprove those products. It demotes them, so impressions drop without a red error. This guide shows the five GTIN errors we find most often in Shopping feeds, and the 30-minute audit that clears them.
Why GTIN errors kill Shopping performance quietly
A disapproved product is easy to catch. It turns red in Merchant Center and stops serving.
A demoted product is the hard one. Its status still reads Active. It still picks up a trickle of impressions. It just loses most of the auctions it used to win.
Google titles its own warning for this "Limited performance due to missing value: GTIN." The help page states that products with an assigned GTIN, but submitted without one, "may have limited visibility." (Google Merchant Center Help, accessed September 2026.)
That is the entire problem in one line. Nothing breaks. Revenue sags and the feed looks fine.
Why does Google care this much? Identifiers are how it matches your listing to a product it already knows. That match is what pulls in the shared product page, price comparison, and reviews.
Google is equally direct about the other failure mode. On the GTIN attribute page it says: "Only provide a GTIN if you are sure it is correct. When in doubt do not provide a GTIN." Made up numbers are worse than blanks.
In Google Ads you see none of this directly. You see impressions flatten on a subset of SKUs while the account average holds. That is why these errors survive for months.
Across iClick’s Shopping accounts, our 2026 benchmark data puts the feed disapproval rate at 12% in unmanaged accounts. Demotions sit on top of that number, not inside it, because a demoted product is never counted as disapproved.
The five GTIN errors we find most often
These five account for most of what we clean up in a first feed audit. Each one is invisible in Google Ads reporting. Each one is fixable in a day.
1. A missing GTIN on a product that has one
This is the most common, and it is almost always an operations gap rather than an advertising one.
Shopify maps its Barcode (ISBN, UPC, GTIN) field to the gtin attribute. If your team never filled that field for 400 SKUs, Google sees 400 products with no identifier. Google’s help center calls GTIN "strongly recommended for all products with a GTIN assigned by the manufacturer."
Manufacturers assign GTINs to almost everything mass produced. If you resell other brands, every SKU has one.
Check this before you blame bids. Filter your product report for SKUs with fewer than 100 impressions in 30 days, then look at whether their barcode field is empty.
2. A wrong check digit
The last digit of a GTIN is a checksum. It validates the digits in front of it.
Transpose two numbers while copying a supplier sheet and you get a code that is the right length and still invalid. Google’s guidance: "Make sure that the check digit is present and correct using the GS1 Check digit calculator."
Length validation passes. Checksum validation fails. The product gets flagged as an incorrect identifier.
3. Restricted and coupon prefix ranges
Google refuses two blocks of numbers outright. From the GTIN specification: "Don’t submit a GTIN in the restricted ranges. Restricted ranges have the following prefixes: 02, 04, or 2." Coupon ranges are out too, with GS1 prefixes 05, 98, or 99.
Those ranges exist for in store use, variable weight items, and coupons. Warehouse and POS systems generate them freely. When an internal barcode flows into your product feed, Google rejects it.
4. Leading zeros stripped by a spreadsheet
Google accepts a gtin value of 0, 8, 12, 13, or 14 digits. Nothing else.
Open a supplier CSV in Excel or Google Sheets and 012345678905 becomes 12345678905. Eleven digits. Invalid, silently, for every row in the file.
This single error can take out a whole supplier catalog in one upload. Always import the identifier column as text.
5. One parent GTIN across every variant
Google is explicit here: "If your product comes in multiple colors or sizes, you must have different unique product identifiers for each of these variants."
Apparel and supplements break this constantly. A hoodie in four sizes gets the same 13 digit code on all four rows.
Google can match one of them to its catalog. The rest look like duplicates of a product that already exists.
What the public data says this costs
Feed errors are not a rounding error at industry scale.
Search Engine Land reported on DataFeedWatch’s 2023 Multichannel Marketing Report on October 31, 2023. Invalid GTIN errors were the single most widespread issue, affecting 48.43% of merchants and about 4% of submitted products. Google policy violations affected 44% of merchants, and promotional overlays on images affected 40%.

DataFeedWatch’s earlier Feed Marketing Report 2022, built on data from more than 15,000 online stores across 20 plus eCommerce sectors, found that 7% of all items submitted to Google Shopping were rejected for data errors, and that almost 6% of all submitted GTINs were invalid. Shopify stores fared best at 5.47% disapproved listings. Magento stores ran close to 10%.
Those are the newest published figures we could verify. No post-2023 edition of DataFeedWatch’s feed report appears to have published an updated figure; the most recent public benchmark remains DataFeedWatch’s 2023 data-error research, reported by Search Engine Land in October 2023, which found that invalid GTIN errors affected 48.43% of merchants and just over 4% of submitted products.
Two numbers matter more than any industry average: how many of your SKUs are affected, and whether they are your sellers. A 4% error rate spread across dead inventory is noise. The same 4% sitting on your top 20 products is a bad quarter.
Our own Shopping numbers give you the other side of the equation, which is what a clean feed is worth.

At a 480% ROAS on well managed Shopping campaigns, a 4% swing in eligible products is real money on an $80,000 monthly budget. Wish Rock Relaxation runs that kind of spend with us and holds a 10x ROAS with a 62% lift in conversion rate. Zager Guitars went from $300,000 to $1.5 million per month in revenue at an 8.4 blended ROAS. Neither happens on a feed carrying 400 demoted SKUs.
To size the impact on your own catalog before touching anything, run the math in our ROAS calculator. For category context on what good looks like, read Good ROAS for eCommerce: Benchmarks by Category, Margin, and Channel.
The 30-minute GTIN audit
Five steps, in this order. Do not skip to fixing.

Step 1: Pull the affected products from Merchant Center
Open Products, then the Needs attention tab. Filter for identifier issues. Google’s fix guidance points here for both the missing GTIN demotion and the incorrect identifier error.
Download the CSV. Do not edit anything in the Merchant Center interface yet. You need the full list first.
Step 2: Check the length distribution
Add a column with the character count of each GTIN. Then count how many rows land on each length.
Any row that is not 8, 12, 13, or 14 characters is broken. If you see a cluster at 11 where 12 belongs, you have a leading zero problem, not a supplier problem.
Step 3: Validate check digits in bulk
Google links to GS1’s check digit calculator, which handles one code at a time. That is fine for spot checks and useless for 5,000 SKUs.
Rebuild the checksum with a spreadsheet formula, or use the validator in your feed tool. DataFeedWatch, Feedonomics, and Channable all flag invalid check digits before the feed reaches Google. Compare their flag against the value in your source data.
Step 4: Screen for restricted prefixes
Sort by the first two digits. Isolate anything starting with 02, 04, 2, 05, 98, or 99.
Every one of those rows is an internal code that escaped your warehouse system. Blank the field and submit brand plus MPN instead. A blank GTIN costs you visibility. A restricted one costs you the listing.
Step 5: Count distinct GTINs per parent product
Group rows by parent item ID and count unique GTINs in each group. A parent with six variants and one GTIN goes on your fix list.
Pull the correct variant codes from the manufacturer, never from your own barcode printer.
Fix the source, not the feed
Feed tools make it easy to patch a GTIN with a rule. Resist that.
A rule in your feed tool fixes Google Shopping and nothing else. Your Amazon listings, Meta catalog, Bing feed, and marketplace exports still carry the bad identifier. We Love Eyes sells through a DTC site and Amazon, and holds a 10x ROAS with a 28% lower blended CAC across both. That only works when the two channels read the same clean product data.
Write the corrected GTIN back into Shopify, your PIM, or your ERP. Then let it flow out to every channel once.
There is an audit trail argument too. When a GTIN is wrong in Shopify, someone can see it and fix it. When it is patched by a feed rule, the next person to touch the feed inherits a mystery.
Feed rules belong on titles, product types, and custom labels. Not on identifiers.
When you genuinely should not submit a GTIN
Some products do not have one, and forcing a value is the worse choice.
Google’s guidance covers it: "If your product is one-of-a-kind or vintage, you don’t need to add an identifier." Handmade jewelry, custom furniture, and used goods sit in the same bucket.
For those items, set identifier_exists to no and submit accurate brand and MPN values. Google’s unique product identifier page says a product should have either an accurate GTIN attribute or both an MPN and a brand attribute.
Do not use identifier_exists as a shortcut on mass produced inventory. Google checks that flag against the product category, and misusing it does not make the demotion go away.
What to do once the feed is clean
A clean feed changes what your campaign structure can do.
Correct identifiers let Google match your products to its catalog, which is what makes product level bidding and segmentation worth the effort. Before that, the data is too noisy to act on.
The next decision is campaign type. Our 2026 benchmark data shows Performance Max cannibalizes Shopping in more than 80% of the accounts we review, so launch order matters. We break that tradeoff down in Google Shopping vs Performance Max: Which Should Run Your Product Ads?
For the full structure we use across $61 million in managed spend, read the eCommerce PPC playbook and Inside the eCommerce PPC Playbook: How We Structure $61M of Ad Spend. If you would rather have this handled than documented, that is what our eCommerce PPC management work covers, including Shopify stores, DTC brands, and health and wellness catalogs.
The short version
Print this and run it against your feed:
- Every GTIN is 8, 12, 13, or 14 digits.
- Every check digit validates.
- No codes start with 02, 04, 2, 05, 98, or 99.
- Every variant carries its own GTIN.
- identifier_exists is set to no only on genuinely one-of-a-kind items.
- Corrections live in your product database, never in a feed rule.
Run that list once a quarter and after every supplier import. Most catalogs clear it in under an hour of work.
Size the upside before you start
Cleaning GTINs is unglamorous, so it helps to know what it pays. Plug your current ad spend, revenue, and margin into our free ROAS calculator and see what recovering 4% of your eligible products does to your return.
Related on iClick
Sources
- Google Merchant Center Help: GTIN [gtin] attribute specification
- Google Merchant Center Help: How to fix Limited performance due to missing value: GTIN
- Google Merchant Center Help: How to fix Missing or incorrect GTIN
- Google Merchant Center Help: About unique product identifiers
- Google Merchant Center Help: Product data specification
- Search Engine Land, October 31, 2023: Top data errors that cause Google Shopping to disapprove products (reporting DataFeedWatch’s 2023 Multichannel Marketing Report)
- DataFeedWatch Feed Marketing Report 2022 (15,000+ online stores)
- iClick Advertising 2026 PPC Benchmarks (first-party data from iClick-managed accounts, 2024-2025)
- Search Engine Land, “Top data errors that cause Google Shopping to disapprove products” (Oct 31, 2023), citing the DataFeedWatch by Cart.com 2023 Multichannel Marketing Report
Frequently asked questions
Does a missing GTIN get my product disapproved?
Usually not. Google flags it as “Limited performance due to missing value: GTIN,” which is a demotion rather than a disapproval. The product stays active and keeps a small share of impressions, so nothing looks broken in Merchant Center. Google’s own wording is that products with an assigned GTIN submitted without one may have limited visibility.
What should I do if my product has no GTIN at all?
Submit accurate brand and MPN values instead, and set identifier_exists to no. Google states that one-of-a-kind or vintage products do not need an identifier. Do not invent a number to fill the field. Google’s guidance is blunt on that point: only provide a GTIN if you are sure it is correct, and when in doubt do not provide one.
How do I find invalid check digits across thousands of SKUs?
Export the affected products from the Needs attention tab in Merchant Center, then validate in bulk. GS1’s check digit calculator handles one code at a time, so rebuild the checksum with a spreadsheet formula or use the validator in DataFeedWatch, Feedonomics, or Channable. Apply the fixes in your product database, not in a feed rule.
Why do my GTINs break every time I import a supplier file?
Almost always leading zeros. Excel and Google Sheets read 012345678905 as a number and drop the zero, leaving 11 digits. Google accepts only 0, 8, 12, 13, or 14 digits, so every affected row fails at once. Import the identifier column as text and the problem disappears.
How often should I audit GTINs?
Once a quarter, plus after every supplier catalog import and every platform migration. Those three events cause most identifier damage. A pass on length, check digits, restricted prefixes, and variant uniqueness takes under an hour for most catalogs. Our 2026 benchmark data puts the feed disapproval rate at 12% in unmanaged accounts, so the check pays for itself.
Do GTIN errors hurt Performance Max the same way?
Yes. Performance Max serves from the same Merchant Center feed, so a demoted product is demoted everywhere. The difference is visibility: Performance Max reporting hides product level detail, so the drop is even harder to spot. Clean the feed first, then decide which campaign type gets your product traffic.


