Product feed optimization: what it is, what actually moves revenue, and how to prove it
[image]
Product feed optimization is the work of improving the product-language record (titles, attributes, descriptions and taxonomy) that Google Shopping, Meta Advantage+, onsite search and AI assistants all read before deciding whether to show your product. Most feed work fixes formatting errors, but the lift comes from the vocabulary layer, because the feed is scored against how shoppers describe products, not how the merchandiser catalogd them. In a matched-spend A/B test with a 28-day holdout, rewriting the product-language input produced a 28% increase in Google Shopping revenue against the control.
That is the argument. The rest of this page is the mechanism. (Spelled product feed optimisation outside the US. Same job, same fields.)
What is a product feed, and who actually reads it?
A product feed is a structured file of product records, one row per item, one column per attribute, handed to a platform so it can decide when your product is a good answer to somebody's intent. A feed is the only sentence your product gets to say, and four machines read that sentence for four different reasons.
The feed is not a Google artifact. The same record feeds every discovery surface you sell on.
Every discovery surface reads the same product-language record. Here is what each one takes from it.
| Surface | What it reads first | What it does with it |
|---|---|---|
| Google Shopping / PMax | title, google_product_category, product_type, filterable attributes | Matches the query to the item and sets the auction's relevance floor |
| Meta Advantage+ | title, description, product_type, variant structure | Builds the interest signal that targets the catalog |
| Onsite search | Attributes, taxonomy, descriptors | Powers facets, autocomplete, zero-result recovery |
| AI assistants and AI Mode | The full record plus the product page | Decides whether the product can satisfy a constrained request |
The platforms built the pipes between these surfaces in under a year: the Agentic Commerce Protocol in September 2025, Google's Universal Commerce Protocol on 11 January 2026, then Universal Cart and the six Merchant Center conversational attributes in May 2026. Not one of them supplies the quality of what flows through the pipe. That part is still yours.
What are the three layers of product feed optimization?
Feed work stacks in three layers, and they are not equally valuable. Syntax fixes disapprovals, structure fixes routing, and language fixes whether you were eligible for the query at all. Most product feed best practices stop at layer one and call it a strategy.
The three layers of feed work, what each fixes, and what each is worth.
| Layer | The work | What it fixes | Ceiling |
|---|---|---|---|
| 1 · Syntax | Errors and disapprovals, valid GTINs, price and availability parity | Whether the item is allowed to serve | Gets you to zero, never above it |
| 2 · Structure | google_product_category, product_type, variant grouping, custom labels | Where the item is routed and how it can be bid on | Real, usually a one-time gain |
| 3 · Language | Titles, descriptors, attribute values, the vocabulary shoppers use | Whether the item matches the intent at all | Where the compounding revenue is |
Layer one is hygiene. A clean feed with the wrong vocabulary is a well-formatted product nobody can find. That is the trap. Every diagnostic tool reports on layer one, because that is the layer that produces error codes. Nothing in the Merchant Center throws a warning that says your title uses a word your buyer never types.
None of this is the merchandiser's fault. They catalogd the product correctly for the system they were handed, a PIM built to track inventory, not to answer questions. The field pointed a discipline at the layer that generates alerts, and the revenue chart stayed flat.
Where does product feed work fail most often?
The same failures show up in nearly every catalog audit, and they cluster in the language and structure layers rather than syntax. Ordered by how often we find them, most frequent first.
The feed failures we find most often, ordered by frequency, with the surface each one hurts most.
| # | Failure mode | What it costs | Hurts most |
|---|---|---|---|
| 1 | Title in internal style: SKU codes, house color names, brand first | Never enters the set for descriptive queries | Shopping, onsite |
| 2 | Filterable attributes empty (material, pattern, size_system, age_group) | Filtered out of every refined search | Shopping, onsite |
| 3 | google_product_category auto-assigned to a top-level bucket | Benchmarked against the wrong products, so the bid is wrong too | Shopping, PMax |
| 4 | product_type left as a two-level internal path | No taxonomy for bidding to act on | PMax, Advantage+ |
| 5 | Description opens with care instructions and legal copy | The useful sentence sits below where machines read | Shopping, AI assistants |
| 6 | product_highlight and product_detail entirely empty | The richest fields in the spec ship blank | AI assistants |
| 7 | Variants ungrouped: no item_group_id | The product competes against itself | Shopping, Advantage+ |
| 8 | custom_label_0 to 4 undifferentiated | Bidding cannot act on margin, velocity or season | PMax, Advantage+ |
| 9 | Feed refreshed on schedule, language never re-scored | New SKUs undo the last pass | All four |
Number nine is the one that turns a successful project into a flat year, and it is why continuity belongs in the buying criteria rather than the feature list.
What does a rewritten product record actually look like?
Here is one anonymized record from a mid-market apparel catalog, before and after the language layer was rewritten, field by field. Nothing about the product changed. Only the words it uses.
One product record, before and after the language rewrite. Same product, same price, same image.
| Field | Before (as it left the PIM) | After (rewritten against shopper vocabulary) |
|---|---|---|
| title | AVERY DRESS 2208-BLK-M | Avery Unlined Linen Midi Dress, Black, Square Neck, Sleeveless |
| description (first line) | Avery Dress. Style 2208. Machine wash cold. Imported. | An unlined black linen midi dress with a square neck and no sleeves, cut straight through the waist and true to size. |
| google_product_category | Apparel & Accessories | Apparel & Accessories > Clothing > Dresses |
| product_type | Women > Dresses | Women > Dresses > Midi Dresses > Linen > Sleeveless |
| color | BLK | Black |
| material | (empty) | Linen |
| pattern | (empty) | Solid |
| size / size_system / size_type | M / (empty) / (empty) | M / US / regular |
| age_group / gender | (empty) / (empty) | adult / female |
| product_highlight | (empty) | Unlined, so it wears cool in heat · Falls mid-calf on 5'6" · Runs true to size |
| product_detail | (empty) | Fit: relaxed through waist · Lining: unlined · Neckline: square |
| item_group_id | (empty) | AVERY-LINEN-MIDI |
| custom_label_0 | SS26 | margin_high |
Read the "before" column the way a machine reads it. Not one word in it is a word a shopper types. "Unlined" is missing, and no standard Merchant Center attribute holds it, which is why it has to travel in the title, description, product_highlight and product_detail, fields that Google's product data specification defines and most catalogs ship empty. The title attribute accepts 150 characters. This one used 22 of them, ten of which are a SKU fragment.
The rewrite invented nothing. Every added word is a checkable property that already existed somewhere (the spec sheet, the sample notes, the returns data) and had simply never reached the record. That is the product data enrichment job, and the feed is where it gets delivered.
How do you optimize a product feed? The eight changes, in order
Run them in this order. Steps 1 and 2 gate everything downstream, steps 3 to 7 are the language layer where the revenue is, and step 8 lets media buying act on the work.
The eight changes, the order to run them in, and the surface each one moves.
| Step | The change | Surface it moves |
|---|---|---|
| 1 | Clear all disapprovals and price/availability mismatches | All four (eligibility gate) |
| 2 | Set google_product_category correctly and build a deep product_type path | Shopping, PMax |
| 3 | Fill every filterable attribute: color, size, size_system, material, pattern, age_group, gender | Shopping, onsite |
| 4 | Rebuild titles against shopper vocabulary, most-searched descriptor first | Shopping, PMax, onsite |
| 5 | Rewrite the opening of the description to answer the shopper's question | Shopping, AI assistants |
| 6 | Populate product_highlight and product_detail | Shopping, AI assistants |
| 7 | Carry the vocabulary no standard field holds: fit, occasion, feel, use case | AI assistants, onsite |
| 8 | Group variants with item_group_id; segment custom_label_0 to 4 by catalog economics | PMax, Advantage+ |
A few of these get misread. Step 2 is a taxonomy decision, not a dropdown: google_product_category sets the competitive set you are benchmarked inside, and a top-level assignment drops a linen midi dress into the same pool as socks (product taxonomy has the argument). Step 4 is where good intentions do the damage, because a title optimized for brand consistency and a title optimized for retrieval are different objects, and only one of them is scored by a machine. Step 7 has no error code attached to it, and it is exactly what the six May 2026 conversational attributes were built to receive. The field-level reference for steps 3 to 7 is product attributes.
How is Google Shopping feed optimization different?
Google Shopping feed optimization is the same language job resolved against one surface's specific rules, and those rules are documented, so this is the surface where the work is most checkable. When a rival outranks you on an identical product at a comparable bid, the difference is rarely the bid. It is the title string and the eleven fields behind it.
Everything in this section applies to Standard Shopping and Performance Max alike, and the UK spelling google shopping feed optimisation refers to the same work.
How does Google read a Shopping feed, and in what order?
Merchant Center resolves a series of questions about your product, and each one can eliminate the item before the next is asked. Bid is not among the early ones.
: Ingestion and validation. Items with missing or malformed required attributes are disapproved, and a disapproved item enters no auction at any bid.
: Identity resolution. gtin, mpn, brand and identifier_exists resolve your offer against Google's catalog; item_group_id collapses twelve colorways into one product with twelve options.
(Classification. google_product_category places the item in Google's taxonomy) one value, numeric ID or full path, assigned by Google if left blank. product_type is your own taxonomy, read as a merchant signal.
: Query matching. title is what a query is matched against first, with product_type and google_product_category read alongside it. description, color, size, material, pattern, product_highlight and product_detail refine that match rather than establish it.
: Auction and ranking. Bid, landing-page experience, price competitiveness, data freshness.
: Segmentation. custom_label_0 through custom_label_4, read by your campaign structure and nothing else.
Ingestion, validation and eligibility all resolve before a bid is looked at.
What is the correct title format for Google Shopping?
Google publishes a recommended attribute order per category, and it is not the order most catalogs use. Front-load what a shopper types: the shopping unit truncates long titles, so the identifying words have to come first. The matcher reads the whole string either way.
: Apparel and accessories: Brand + Gender + Product Type + Attributes (color, size, material)
: Consumables: Brand + Product Type + Attributes (weight, count)
: Hard goods and electronics: Brand + Attribute + Product Type + Model number
: Books: Title + Type + Format (hardcover, paperback, ebook) + Author
: Seasonal and occasion: Occasion + Product Type + Attributes
The hard behaviors: title accepts 150 characters; ALL CAPS is a policy violation; promotional text ("Free Shipping", "Sale") is disallowed; phone numbers, URLs and filler like "high quality" burn the characters that render.
From an apparel catalog, anonymized:
: Before: W-TOP-LIN-2450 Midnight Oasis
: After: \[Brand\] Women's Linen Wrap Blouse - Navy Short Sleeve - Workwear - Size 8
"Midnight Oasis" is a real color name from a real PIM. No shopper has ever typed it, and nothing in the Merchant Center tells you so.
Which twelve feed attributes decide whether you are eligible at all?
Twelve fields decide whether Google can validate, identify, classify and match your product. The rest of the specification keeps you compliant; these decide whether you enter the auction at all.
Every field below, with what Google does with it and the mistake that most often costs impressions; the accepted values and character limits for each are set out in Google's product data specification (https://support.google.com/merchants/answer/7052112).
| Attribute | What Google does with it | The mistake that costs impressions |
|---|---|---|
| title | Matched against first; accepts 150 characters, and the unit truncates the long ones | SKU codes and invented color names at the front |
| description | Refines the match; read closely by AI surfaces | Brand copy with no attributes |
| google_product_category | Places the item in Google's taxonomy | Left blank, so Google guesses |
| product_type | Merchant classification; segments PMax listing groups | Mirrors the buying team, not the shopper |
| brand | Identity; required except books, films, music | "Generic" on branded stock |
| gtin | Matches your offer to Google's catalog, check digit and all | One parent GTIN across every variant |
| mpn + identifier_exists | Identity where no GTIN exists | identifier_exists: no as a shortcut |
| item_group_id | Groups variants into one product with options | Unique per variant, fragmenting the group |
| color, size, material, pattern | Variant definition and attribute matching | Internal color names, no color family |
| product_highlight | Feeds the detail panel; read by AI surfaces | Restating the title instead of adding facts |
| product_detail | Structured specs a machine can parse | Specs buried as prose in the description |
| custom_label_0 to custom_label_4 | Campaign segmentation and bidding only | Believing they influence matching |
Two rows repay a second read. Custom labels are treated as a lever the matcher never sees. product_highlight is the field most often skipped, and one of the few places to state a benefit in shopper language.
What did Google add to the Merchant Center in 2026?
Google added the fields in two waves, and the second one is the one that lands in your feed.
On 11 January 2026 Google announced the Universal Commerce Protocol with more than twenty backers, the Business Agent (a brand-voice sales associate inside Search), and Direct Offers in AI Mode. That wave was protocol and placement.
At Google Marketing Live on 20 May 2026 Google shipped the product-data half: six conversational attributes in Merchant Center, rolling out globally, alongside AI Performance Insights reporting. The six fields are:
| Field | What it carries |
|---|---|
| question_and_answer | The questions shoppers actually ask, answered in their phrasing |
| document_link | Manuals, size guides, spec sheets, care documents |
| related_product | What this item pairs with, fits, or replaces |
| item_group_title | A clean name for the variant family |
| variant_option | The option values within that family |
| popularity_rank | Relative popularity within your own catalog |
Three things about these fields are worth stating plainly, because most coverage skips them. They are optional. They do not affect product approval, so testing them carries no risk to your existing listings. And they are still unfilled in most catalogs, which is precisely why they are worth filling now.
They are submitted through a supplemental feed or the Merchant API, alongside your main feed rather than inside it.
Note what Google shipped and what it did not. It built the protocol, the agent, the fields and the reporting. It did not supply the sentences that go inside them.
Does feed quality matter more in Performance Max or Standard Shopping?
It matters in both, but in Performance Max the feed is the targeting. There are no campaign keywords to compensate, so title, product_type and the attribute fields do a keyword list's old job.
Listing groups segment on google_product_category, product_type, brand, condition, item ID and custom labels, which makes product_type load-bearing twice: for matching, and for how you slice budget. Search-term visibility is limited, so a weak title fails quietly.
Keep a small Standard Shopping campaign as a diagnostic even when Performance Max carries the budget. It still returns search terms, and search terms tell you what vocabulary Google matches your catalog against.
Which disapproval traps quietly cost impressions?
Most lost Shopping impressions are not a suspended account. They are item-level disapprovals sitting in the Products diagnostics tab, unopened since the last feed migration.
- Price, currency or tax mismatch between feed and landing page at crawl time, including prices that only appear after a cookie banner or region selector.
- Availability mismatch, usually a stale feed against live inventory.
- Invalid, duplicated or check-digit-failing gtin values, most often after a supplier import.
- Promotional overlays, watermarks or borders in image_link, disallowed however good the image.
- Missing or contradictory returns and shipping policy pages, read on the site, not in the feed.
Left alone, these escalate to an account-level notice. If you are already there, work our misrepresentation checklist first, and appeal only once the remediation is complete rather than while it is still in progress.
What does "optimized" mean on each surface?
There is no single definition. Each surface rewards a different property of the same record, which is why one rewrite can move four channels while a surface-specific tool can only ever move one.
Google Shopping and Performance Max
Optimized means the title and attributes overlap with the query at the token level, and the category is precise enough that the auction benchmarks you against the right products. Title construction order and what PMax does with product_type are in the Google Shopping section above.
Meta Advantage+
Optimized means the catalog carries enough descriptive breadth to build a usable interest signal, and the variant structure does not fragment it. Meta is not matching a typed query, so the value sits in descriptor richness and clean grouping rather than exact-match tokens.
Onsite search
Optimized means the attribute values match the words in your own search box. Zero-result queries are the cheapest vocabulary research available and almost nobody mines them: a literal list of the words your catalog cannot answer.
AI assistants and AI Mode
Optimized means the record can satisfy a constrained request, a specific fabric or fit or occasion, under a price. Assistants read the product structured data on the page as well as the feed. A December 2025 Semrush survey of 1,030 US shoppers who had tried AI tools found that 22% had bought a product directly inside an AI tool, and 50% had made a purchase after researching in one. People discover in the assistant and often buy on the site, which means the record has to earn the recommendation before the click exists.
How do you prove product feed optimization actually worked?
You prove it with a control, and three designs survive scrutiny: a matched-spend A/B test, a geo or audience holdout, and difference-in-differences against a comparable untouched segment. Platform-reported lift is not one of them, because every channel counts shoppers who are already coming and the totals end up larger than the orders you shipped.
Here is the anatomy of the number at the top of this page. A catalog was split into a treatment group and an untouched control. Spend was held constant across both, which is what makes the result legible to a finance team, because it removes the obvious alternative explanation. The only variable changed was the product-language record: titles, attributes, descriptors, taxonomy. The window was 28 days, long enough to clear purchase-cycle noise and short enough that catalog churn did not contaminate the groups. In a matched-spend A/B test with a 28-day holdout, the rewritten product-language input produced a 28% increase in Google Shopping revenue against the untouched control.
The same design has been run on the other surfaces. On Meta Advantage+, a holdout test cross-validated with Meta's own Conversion Lift measured a 21.4% improvement in ROAS. On owned search, a statistically significant A/B test measured a 28.3% increase in onsite revenue. These sit inside a body of more than 1,000 controlled tests run before the benchmark was published, which is the only reason they are quotable.
Here is what they do not prove. They are not a forecast for your catalog, they do not isolate which of the eight steps carried the gain, and they say nothing about categories with thin descriptive vocabulary. A result you cannot interrogate is a slide, not a proof.
Why does feed optimization decay?
Because a catalog is a population that turns over, not a project you finish once. Every week new SKUs arrive carrying the same PIM defaults, the last pass cleaned up, seasonal drops land with empty attributes, suppliers change their descriptors, and the surfaces change what they ask for.
That last one is not hypothetical. Merchant Center gained six conversational attributes in May 2026, so a catalog optimized in April was, by definition, blank in fields that did not exist when the work was done. Shopper vocabulary moves too, and it does not send a release note.
So the honest way to think about a feed project is half-life. Ship the rewrite, and the share of your catalog carrying optimized language starts falling the next day, at roughly the rate the catalog turns over. A brand refreshing a third of its assortment a season watches the old vocabulary creep back with every new SKU that lands, with a clean error report the whole way down. That makes continuous work a requirement of the arithmetic, not a line item someone invented to bill you twice.
Would it survive a finance review?
That is the compression of the whole evaluation, and it is four questions long. Take them to any vendor, including this one.
: Does it fix the input, or the layer above it? Bid management, budget pacing and creative all operate downstream of the product-language record. A tool that cannot change what the product says about itself is redistributing a fixed input.
: Does it run continuously, or is it a project? Ask what happens to the 4,000 SKUs landing next quarter. A one-time rewrite is a depreciating asset with no line item for the depreciation.
: Does it cover the surfaces that pay this quarter? Paid Shopping, PMax and Advantage+ move revenue now. The assistant surfaces are real and growing, and they are not yet the P&L. A roadmap that serves only the interesting surface is a 2028 budget wearing 2026 clothes.
: Can it prove lift against a control? Not attribution. Not a dashboard grading its own homework. A holdout, a named window, and a number that stays the same size when a CFO asks how it was measured.
Start with the first question. Every other question in feed optimization sits downstream of whether anyone is fixing the words the product uses to describe itself, and every answer is worth exactly what its method can survive.
Next: the field-level reference in product attributes, and the proof design in does feed optimization increase sales.
Frequently asked questions
What is product feed optimization?
Product feed optimization is the work of improving the product-language record (titles, attributes, descriptions and taxonomy) that Google Shopping, Meta Advantage+, onsite search and AI assistants read before deciding whether to show a product. Most work published under that name fixes formatting errors, while the revenue sits in the vocabulary layer, because feeds are scored against how shoppers describe products rather than how a catalog was built.
How long does feed optimization take to show up in revenue?
Syntax fixes clear disapproval within a crawl cycle, but language changes need a window long enough to clear normal purchase-cycle noise, which is why 28 days is a common floor. Anything reported inside a few days is measuring volatility rather than lift.
What is the correct title format for Google Shopping feed optimization?
Google publishes a recommended attribute order per category, and for apparel it is brand, then gender, then product type, then attributes such as color, size and material. The field accepts 150 characters and the shopping unit truncates long titles, so the identifying words a shopper would type have to sit at the front of the string.
Which field in a product feed matters most?
The title carries the most weight on query-matched surfaces because it is scored first against what a shopper typed, and it is also the field most often written in internal style. The highest-value pass is the title plus the filterable attributes (material, pattern, size_system, age_group) that decide whether a product survives a refined search.
Does feed optimization work on Meta Advantage+ as well as Google Shopping?
Yes, though the mechanism differs: Google matches typed queries to titles and attributes, while Meta uses descriptive breadth and clean variant structure to build its targeting signal. On Meta Advantage+, a holdout test cross-validated with Meta's own Conversion Lift measured a 21.4% improvement in ROAS.
Are the 2026 Merchant Center conversational attributes required?
No, they are optional and products without them still serve normally in Shopping. They are the six fields Google introduced at Marketing Live on 20 May 2026, and they are what AI Mode, Gemini and the Business Agent read when a shopper asks a question rather than types a keyword.
How do I prove that feed optimization caused the lift?
Use a control: hold spend constant, change only the product-language record for the treatment group, and compare against an untouched holdout over a named window. Platform-reported lift will not settle it, because each channel counts shoppers who were already arriving and the combined totals exceed the orders actually shipped.
Do I need to redo feed optimization after the first pass?
Yes, because a catalog is a population rather than a project: new SKUs arrive with the original defaults, seasonal assortments land with empty attributes, and platforms add fields that did not exist last time. Merchant Center gained six conversational attributes in May 2026, which left every previously optimized catalog blank in those fields overnight.
Does feed optimization increase sales

See Lily in action
Book a personalized demo and see how Lily can grow your retail revenue.
Related Blogs
Agentic commerce: what it is, what changed in 2026, and what a brand actually has to do
Agentic commerce is AI agents buying on a shopper's behalf. What changed in 2026, what an agent reads from your catalog, and what to fix before Q4.
By Lily AI
Does feed optimization increase sales? The anatomy of a controlled test
Does feed optimization increase sales? Yes, against a control. Get the full test design: matched spend, 28-day holdout, difference-in-differences.
By Lily AI
How AI Shopping Assistants Actually Pick Which Products to Recommend
AI shopping assistants retrieve before they rank. See what each surface reads from your product record, and which missing attributes disqualify you.
By Lily AI