Google Shopping feed optimization: the complete guide for 2026
How to optimize a Google Shopping feed that converts: title rewrites, custom labels, item-group IDs, GMC compliance, server-side tracking. From 200+ live ecom accounts.

- 12,000+PMax campaigns audited
- 200+Live ecom clients
- €200M+Tracked sales
The feed is the most underworked lever in ecommerce Google Ads.
Most operators treat it as a one-time setup. Upload the Shopify export, run Performance Max, wait for results. When ROAS is soft, they raise bids. The feed sits untouched.
The feed is not a setup task. It is an ongoing competitive advantage. And in 2026, on Performance Max - where the feed is the primary signal the algorithm uses to decide who sees your ads - it is the lever that moves accounts more than anything else.
Here is the complete guide to optimizing a Google Shopping feed. Every step comes from real accounts. No theory.
SKU titles rewritten
80+
ROAS lift from titles alone
+15-25%
GMC compliance rate post-fix
80%+
Accounts with item-group IDs missing
65%
Why the feed matters more than bids in 2026
Performance Max bids on the match between your product feed and incoming queries. The match is driven by:
- Product title (carries ~70% of the signal)
- Product description (carries ~20%)
- Product type and category (fills in the rest)
If your titles match to the wrong queries, Smart Bidding spends budget on the wrong shoppers. It reads the low conversion rate as "these products do not convert" and reduces impressions. Your account looks like it has a bid problem. It has a feed problem.
Every bid optimisation you make on a broken feed is optimising for the wrong traffic. Fix the feed first.
Step 1: Audit your search-term report before touching the feed
Before you rewrite a single title, pull 90 days of search terms from Google Ads.
Export everything - Shopping campaigns, Performance Max campaigns, all of it. Then cluster the queries into four groups:
High-intent match - queries where the searcher clearly wants what you sell. These are the queries you want more of. Your titles should be written to match these better.
Generic browse - queries like "gold necklace" or "blue dress" where the searcher is browsing, not buying. Low conversion rate. Some are fine if your prices are competitive. Most are wasted spend.
Wrong-intent match - this is the key cluster. Queries where the match happened because your title was ambiguous. A solid gold necklace matching to "gold-plated necklace" searches. A premium sofa matching to "cheap sofa" queries. These are the ones costing you the most.
Junk - completely irrelevant queries that crept in. Add as negatives, then fix the feed so they cannot creep back.
The wrong-intent cluster is your rewrite brief. Every query in that cluster tells you what word or phrase in your current titles is creating the wrong match.
Step 2: Rewrite the top 80 SKU titles
Titles are the highest-leverage change in the feed. Six hours of focused writing typically lifts ROAS 15-25% with no other changes.
The rewrite formula:
[Material/Spec] + [Product Type] + [Brand], [Dimension], [Additional Spec], [Audience]
Before: "Madeleine - Solid Gold Necklace - 14k" After: "14k Solid Gold Necklace, Madeleine, 18 inch, 4.2g, Womens"
Before: "Blue Linen Shirt - Summer" After: "Mens Linen Shirt, Blue, S-XXL, Regular Fit, Breathable, Summer"
Before: "Oak Dining Table 6 Seater" After: "Solid Oak Dining Table, 6 Seater, 180x90cm, Unfinished/Oiled/Painted"
The specs do two things simultaneously. First, they kill match to wrong-intent queries by making the product description unambiguous. Second, they create match to high-converting long-tail searches that your current titles cannot reach.
Do not write titles based on what sounds good in marketing copy. Write them based on what the high-intent cluster in your search-term report actually searched for.
Step 3: Add item-group IDs for variant products
Missing item-group IDs are the single most common feed-related disapproval we see in GMC. We see it on 65% of accounts at onboarding.
Here is what happens without item-group IDs. You sell a ring available in sizes 4-12. The feed submits 9 separate entries - one per size. GMC reads them as 9 competing products. It notices the price is slightly different between some sizes (shipping threshold, rounding). It flags a pricing inconsistency. Your products disappear from Shopping.
The fix is adding the item_group_id attribute to every variant. All sizes of the same ring get the same item_group_id. GMC now understands they are the same product in different sizes. The pricing logic makes sense. The products stay live.
For Shopify, this attribute maps to the product ID (not variant ID). Your feed management tool should handle the mapping automatically. If you are using a manual CSV feed, you need to add a column for item_group_id with the parent product ID in every variant row.
Check GMC's Diagnostics tab right now. Any "Conflicting product values" or "Variant pricing inconsistency" errors are this problem. Fix item-group IDs first.
Step 4: Deploy custom labels for margin and velocity
Custom labels are how you tell Performance Max to bid by actual margin instead of blended average.
Three labels cover 80% of the value across every vertical:
margin_band - pull the cost-of-goods data from your back end. High (over 55% margin), mid (35-55%), low (under 35%). This label is the bridge between your finance data and Smart Bidding's targeting decisions.
velocity_30d - units sold in the last 30 days vs your catalogue average. Hot (top quartile), mid, slow, dead (zero units). Re-label monthly. Products going hot get promoted to Tier A. Products going dead get demoted to Tier C or paused.
Vertical-specific - one label that solves a structural problem unique to your niche:
- Jewelry:
metal_type(solid_14k, solid_18k, plated, silver) - prevents bidding on plated audiences for solid gold products - Fashion:
season(spring25, summer25) - lets you suppress off-season stock in PMax - Furniture:
aov_band(under_500, 500_to_1000, over_1000) - keeps Smart Bidding from averaging across very different price points - Home decor:
room(living, bedroom, kitchen, outdoor) - enables seasonal budget allocation
Feed these labels into Performance Max listing-group rules. You now have ROAS floors by margin tier, not blended averages. The accounts we run this on typically see 15-30% margin improvement on the same spend.
| Before (no labels) | After (3 custom labels) | |
|---|---|---|
| Solid 14k products | All in one PMax | Tier A, metal_type=solid_14k |
| Gold-plated products | All in one PMax | Tier C, metal_type=plated |
| Bid logic | Blended ROAS | Margin-tier ROAS floors |
| Result | Smart Bidding averages margin | Smart Bidding optimises by tier |
Step 5: Fix image quality and format
GMC image requirements are non-negotiable and they are enforced silently.
Products do not always throw an explicit disapproval when the image fails quality checks. Sometimes they just stop serving. You see impression share drop without a clear error in Diagnostics.
The requirements:
- Minimum 800x800px for non-apparel (1000x1000px recommended for Shopping thumbnails)
- Minimum 250x250px for apparel
- No promotional text overlays, no watermarks
- No placeholder or stock images for the primary image
- White or neutral background for product-only shots (lifestyle images are fine as additional images)
- Real product, not a rendering or sketch - for most categories
For jewelry and fashion, lifestyle images as the primary image are allowed and often perform better than product-on-white. Test both.
Step 6: Verify GMC compliance
Three compliance issues kill accounts silently. Check all three before you do anything else:
Return policy: must be configured in GMC Business settings, AND the store's return policy page must match it. If GMC says "30 days free returns" and your Shopify policy page says "14 days returns at buyer cost," GMC flags the mismatch.
Shipping settings: delivery time estimates in GMC must be accurate. If you show 3-5 days in GMC and your carrier takes 7-10 days, customer experience data will eventually trigger a policy violation.
Contact transparency: GMC requires a visible business email and phone number on the website. Not buried in the footer, actually findable. Missing this is one of the most common account-level warnings we fix at onboarding.
The full GMC disapproval playbook covers every disapproval type, the root cause, and the exact fix - including the variant pricing collisions, shipping policy mismatches, return policy triggers, and image quality failures that account for 80% of what we fix at onboarding.
Step 7: Validate server-side tracking against the feed
Server-side tracking and feed optimization compound each other.
If your tracking is broken, Smart Bidding cannot learn which products in the feed convert. It will treat all products as equivalent and bid blended averages - the same problem you created in the structure.
The validation: compare your top 50 SKUs in the feed (by impression share) against purchase conversion data in Google Ads. Filter to the last 90 days. Every SKU with 1,000+ impressions should have at least one conversion. If a SKU has 5,000 impressions and zero conversions in 90 days, either the product does not convert OR the tracking is not firing for it.
Fix the tracking gaps first. Then the feed changes compound properly.
The full scaling guide covers the server-side tracking install and validation process in detail.
Step 8: Maintain the feed - it is not a one-time task
Feed optimization decays.
New products get added with marketing-copy titles. Seasonal SKUs change inventory status but stay active in the feed. Custom labels drift as velocity changes. The vertical-specific label values stop reflecting reality.
The accounts that sustain ROAS lift from feed work run a feed review cadence:
Monthly: update velocity_30d labels based on last 30 days of units sold. Promote hot products to Tier A. Demote dead SKUs.
Quarterly: pull a fresh search-term report. Find new wrong-intent matches from titles added in the last quarter. Rewrite. Update margin_band for any products with cost changes.
On product launches: new products go through the full title-rewrite process before they hit the live feed. No marketing-copy titles in production.
The operators who treat feed maintenance as ongoing work consistently outperform the operators who do the initial rewrite and move on.
What feed optimization actually changes on the account
The operators who see the biggest lifts from feed work are the ones who came in with the most feed damage. One big PMax with no custom labels, brand-first titles that match to wrong intent, no item-group IDs, silent GMC compliance issues.
When you fix all eight steps on an account in that state, the improvement is significant. We have seen ROAS lift 20-40% from feed work alone, before any bid changes.
The operators who see smaller lifts had already done some of the work. That is fine. The incremental gain from each step is real regardless of starting state.
The free Google Ads eCom Lab community has 740+ ecom operators running this feed playbook on their own accounts. Questions get answered by operators who have run it 50 times, not account managers who read about it once.
If you want us to run the full feed audit and restructure for your account, drop the store URL and we will pull GMC live. Feed issues are usually obvious in the first 5 minutes of a real audit. We tell you what is broken and how long the fix takes before we propose anything.
The feed is the lever that most operators touch last. It should be the one they touch first.