The Google Shopping Feed Fixes That Move Revenue
Search “google shopping feed optimization” and you get the same page nine times: fill in your GTINs, write better titles, use high‑resolution images, keep price and availability accurate. All of it is true. None of it tells you which of your 3,000 products to open first, and not one of those pages tells you how you are supposed to know afterwards whether the work did anything.
Those two omissions are the whole job. An attribute checklist assumes a feed is incomplete. Most of the feeds I inherit are not incomplete — they are complete and undifferentiated, generated by the Shopify Google & YouTube app from catalog data written for a product page, not for an auction. Every row is filled in. The rows that matter are filled in badly, and nobody can tell which rows those are.
This is how I work through a feed for a store spending somewhere between $5,000 and $100,000 a month. It is worth doing now rather than in November: a feed change has to be fetched, reviewed and then earn enough data for you to read it, and Black Friday 2026 falls on 27 November.
On this page
- A feed is a budget, not a checklist
- Find the products that are already spending money
- How much do product titles matter in Google Shopping?
- The attributes that decide whether you compete at all
- Custom labels are how the feed becomes reportable
- Disapprovals are a revenue leak, not an admin task
- How to tell whether any of it worked
- What to do first
A feed is a budget, not a checklist
Your feed does not spend money evenly. A small number of products take most of the budget, a long tail takes almost none, and a middle group gets impressions without clicks. Those three groups need different work, and the checklist treats them identically.
This is why “optimize the feed” produces so little for so much effort. The question is never “is this attribute filled in?” It is “which products would a better attribute change the outcome for?”
Before you change a single row, pull a product‑level report and save it somewhere. You cannot demonstrate that a feed change worked if you have no record of what the feed was doing beforehand, and Google Ads will not keep the comparison for you in a form you can read six weeks later.
Find the products that are already spending money
In Google Ads, open the Shopping reports and segment by item ID. Sort by cost, descending, over the last 90 days. That list, not your catalog, is your work queue.
Read down it and sort each product into one of four piles:
- Spends, converts. Leave the title alone. You are matching queries that buy. The work here is defensive: keep price and availability accurate so the listing never drops out.
- Spends, does not convert. The most expensive pile and the one to open first. Either the product is matching the wrong queries, which is a title and product type problem, or it is matching the right ones and losing on price or on the landing page.
- Impressions, no clicks. You are showing up and being passed over. That is the image, the price against the listings either side of yours, or a title that does not confirm to the shopper that this is the thing they searched for.
- No impressions at all. Check it is actually approved and in stock before concluding anything else. Most silent products are not badly optimized, they are disapproved, excluded by a campaign filter, or out of stock.
Merchant Center helps with two of these. The best sellers report shows what is selling in your categories across Google, which tells you whether a product of yours is underperforming or whether nobody is buying that thing at all. The price competitiveness reporting shows where your price sits against other listings for the same product, which is usually the honest answer to the impressions‑no‑clicks pile.
How much do product titles matter in Google Shopping?
Everything else in the feed is about eligibility and trust. The title is the field that decides which searches you enter in the first place, which makes it the only field where a rewrite can change your traffic rather than your compliance.
Catalog titles are written for someone already on your site, who has the photograph, the collection page and the navigation for context. A Shopping result has none of that. The shopper sees a picture, a price and a line of text that is cut off sooner than you think. So front‑load. Put the words someone would actually type at the start, in the order they would type them, and push the catalog noise to the end where truncation can eat it harmlessly. For most stores that means brand, then what the thing is, then the attribute people specify when they search — size, color, capacity, material, fitment, pack quantity.
| Catalog title | What it is missing | Feed title |
|---|---|---|
| Aurora — Midnight | No product noun. Nothing here can match a non‑brand search. | Aurora Midnight Blackout Curtains 66 x 90 Navy |
| Stainless Steel Cleaner | No brand, no size, no format. Matches broadly and converts badly. | Brightwell Stainless Steel Cleaner Spray 16 oz |
| Mens Trail Runner v4 | Missing the attributes people put in the query. | Trail Runner v4 Men’s Running Shoe Wide Fit UK 10 |
Write the replacement title, then read the search terms you were already getting for that product. If the words in your new title do not appear anywhere in the queries you are currently winning, you have written a title for the catalog again.
Two things worth knowing before you start. You do not have to touch the store to do this — a supplemental feed can override titles for a subset of products, which means you can test forty of them without a developer and without changing what customers see on the product page. And a title rewrite is a real change to what you match, so expect the search terms to move before the revenue does.
The attributes that decide whether you compete at all
These are the fields that determine whether Google can work out what you are selling and put you in the right comparison. Getting them right rarely feels like progress, which is why they stay wrong for years.
- GTIN, brand and MPN. If a product has a manufacturer‑assigned identifier and you are not sending it, you are asking Google to guess what you sell. Identifiers are also how you end up in the comparison listings for that exact product.
- google_product_category and product_type. The first is Google’s taxonomy and affects how you are categorized; the second is yours and is the cleanest thing to build campaign structure on. Set both, deliberately, rather than letting the app infer them.
- item_group_id. Variants that are not grouped compete with each other and fragment their own performance data. This is the most common structural fault I find in a Shopify‑generated feed.
- Price and availability. A mismatch between the feed and the live page is not a warning, it is a listing that stops serving. This is the one to check before a sale goes live, not after.
- Images. The Shopping grid is a picture with some text under it. If your product is small in the frame, or shot on a background that vanishes against the white grid, you lose the click before the title gets read.
Custom labels are how the feed becomes reportable
Custom labels do nothing for matching. They exist so you can segment, and segmentation is what turns a feed from a thing you maintain into a thing you can make decisions about.
The one that pays for itself is margin. Shopping bidding optimizes toward revenue, and revenue is not profit — without a margin label, your best‑performing products by ROAS and your best‑performing products by contribution are two different lists and you cannot see the second one. Label products into margin tiers, then look at spend by tier. If most of the budget sits in the low tier, you have found something worth more than any title rewrite.
The labels I use most often, in order of how much they change decisions:
- Margin tier. High, medium, low, calculated from your own numbers. Everything downstream depends on this one.
- Price band. So you can see whether Shopping is buying you cheap orders or valuable ones.
- Stock cover. Stops you advertising hard into something you are about to run out of, which matters far more in Q4.
- Bestseller status. Lets you split proven sellers into their own campaign and stop them subsidising the tail.
- Seasonality. So the summer range is not quietly spending in January.
Disapprovals are a revenue leak, not an admin task
Disapprovals get filed as housekeeping, somewhere below campaign work. They are not housekeeping. A disapproved product earns nothing and keeps not earning until somebody notices, and the products most likely to be disapproved are the ones with the most attributes filled in — which tends to mean the ones you care about.
Check the diagnostics on a schedule rather than on suspicion, and check them against cost rather than count. The Merchant Center issue list sorts by number of products affected, which is not the same as sorting by money, so cross‑reference it against the spend list you built earlier.
The failure mode to watch for is silence. Nothing in Merchant Center tells you that a product which used to spend $400 a week has been disapproved for two weeks. You find it by looking, or you find it in the monthly numbers.
How to tell whether any of it worked
This is the part every feed guide skips, and skipping it is why feed work has a reputation for being unmeasurable. It is measurable. It is just slower than the people asking for the results would like.
A feed change is not live when you save it. The feed has to be fetched on whatever schedule Merchant Center is set to, the changed items have to pass review, and then the campaign has to accumulate enough impressions on the new data for the comparison to mean anything. Judging a title rewrite three days later tells you about the weather, not the change.
What I look at, in this order:
| Signal | What it tells you | How soon it is readable |
|---|---|---|
| Search terms for the changed products | Whether you are matching different queries. First thing to move, and the clearest evidence the rewrite did anything. | Days |
| Impressions and clicks by item ID | Whether the new matching is bigger, smaller or just different. | Days to a week |
| Click‑through rate on those products | Whether shoppers find the listing more convincing. Image and price sit behind this as much as the title does. | About a week |
| Conversion rate and revenue per product | Whether the traffic you gained was worth having. | Weeks |
| Impression share, if you track it | Whether you were held back by eligibility or by budget. A feed fix cannot raise this past what you will pay. | Weeks |
Two disciplines make the difference between reading this and guessing at it. Change one class of thing at a time — titles this week, images next — because a feed rewrite and a bid change made on the same afternoon cannot be told apart afterwards. And keep a hold‑out: leave a comparable group of products untouched, so when the whole account moves in October you can tell the difference between your work and the season.
One honest caveat. Some of what a feed change does shows up inside Performance Max, where the reporting is thinner than it is in standard Shopping. You will often be able to see that matching changed and revenue changed without being able to prove the path between them to anyone’s complete satisfaction. That is an argument for the hold‑out group, not an argument for skipping the measurement.
What to do first
If you have one afternoon, this is the order. It is sorted by money rather than by tidiness, which is why it does not look like the checklists.
| Do this | Why it is here | Effort |
|---|---|---|
| Save a baseline report by item ID | Everything below is unreadable without it | Minutes |
| Fix disapprovals on your highest‑spending products | Zero revenue until fixed | Low |
| Group variants with item_group_id | Stops your products competing with each other | Low |
| Rewrite titles for the spends‑but‑does‑not‑convert pile | The only change that alters what you match | Medium |
| Add margin custom labels | Turns ROAS reporting into profit reporting | Medium |
| Fill in missing GTINs and brand | Eligibility and comparison matching | Medium |
| Replace images on the impressions‑no‑clicks pile | Decides the click | High |
| Rewrite the remaining titles in the tail | Real, and the least valuable thing on this list | High |
Notice what is last. Working through the whole catalog is the version of this job that feels like progress, produces a satisfying completion percentage, and moves the least money. The feed is not a form to finish. It is the list of what you are buying, and the only rows worth arguing with are the ones that are already spending.
The other half of this is what happens after the click, which is usually a Shopify build and speed problem rather than a feed one. The rest of what I write about Google Ads for ecommerce starts from the same place: fix the thing that is costing money, not the thing that is easiest to show someone.
Questions people ask
What is Google Shopping feed optimization?
How long does a feed change take to show up?
How do you optimize Google Shopping ads?
Do product titles really matter for Shopping?
Want this run properly?
I am Greg Asuncion, an ecommerce paid media consultant. I run Google Ads, Meta, Amazon and Microsoft for direct‑to‑consumer brands on Shopify — one person, published pricing, and a free audit after a call. Here is how I run Google Ads and Shopping for ecommerce brands.
