Google Shopping Feed Optimization: What to Fix First

Most Google Shopping feed optimization advice is a list of tips with no order to it. That is the problem. Some attributes decide whether a product is allowed to serve at all, and others only nudge how well it performs once it already does. Fixing them in the wrong order burns weeks.
This guide puts the work in sequence and gives you the actual limits, taken from Google's own product data specification rather than from other people's summaries of it.
Quick Summary
Google Shopping feed optimization is the work of correcting and enriching the product data you send to Merchant Center so more of your catalog is eligible to serve and the eligible products match more of the right queries. Fix anything that blocks serving first, then fix the attributes that affect matching, then segment for bidding.
- Blockers before improvements. A disapproved product cannot be optimised. Clear disapprovals and missing required attributes before touching titles.
- Titles accept 150 characters but get truncated in the ad, so the identifying detail belongs in the first few words.
- Only the first product_type value is used to organize bidding and reporting in Shopping campaigns, which makes the order of that string a real decision.
- Custom labels cap at 1,000 unique values per label across the account, so labelling by SKU does not scale.
- Images must be at least 500 by 500 pixels, with Google's stated enforcement beginning 31 January 2027.
- Supplemental sources cannot add products. They only update attributes on products a primary source already contains.
The fix order at a glance, with the question each stage answers.
| Stage | What you are fixing | Question it answers | Typical effort |
|---|---|---|---|
| 1. Eligibility | Disapprovals, missing required attributes, landing page mismatches | Can this product serve at all? | Days |
| 2. Identity | gtin, mpn, brand, identifier_exists, item_group_id | Does Google know what this product is? | Days to weeks |
| 3. Matching | title, description, product_type, google_product_category | Which queries can it match? | Weeks, ongoing |
| 4. Control | custom_label_0 to 4, supplemental sources, attribute rules | Where should budget go? | Ongoing |
Running Shopping on a catalog that has never had a structured feed audit? See how Seller Splash handles feed and Shopping management.
What Is Google Shopping Feed Optimization?
Google Shopping feed optimization is the practice of improving the product data file that Merchant Center reads, so that more products are approved and the approved ones match more relevant searches. It is data work, not campaign work.
The distinction matters because the two get confused constantly. Campaign work decides how much you bid and where. Feed work decides what you are allowed to bid on in the first place. You can run a flawless campaign structure over a broken feed and still lose, because the auction never sees half your catalog.
A feed is simply a structured list of your products with named attributes against each one. Google reads those attributes, decides whether the product meets policy, then decides which queries the product is a plausible answer to. Every part of that chain runs on the data you submitted.
What feed optimization is not
- It is not bidding. Bid strategy sits in Google Ads. Feed work happens upstream of it, in Merchant Center.
- It is not keyword targeting. Shopping has no keyword list. Your feed is the targeting layer.
- It is not a one-time project. Prices, stock and catalogs change, so the feed drifts out of accuracy on its own.
Why Does Feed Quality Decide Shopping Performance?
Shopping campaigns have no keywords. In a Search campaign you tell Google which queries to compete for. In Shopping you do not, and Google infers eligibility from your product data instead. That single structural difference is why the feed carries so much weight.
The effect compounds under automation. Performance Max removes most of the manual controls that let you compensate for weak data, which leaves attribute quality as one of the few remaining levers. The less you can steer in the campaign, the more the feed has to carry.
There is a second reason that gets less attention. Feed data also powers free product listings across Google surfaces, so the same corrections that improve paid eligibility improve unpaid visibility at the same time. The work is paid for twice.
What Are the Google Shopping Feed Attribute Limits?
These are the limits that decide whether a value is accepted, and most feed guides either skip them or quote outdated numbers. Every figure below comes from Google's product data specification.
| Attribute | Limit | Required? | What trips people up |
|---|---|---|---|
| title | 150 characters | Required | The limit is for submission. Ads truncate far earlier. |
| description | 5,000 characters | Required | Supplier boilerplate copied across many SKUs adds no matching signal. |
| brand | 70 characters | Required for new products, with stated exceptions including movies, books and musical recordings | Values like "N/A", "Generic" or "No brand" are specifically disallowed. |
| gtin | 50 numeric characters, 14 max per value | Strongly recommended if available | Must pass GS1 validation. Dashes and spaces are ignored. |
| mpn | 70 alphanumeric characters | Required only if the product has no manufacturer assigned GTIN | Submitted alongside a GTIN when it is not needed. |
| identifier_exists | yes or no, default yes | Optional | Set to no on products that do have identifiers, which suppresses matching. |
| image_link | At least 500 by 500 pixels, enforcement stated to begin 31 January 2027 | Required | Upscaled images and thumbnails. Promotional text, watermarks and borders are not allowed. |
| additional_image_link | 2,000 characters, up to 10 values | Optional | Left empty when extra angles are available on the product page. |
| price | Numeric value plus the ISO 4217 currency code | Required | For the US and Canada, exclude taxes. Elsewhere, include VAT or GST. |
| availability | in_stock, out_of_stock, preorder, backorder | Required | Stale values that no longer match the live page. |
| product_type | 750 alphanumeric characters | Optional | Only the first value is used to organize bidding and reporting. |
| google_product_category | One category, ID recommended over full path | Optional | Submitting both the ID and the path. |
| custom_label_0 to custom_label_4 | 100 characters each, 5 labels, 1,000 unique values per label per account | Optional | The account level ceiling on unique values. |
Source: Google Merchant Center product data specification. Limits change, so re-check before a large catalog migration.
In What Order Should You Fix a Shopping Feed?
Work in the order that unlocks the most inventory soonest. A product that cannot serve has an optimisation value of zero, no matter how good its title is, so eligibility always comes before quality.
- Clear disapprovals. Open the Merchant Center diagnostics and sort by affected product count. One bad rule often explains thousands of items.
- Fill missing required attributes. Anything missing id, title, description, link, image_link, availability, price or brand is not competing.
- Reconcile feed against landing page. Price, availability and currency are checked against the live page, so the file being right is not enough.
- Repair identity attributes. gtin, mpn, brand and item_group_id decide whether Google can recognise the product as a known item.
- Rebuild titles by category. Highest return of any content work, and the one most worth doing by hand on your top sellers.
- Fix categorisation. Set google_product_category where it is clearly wrong, and make product_type deliberate rather than inherited.
- Add segmentation. Custom labels for margin, season and stock position, so bidding can act on commercial reality.
Stages one to three are remedial and usually produce a visible change in impression volume. Stages four to seven are compounding and show up over weeks, which is worth saying out loud to whoever is waiting for the numbers to move.
How Do You Write Product Titles That Match Search Queries?
Put the words a buyer would actually type at the front of the title, then add the attributes that separate this product from its variants. The title attribute accepts 150 characters, but ad formats cut it off long before that, so the front of the string is the part that does the work.
Title structure should follow the category, because what identifies a product differs by what it is. A dress is identified by brand, type, colour and size. A replacement part is identified by the model it fits.
| Category | Pattern that usually works | Why |
|---|---|---|
| Apparel | Brand + Product Type + Attribute + Colour + Size | Shoppers filter on colour and size, so both need to be in the data. |
| Replacement parts | Part Type + Compatibility + Brand + Part Number | The query is almost always about what it fits, not what it is. |
| Consumables | Brand + Product + Variant + Count or Weight | Pack size is the comparison the buyer is making. |
| Electronics | Brand + Model Number + Product Type + Key Spec | Model number carries almost all of the search intent. |
Title mistakes that cost impressions
- Internal naming conventions. A title that opens with your SKU prefix wastes the characters that matter most.
- Promotional language. "Sale", "Free Shipping" and similar belong in other attributes, not the title.
- Identical titles across variants. If five sizes share a title, Google has nothing to tell them apart with.
- Keyword stuffing. A title still has to read like a product name to a human, because a human is the one deciding whether to click.
Do You Need a GTIN for Google Shopping?
You need a GTIN when the manufacturer assigned one. Google describes the gtin attribute as strongly recommended if available and states that products with a GTIN submitted without one may have limited visibility, which is a soft way of saying your reach shrinks.
For genuinely unidentified products, such as handmade or own brand items with no manufacturer identifier, submit identifier_exists as no. The failure mode worth avoiding is the opposite one, where a merchant sets identifier_exists to no across the catalog to clear warnings quickly and quietly removes a matching signal from products that had one.
GTIN values must pass GS1 validation and allow a maximum of 14 characters per value. Dashes and spaces are ignored, so formatting differences between your ERP and your feed are usually not the cause of an invalid GTIN error. A wrong number is.
What Is the Difference Between product_type and google_product_category?
google_product_category is Google's own fixed taxonomy and takes exactly one value per product. product_type is your own category string, accepts up to 750 characters, and exists mainly so you can organise your catalog the way your business thinks about it.
The detail that changes how you build it: only the first product_type value is used to organize bidding and reporting in Shopping campaigns. If you submit several values, the ones after the first are not doing the job most people assume they are doing.
| google_product_category | product_type | |
|---|---|---|
| Who defines it | You | |
| Values allowed | One | Up to 750 characters |
| Used for bidding | Indirectly | Yes, first value only |
| Best used for | Correcting clear miscategorisation | Campaign subdivision that matches your merchandising |
Source: Google Merchant Center product data specification.
How Should You Use Custom Labels?
Custom labels are five optional fields, custom_label_0 through custom_label_4, that let you tag products with any dimension you want to bid or report on. The values are never shown to shoppers. Their only job is to give your campaigns something commercial to act on.
The constraint that decides your labelling scheme is the account level one. Google asks you to use no more than 1,000 unique values for each custom label across the Merchant Center account, and each value can run to 100 characters. That ceiling rules out per SKU labelling on any sizeable catalog, which is the scheme most people reach for first.
Labelling dimensions worth the slots
- Margin band. The single most useful label, because ROAS targets should differ by what a sale actually earns.
- Stock position. Clearance and low stock items deserve different treatment from core range.
- Seasonality. Lets you raise and lower whole groups without rebuilding campaigns.
- Price band. Useful where cheap and expensive items in the same category behave differently.
- Performance tier. Proven sellers separated from unproven stock, so budget is not spread evenly across both.
Margin labels only work if the margin data is accurate and refreshed. A label that reflects last year's cost price will send budget at products that no longer earn it, which is worse than no label at all. If you have not set target returns against margin yet, work out what a good ROAS looks like for your catalog before you build the labels.
What Are the Image Requirements for Google Shopping?
Google's specification states a minimum of 500 by 500 pixels for all product images, with enforcement stated to begin on 31 January 2027. Catalogs still serving legacy 250 pixel thumbnails have a dated deadline to work to, which is unusually concrete for a platform requirement.
Accepted formats are JPEG, WebP, PNG, non animated GIF, BMP and TIFF. The rules that catch merchants out are the content ones rather than the technical ones.
- Do not upscale. Enlarging a small image to clear the threshold is specifically disallowed.
- No promotional text, watermarks or borders. This includes discount badges burned into the image file.
- No placeholders. A coming soon graphic is not a product image.
- Use additional_image_link. Up to 10 extra images are allowed, and most catalogs submit none.
Image problems are a common cause of items being pulled, and a repeated pattern across a catalog is one of the faster routes to an account level problem. If you are already dealing with one, start with the causes behind a Merchant Center suspension.
How Do Supplemental Data Sources Actually Work?
A supplemental data source adds or updates attributes on products that already exist in a primary source. It is the clean way to layer custom labels, better titles or corrected categories over a platform generated feed you cannot edit directly.
Google is explicit about the boundary: primary data sources are the only data source type that can add or remove products. A supplemental source cannot introduce a product, cannot delete one, and cannot operate on its own.
The three way match that has to be exact
- Product ID. The id attribute must match the primary source exactly, or the row silently does nothing.
- Data source label. The supplemental label has to match the primary source's feed label, using only uppercase letters, digits, hyphens or underscores.
- Language. Must match the language of the primary product feed.
Two further details are worth knowing before you plan an implementation. Supplemental sources are created through a file, a Google Sheets template or the Merchant API, and Google's setup documentation does not list SFTP or Cloud Storage among the options as it does for primary sources. Setting one up also requires the Advanced data source management add on to be enabled in Merchant Center settings first, which is a step that is easy to miss.
Where two sources disagree, attribute rules decide the winner. The take latest operation, which picks the most recently updated value across sources, applies only to price and availability.
Source: Create a product data source and Set up your attribute rules, Google Merchant Center Help.
Store level stock runs on its own data source. See local inventory ads data requirements if you sell in physical stores too.
What Breaks Most Often in Shopping Feeds?
Across catalogs, the same handful of faults account for most lost eligibility, and almost none of them are exotic. They are maintenance failures.
| Fault | Usual cause | Where it gets fixed |
|---|---|---|
| Price mismatch | Feed refreshes less often than the site updates prices | Fetch schedule, or the Merchant API for volatile pricing |
| Availability mismatch | Stock syncs on a slower cycle than sales | Inventory integration, not the feed file |
| Invalid GTIN | Supplier data entered incorrectly upstream | Source catalog, then resubmit |
| Missing brand | Own brand products with the field left empty | Supplemental source or an attribute rule |
| Image too small | Legacy thumbnails from an older platform | Re-export from the source images |
| Duplicate titles across variants | Parent product title applied to every child | Title rule that appends the differentiating attribute |
| Wrong currency | Multi market catalog on one feed | Separate feeds per target country |
Notice how many of these are fixed outside the feed. That is the part worth internalising: a feed is a symptom surface. Recurring faults usually trace back to the catalog or the integration, and patching them in the feed every month is a sign the real fix is being avoided.
How Do You Audit a Google Shopping Feed?
A useful audit answers four questions in order, and produces a list ranked by how many products each finding affects rather than by how interesting the finding is.
- How much of the catalog is actually serving? Compare submitted items against approved items, then against items with impressions in the last 30 days. The gap between approved and impressed is where most unrealised value sits.
- What is blocking the rest? Group disapprovals and warnings by cause and count affected products against each.
- How complete is the data? Measure the fill rate of every attribute in the limits table above, not just the required ones.
- Where is spend going versus where margin is? If your top spending products are not your top margin products, segmentation is the fix, not bidding.
Question one is the one most audits skip. Approved and serving are different states, and a product can sit approved for months with zero impressions because its data gives Google nothing to match on. Counting approvals alone will tell you the feed is healthy when it is not.
Want this run against your catalog rather than described in the abstract? Talk to Seller Splash about a feed audit, or see what the work produced for other product brands.
How Do You Measure Whether Feed Work Paid Off?
Feed work shows up in impression and coverage metrics before it shows up in revenue, so measuring it on ROAS alone in week two will tell you nothing useful. Track the leading indicators first.
- Approved product count. The most direct read on remedial work.
- Products with impressions. The honest measure of whether the catalog is competing.
- Impression share by product group. Shows which segments gained reach.
- Click through rate by category. Where title work surfaces, usually within a few weeks.
- Revenue and return. The lagging measure, and the one to judge the quarter on.
Set the baseline before you change anything, because the comparison is worthless otherwise. The same discipline applies here as to any paid media change, and the monitoring cadence that works for campaigns works for feed work too. If you also run Bing Shopping Ads, remember the same corrected data usually feeds both, so attribute the gain carefully.
One caution on attribution. Feed changes and campaign changes made in the same week cannot be separated afterwards. If feed work is the thing being evaluated, hold campaign structure still while it runs. Campaign level decisions such as how Shopping campaign priority resolves belong in a separate change window.
Where Should You Go Next?
- If products are being pulled, start with Merchant Center suspensions.
- If you are new to the platform, read what Merchant Center does first.
- If the feed is clean and campaigns are the problem, move to Shopping ads management.
- If reviews and seller ratings are the gap, see how product ratings work.
About the Author
Seller Splash is an ecommerce marketing agency based in New York, working with product brands on Google Ads, Shopping, Merchant Center and marketplace advertising. This guide was produced by the Seller Splash paid media team from live account work on merchant feeds. More on who we are, or how we approach Shopping management once the feed is right.
Frequently Asked Questions
How long does it take for feed changes to show in Google Shopping?
It depends on how your data reaches Merchant Center. Scheduled file fetches and uploads apply at the next fetch, while the Merchant API can update items sooner. Changes still have to pass review before they affect what serves, so treat same day visibility as the exception rather than the rule.
Do I need a GTIN for Google Shopping?
You need one if the manufacturer assigned one. Google calls the gtin attribute strongly recommended if available, and states that products with a GTIN submitted without one may have limited visibility. If the product genuinely has no identifier, submit identifier_exists as no instead of inventing a value.
What is the character limit for Google Shopping product titles?
The title attribute accepts up to 150 characters in Google's product data specification. That is the submission limit, not the display limit, because ad formats truncate titles well before 150 characters, which is why the identifying detail belongs at the front.
What is the difference between product_type and google_product_category?
google_product_category is Google's own taxonomy and takes a single value. product_type is your own category string, accepts up to 750 characters, and only its first value is used to organize bidding and reporting in Shopping campaigns. They do different jobs, so filling one does not cover the other.
How many custom labels can I use in a Google Shopping feed?
Five, from custom_label_0 to custom_label_4. Each value can be up to 100 characters, and Google asks you to use only 1,000 unique values for each custom label across the Merchant Center account. That ceiling is what rules out labelling by SKU on a large catalog.
Can a supplemental feed add new products to Merchant Center?
No. Google states that primary data sources are the only data source type that can add or remove products. A supplemental source updates attributes on products that already exist in a primary source, and it cannot be used on its own.
Why are my products disapproved even though the feed looks correct?
Most disapprovals come from a mismatch between the feed and the landing page rather than from the feed alone. Price, availability and currency are checked against the live page, so a value that is correct in the file but stale on the site still fails.
Does feed optimization matter for Performance Max?
Yes, and arguably more than for Standard Shopping. Performance Max gives you fewer manual controls, so the feed carries more of the targeting signal. Attribute quality and custom label segmentation are among the few levers left for steering what the campaign prioritises.
Get an expert audit of your brand's visibility in AI search and Google
Full AI Visibility Audit or Deep Growth Audit, with a prioritized fix list for your store.
AI search and ads readiness checklist
25 checks for Amazon, Walmart and Shopify sellers: tracking, product feeds, Google, Bing and Meta ads, and getting cited by ChatGPT, Perplexity and Google AI Overviews. Two pages, about 20 minutes.
- Break-even ROAS table by margin
- The AI search (AEO) checks most stores miss
- A simple score that tells you what to fix first
No spam. We use your email to send the checklist and follow up about it.
Want to see where your store stands in AI search? Get the Full AI Visibility Audit for $99 or the Deep Growth Audit for $249.
Get your AI visibility audit