Home / Resources / Guides / Feed management
Connections · Guide 01 of 05
Titles, Labels, Variants, GTINs
Google spent a decade removing the levers merchants used to steer shopping campaigns. What's left is the catalog — and most catalogs were never engineered to carry the load.
Key finding
31
impression-share recovery after restructuring parent/child variants for P-Max — Footwear & Apparel Retailer, 28,000 SKUs on Google Shopping and Microsoft
GoDataFeed customer result
For a decade, the shopping engines removed advertiser controls one at a time. Google automated bidding, retired match types, migrated Smart Shopping into Performance Max, and pulled keyword targeting out of shopping campaigns entirely. AI Max is stripping the last meaningful keyword signals from search. Microsoft is following the same arc on its shopping surfaces. None of this was an accident — platforms optimize for their own automation, and automation means fewer places for a merchant to express strategy inside the campaign interface.
What remains under direct merchant control is the product data. In a keywordless auction, the algorithm decides what to match, what to bid, and what to surface by reading the catalog: title tokens, attribute coverage, GTIN identity, custom labels, variant structure, and the Schema markup on the landing page that corroborates all of it. Those inputs are the campaign now. Everything in the campaign interface modulates behavior at the margins; it does not compensate for weak signal at the source.
That diagnosis gap is the reason this guide exists. When shopping performance softens, the instinct is to adjust budgets, restructure asset groups, and wait for the algorithm to stabilize. The variable that explains most of the variance sits upstream, in data the campaign interface never shows: the title the algorithm matched against, the attributes it used to distinguish one SKU from another, the labels that told it — or failed to tell it — which products carry the margin.
Getting product data to a shopping engine is a solved problem. Google publishes the Merchant API. Shopify and BigCommerce ship native apps. "Found by Google" crawls the site without a feed at all. Microsoft accepts imports straight from Google Merchant Center. Transport is free, fast, and universal — which is exactly why it stopped being a differentiator.
The connection that matters is not the pipe. It's the payload — what the data says when it arrives. A native app performs a literal one-to-one sync: it takes data built for a storefront experience and pushes it, unchanged, into an algorithmic auction. The two systems speak different languages. Storefront data is written for a human who already navigated to the page. Auction data has to match a query from someone who has never heard of the brand.
Arrives fine. Matches broadly, bids blindly, competes on the path of least resistance.
Same pipe. Different payload. The algorithm matches precisely and bids against your commercial logic.
Key Insight: Transport without translation guarantees the data arrives. It says nothing about whether the data competes. Every argument in this guide is about the payload, because the pipe was never the problem.
In a keywordless auction, the product title is the targeting. The algorithm tokenizes it, weighs it, and matches it against query intent — which means every attribute missing from the title is a query the product cannot match. "The Classic Weekend Tee" works beautifully on a branded product page. In the auction, it's dead signal: no brand, no gender, no material, no color, no size. A shopper searching "men's navy cotton t-shirt" will never see it, because nothing in the title says the product is any of those things.
The engineered version — brand, gender, product type, material, color, size, in that order — gives the algorithm a token for every dimension of the query. Order matters twice over: Google caps titles at 150 characters, display truncates far earlier, and the matching weight concentrates at the front. Front-load the attributes queries actually contain. Push the storefront flourish to the end, or cut it.
This does not mean rewriting titles inside the ecommerce platform. Changing the storefront title to serve the auction breaks the on-site experience the storefront title exists to serve. The correct architecture concatenates the auction title from structured fields — brand, metafields, variant attributes — at the feed layer, while the website keeps its own language. One product, two titles, each built for the surface reading it.
Key Insight: The title is doing the work keywords used to do. Treat title structure as campaign mechanics expressed through a different interface — not as catalog hygiene someone else owns.
Attribute coverage is match signal. Every populated field — color, size, material, age group, gender, pattern — gives the algorithm another dimension to distinguish one SKU from another and to qualify the product for another slice of query intent. Sparse coverage forces broad matching, and broad matching spends budget on traffic the product was never right for. The campaign reads as volatile. The catalog is just under-described.
The GTIN is identity verification. It ties the product to a known entity in the shopping engine's catalog graph, which opens matching against aggregated product data and, on marketplace-adjacent surfaces, comparison placement. Missing or invalid GTINs degrade both. Taxonomy has a similar split: google_product_category places the product in Google's tree and determines which auctions it enters — map to the most specific node, because a parent-level mapping enters the product in the wrong contests. product_type is yours; it should mirror merchandising logic, because campaign structure and reporting inherit it.
Suspension-Class Errors: Price and availability mismatches between feed and landing page are not cosmetic. They begin as item disapprovals and escalate to misrepresentation review — an account-level suspension class that halts every product, not the flagged ones. Sale-price fields drift first: a promotion ends on-site, the feed lags, and the mismatch is live. Sync cadence is a compliance control, not a convenience.
Disapprovals follow patterns, and the patterns are bulk-shaped. A single policy change or crawler pass can flag thousands of SKUs at once for one missing attribute. Fixing them one listing at a time is not a strategy; the correction has to happen at the rule level, applied catalog-wide, so the same gap cannot reopen when next season's SKUs load.
The five custom_label attributes are the last remaining channel for telling the algorithm what your business actually wants. Bidding is automated. Match types are gone. Audience controls are minimal. What survives is the ability to segment the catalog inside the feed — and custom labels are the mechanism.
Used deliberately, the five slots encode a commercial strategy the campaign layer can act on: margin tier, so budget concentrates where the profit is; seasonality, so core and seasonal inventory compete on different terms; velocity, so proven sellers and slow movers get different treatment; clearance status, so end-of-life stock clears without dragging flagship ROAS; and priority, so the products the business needs to win are marked as such. Each label becomes a listing group boundary, a budget line, a reporting cut.
Left empty — which is what every native sync leaves them — the catalog goes to the algorithm as one unsegmented lump. The AI optimizes exactly as designed: toward the path of least resistance, which is rarely the path of highest profitability. Budget flows to whatever converts easiest, low-margin clearance competes with flagship product for the same impression, and the merchant reads the result as "P-Max being a black box." The box is only black because nothing was written on the inputs.
An empty custom label is a decision — it hands the segmentation strategy to the algorithm's default: spend wherever conversion comes cheapest.
The hard part is not the concept; it's the plumbing. Margin data lives in an ERP or a spreadsheet, not in the ecommerce platform. Velocity is a calculation, not a field. Populating five labels across a full catalog, and keeping them current as margins and inventory move, is a data engineering task — which is why most feeds ship with the slots empty, and why the merchants who fill them are competing in a different auction than everyone else.
Ecommerce platforms handle variants elegantly on the front end and clumsily in the feed. The failure modes are consistent: children pushed without a shared item_group_id, variant images stripped or replaced with the parent's, size and color attributes missing on the SKUs that exist specifically to express size and color. The algorithm cannot distinguish the variants from each other — or from the parent — so it either disapproves them or bids on them inefficiently.
The symptom shows up in the campaign as inconsistent impression share and poor variant coverage in shopping results, which reads like an auction problem. It's a structure problem. Proper architecture gives every child SKU the group ID, its own attributes, its own image, and its own price — clean, distinct signals the algorithm can bid on independently. When the structure is fixed, campaign behavior changes without anyone touching a campaign setting, which is the clearest demonstration in this entire guide that the feed is the upstream layer of the campaign itself.
Google is promoting AI Max hard, and the case studies are real numbers — the widely circulated example claims an 80% revenue lift. The pitch underneath them: the AI reads your website, understands your catalog, and matches products to conversational, long-tail intent that keyword campaigns never reached. The implication merchants take away is that the structured data layer is now redundant.
Two things are true at once. The long-tail matching works — for catalogs with engineered titles, complete attributes, structured variants, and full GTIN coverage, AI Max produces real lift. And the case studies omit the input side entirely. Results at that level come from brands whose data infrastructure was built before the feature was switched on. The AI reads whatever signal you give it. Feed it a storefront title and a description written for a human browser, and it matches accordingly — broadly, and badly.
"The AI reads your website" is accurate and incomplete. Crawling infers; it does not know your margin, your inventory priority, or which of two visually identical variants carries the profit. Inference degrades with catalog size: viable for a boutique with fifty static SKUs, unreliable across fifty thousand with weekly price movement. The structured feed is not competing with the AI — it is what the AI learns from.
The ceiling argument: AI Max performs to the level of the signal it learns from. The feature's ceiling is set by your data before the first impression serves. Engineering the signal doesn't hedge against the AI — it's how you raise what the AI can do.
Customer result: 22% ROAS lift in the first 60 days of AI Max after completing attribute coverage and GTIN resolution — Direct-to-Consumer Furniture Brand, 1,700 SKUs on Google Shopping.
The checklist below compresses the guide into three working tools: the title anatomy, the attribute audit, and the disapproval triage — enough to run a first-pass signal review on any catalog in under an hour.
BRAND · GENDER · PRODUCT TYPE · MATERIAL · COLOR · SIZE
Example: Halcyon Supply – Men's Classic Weekend Tee – Cotton – Navy – L
Google caps titles at 150 characters and truncates the display far earlier. Put the attributes a query contains — brand, gender, product type, defining variant — in the first 70 characters. Storefront flourishes go last or go away.
A checklist finds the gaps. Closing them across a full catalog — titles concatenated per channel, labels fed from margin data, variants structured and validated on every sync — is rules-engine work, and it's the work GoDataFeed does. The fastest way to see where your own catalog stands is to look at what you're actually sending.
FAQ
No. AI Max reads the same structured data layer — engineered titles, complete attributes, GTINs, variant structure — and performs to the level of the signal it learns from. Google's own case-study results come from catalogs whose data infrastructure was built before the feature was switched on.
No. The auction title should be concatenated from structured fields at the feed layer — brand, gender, product type, material, variant attributes — while the storefront keeps its own language. One product, two titles, each built for the surface reading it.
The five custom_label slots segment the catalog by commercial logic — margin tier, seasonality, velocity, clearance status, priority. Each label becomes a listing group boundary, a budget line, and a reporting cut. Left empty, the catalog competes as one unsegmented lump.
Broken variant structure is the usual cause: children missing a shared item_group_id, variant images stripped, or size and color attributes absent. The algorithm can't distinguish the variants, so it disapproves them or bids on them inefficiently.
0
Keyword targets in a P-Max shopping auction
5
custom_label slots — the last strategy inputs
Aug '26
Content API sunset — Merchant API era begins
Merchants are losing at the signal level and diagnosing it at the budget level. OR For a decade, the shopping engines removed advertiser controls one at a time. What remains under direct merchant control is the product data. OR Getting product data to a shopping engine is a solved problem. With native apps it's free, fast, and universal — which is exactly why it stopped being a differentiator. The connection that matters now is not the pipe, it's the payload.
Bryan Falla
FAQ
No. AI Max reads the same structured data layer — engineered titles, complete attributes, GTINs, variant structure — and performs to the level of the signal it learns from. Google's own case-study results come from catalogs whose data infrastructure was built before the feature was switched on.
No. The auction title should be concatenated from structured fields at the feed layer — brand, gender, product type, material, variant attributes — while the storefront keeps its own language. One product, two titles, each built for the surface reading it.
The five custom_label slots segment the catalog by commercial logic — margin tier, seasonality, velocity, clearance status, priority. Each label becomes a listing group boundary, a budget line, and a reporting cut. Left empty, the catalog competes as one unsegmented lump.
Broken variant structure is the usual cause: children missing a shared item_group_id, variant images stripped, or size and color attributes absent. The algorithm can't distinguish the variants, so it disapproves them or bids on them inefficiently.
Inside the guide
0
Keyword targets in a P-Max shopping auction
5
custom_label slots — the last strategy inputs
Aug '26
Content API sunset — Merchant API era begins
Keep reading
Guide
The twelve most common GMC errors, what each one actually means, and the data fix for each.
11 min read
Guide
Title anatomy for Google, Amazon and Meta — what each rewards, what each quietly penalizes.
9 min read
Guide
How each channel models the same red shirt in four sizes — and why it breaks so often.
8 min read
See what your feed sends to Google today, versus what it should — gap by gap, attribute by attribute.