In short: identifiers and categories aren't visible on the listing but decide how much it's seen, and set badly they don't throw an error: they quietly give you less visibility. The GTIN links your product to the global catalogue, the Google category should be as specific as possible, and
item_group_idis what lets Google show the right variant.
Behind the title there is a set of attributes you never see on the listing but which decide how much of it gets seen: the identifiers (who this product is in the global catalogue) and the categories (what it is). Filled in badly they rarely cause disapprovals; they cause something worse: limited visibility with no warning.
What is the GTIN and why does it matter?
The GTIN (EAN in Europe, UPC in the US, ISBN for books) identifies the product in Google's global catalogue. With it:
- Google links your product to its catalogue entry: aggregated reviews, price comparison, enriched attributes.
- Your product enters model name searches with more force (Google knows your «Pegasus 41» is the same one everybody else sells).
- You gain visibility: Google reports clear improvements in impressions and conversions for products with a correct GTIN compared with those without.
With no GTIN on a product that has one: a "limited visibility" warning or a disapproval, depending on the category and the brand. An invented or reused GTIN: disapproval. Rule: ask the supplier for the GTIN; it is on the barcode.
When should you use MPN or identifier_exists?
- MPN (manufacturer part number): the alternative when there is no
GTIN; together with
brandit identifies the product. - Brand: required except for unbranded products. For your own label, your brand. Never "Generic" or the shop's name.
identifier_exists = no: only for products that genuinely have no GTIN and no MPN (handmade, vintage, own label with no codes). Using it to avoid the work of chasing GTINs is a breach Google detects and penalises.
How do you choose the Google category?
A fixed Google taxonomy (thousands of categories, in a tree). Google assigns it automatically if you do not send it, but sending it correctly stops your product showing on the wrong searches and applies the vertical's rules (clothing requires colour/size/gender; some categories have special policies). Choose the most specific category that exists («Apparel & Accessories > Shoes» rather than «Apparel & Accessories»). If your catalogue has its own categories, map them once to Google's taxonomy and automate it.
What is the product_type attribute for?
Your own classification, free-form, as a path («Footwear > Running > Women's»). Google does not use it to display anything; you use it to subdivide product groups in the campaign (module 5) and for reporting. It is the most useful structural attribute and one of the most forgotten. Tip: make it reflect how you manage the business (product lines, typical margins), not just how the website is organised.
How do you group a product's variants?
A product in 5 colours and 8 sizes is 40 listings. Ungrouped, Google sees
them as 40 different products competing against each other and may show
size 36 to somebody searching for size 44. With item_group_id (the same
value across all 40) Google understands they are variants of the same
product and shows the right variant for each search (by colour, by
size). Requirements: each variant with its own id, its color/size
and, if possible, its own GTIN and its own image (the right colour in the
photo).
Typical mistakes: grouping different products under one group; variants
sharing the same link (without the variant parameter); sending only one
"representative" variant and losing the searches for all the rest.
What are product_detail and product_highlight for?
Structured attribute–value pairs («Material: stainless steel», «Capacity: 1.5 l») and short-sentence highlights («Dishwasher safe»). Google shows them in the expanded listing and uses them for matching. Filling them in from the spec sheet you already have is cheap work with a return in long-tail searches.
How do you audit the feed's identifiers?
In Merchant → Products, filter or export and count:
- % of products with no GTIN (and which of those should have one).
- % with an empty
brandor "Generic". - % with a
google_product_categorythat is too general or missing. - % with no
product_type. - Broken variant groups (same product, different
item_group_id, or ungrouped variants).
Every high percentage is lost visibility you can recover without bidding more.
💡 Ninja trick: in large catalogues, identifiers are fixed with rules and supplemental feeds (next lesson), not by hand: mapping your own categories to Google's, filling
product_typefrom the website's path, generatingitem_group_idfrom the base reference. The Shopping Ninja's feed diagnosis flags which products with spend have poor identifiers, so you start with the ones that get advertised most.
What you should remember
- GTIN = visibility and a link to the global catalogue; ask the
supplier for it;
identifier_exists = noonly when it is true. - Google category as specific as possible;
product_typeas a reflection of how you manage the business. item_group_idgroups variants so Google shows the right one; each variant with its own attributes and image.- Audit the percentages; fix them with rules, not by hand.