"Unsupported GTIN" means the barcode you submitted is structurally a valid number but comes from a range Google doesn't accept for products, such as coupon codes or in-store restricted codes. The fix is to replace it with the product's global, manufacturer-assigned GTIN, or leave gtin empty and submit brand and mpn if no global GTIN exists. This often happens with store-generated barcodes from a POS system or scale labels.
Unsupported GTIN in Merchant Center: Causes and Fix
How do I fix "Unsupported GTIN" in Google Merchant Center?
What this issue means
Not every barcode is a global product identifier. GS1 reserves some number ranges for internal or special uses, and Google won't accept those in the gtin attribute. Google's documentation describes two groups to avoid:
| Range | Prefixes | What they're for |
|---|---|---|
| Coupon numbers | 05, 98, 99 (Google's fix page lists 981 to 984 and 99) | Coupons and vouchers, not products |
| Restricted circulation | 2, 02, 04 | In-store or internal use, such as variable-weight items, store-printed labels or company-internal numbering |
If a value starts with one of these prefixes, Google treats it as unsupported. The product can't be matched to its catalog entry, so it may be disapproved or limited.
A quick note on prefixes: a 12-digit UPC starting with 2 becomes 02... when written as a 13-digit EAN, so both show up the same way. Look at the GTIN padded to 13 or 14 digits if you're unsure.
Why it happens
- POS or inventory software generated the barcode. Many retail systems (Square, Lightspeed, Shopify POS label printing and others) auto-create internal barcodes, often starting with
2or04, so you can print shelf labels. Those numbers flow into the barcode field and then into your feed. - Variable-weight or deli products. Produce, meat, cheese and bulk items priced by weight commonly use
2-prefix codes that encode price or weight. - Coupon codes pasted into the wrong field. A promo or coupon barcode ends up in the product's barcode.
- A supplier's internal numbering. Some small brands use internal "barcodes" that were never licensed from GS1.
- Gift cards or vouchers. Coupon-range numbers on these items.
How to fix it
Identify the affected products. In Merchant Center, go to Products > Needs attention, filter for "Unsupported GTIN", and download the CSV. Sort by the GTIN column to see which prefixes you're dealing with; usually a whole batch comes from one source.
Check each product for a real GTIN. Branded products almost always have a manufacturer GTIN printed on the packaging. Scan it, or request it from your supplier. Run new values through our GTIN checker to confirm the check digit before uploading.
Replace or remove the value at the source:
- Shopify (Google & YouTube app): Edit the variant's Barcode field and replace the internal code with the manufacturer GTIN. If you need internal barcodes for POS labels, keep them in the SKU field or a metafield instead of Barcode, because the Google channel reads Barcode as the GTIN.
- WooCommerce: Update the GTIN field your Google feed plugin maps. If your POS integration writes internal codes into that field, change the integration's mapping or move internal codes to a separate custom field.
- Feed files: Correct the
gtincolumn. If you can't change the source system, add a supplemental data source withidand the correctgtin, or withgtinleft empty, to override it.
Use a rule to blank restricted codes in bulk. If you have many items where no global GTIN exists, create an attribute rule (feed rule) in Merchant Center that clears
gtinwhen the value starts with2,02,04,05,98or99. Then make sure those products havebrandandmpn, or setidentifier_existstonoif they're custom or made in-house.For your own products, consider real GTINs. If you manufacture the product and want barcodes that work everywhere, license a GS1 company prefix. Google doesn't require GTINs for products that don't have one, but internal codes will never be accepted as GTINs.
How long until it's fixed
Google says changes can take 24 to 72 hours to appear on the Needs attention page. If you use a feed rule, it applies the next time the data source is processed, so trigger a fetch or wait for the next scheduled update. Shopify and WooCommerce apps typically resend corrected data within hours.
How to prevent it
- Keep internal or POS barcodes out of the field your Google feed uses as GTIN.
- Add a validation step to new product imports that flags any GTIN starting with
2,02,04,05,98or99. - Keep a standing attribute rule that blanks restricted-range codes, as a safety net.
- Train staff who create products in POS not to copy auto-generated labels into the barcode field used for online channels.
If your catalog mixes POS-generated codes, supplier barcodes and private-label products, untangling identifiers can be tedious. Mercantads can audit the whole feed and set up rules that keep it clean; see our Merchant Center service or contact us.
Fix it yourself or have us fix it
| Do it yourself | Mercantads does it for you | |
|---|---|---|
| Find the cause | Follow the steps on this page | We audit your feed, store and account |
| Make the fix | Edit products, feed rules or site pages yourself | We fix it, in bulk where possible |
| Reviews | Request the review and wait | We prepare and submit the review for you |
| After it's fixed | Watch for it to come back | Ongoing feed monitoring so it doesn't |
Frequently Asked Questions
Related Google Merchant Center fixes
All Google Merchant Center fixes →Excessive Capitalization in Merchant Center Titles: Fix
Product dataIncorrect identifier_exists Value in Merchant Center: Fix
Product dataInvalid UTF-8 Encoding in Merchant Center: How to Fix It
Product dataInvalid Value [condition] in Merchant Center: How to Fix
Product dataInvalid Value [gtin] in Merchant Center: How to Fix It
Product dataMissing Age Group or Gender in Merchant Center: Fix
Unsupported GTIN in Merchant Center: Causes and Fix
Tell us what Google Merchant Center is showing. We'll find the cause and fix it, so your products and ads get back to selling.