Google Shopping and Merchant Center: a guide for online retailers
How product data gets into your ads, what Google checks and what you have to check yourself, and which feed errors cost the most contribution margin.
Merchant Center is the data model of your range
According to Google, Shopping ads are driven by the product data in Merchant Center, not by keywords. Campaign, budget and bid sit in Google Ads. Everything Google knows about your range sits in Merchant Center. According to Google, the same data also feeds free product listings and the AI-powered ad formats. If a field is missing or wrong, no campaign setting can make up for it.
My view: Merchant Center is the model from which Google understands your range. The issue list shows you what Google dislikes about that model. What costs you money is a different question, and you have to ask it yourself.
In practice the model has three layers that are treated very differently. The split is mine, not Google's.
| Layer | Fields, for example | What it drives | What happens if it is wrong |
|---|---|---|---|
| Identity | Title, brand, GTIN, category | Matching to the search query | A wrong GTIN leads to disapproval; a GTIN that exists but is not submitted can limit visibility |
| Offer | Price, sale price, availability | Display and serving | A mismatch with the product page can lead to a preemptive disapproval |
| Economics | Cost of goods, custom labels | Reporting, separation for bids and budget | No message. Google simply treats the whole range the same |
The third layer is optional, so nobody chases you for it. Yet that is where it is decided whether a euro of ad spend lands on the right item. What belongs in the individual fields is covered in the article on the feed as a model of your range.
From shop database to ad
A product passes through several stages, and any of them can stop it. To get started, Google requires business information, a verified website, shipping settings, product data and a linked Google Ads account with a payment method. After that, the same chain applies to every product:
- The shop sends product data to a data source in Merchant Center.
- Google checks it against the specification, the policies and the product page.
- A campaign in Google Ads draws on the approved products.
- When someone searches, Google uses the data to select matching products; bid and budget have their say in the auction.
In practice the fourth step matters most: there are no keywords to buy, so title, category and description take over their job. If you want to reach a search term, write it into the product data as a natural part of the title, not as a keyword list, and make sure shop and feed say the same thing. That argues for fixing the problem in the shop, not just in the export.
Two campaign types, one data set
You manage Shopping ads through Shopping or Performance Max campaigns. Both read the same product data but differ in how much you control yourself.
| Shopping campaign | Performance Max | |
|---|---|---|
| Placements | Shopping tab, Search, Images, optionally search partners | Additionally YouTube, Display, Gmail, Demand Gen, Maps, text ads |
| Ad content | From the feed | From the feed and asset groups, automatically generated or optimised |
| Bidding | Target ROAS, Maximise clicks, Maximise conversion value, manual CPC | Maximise conversion value or conversions, optionally with a target |
| Extras | Audience targeting | New customer acquisition goal, audience signals, Final URL expansion |
Which type you use for which part of the range is a separate decision: Performance Max or Standard Shopping by range and data. For Merchant Center, something else matters first: every campaign you create directly in Merchant Center is a Performance Max campaign, and by default it advertises all available products. You only enter a budget and a name there.
For a shop with similar margins across the range, that is a reasonable way in. If, say, clearance stock at 15% sits next to own brands at 50%, I would set the campaign up in Google Ads and choose the product scope deliberately. Otherwise the default also advertises goods on which nothing is left after ad spend.
In countries with the CSS programme, another party is involved: there you take part in Shopping ads through one or more Comparison Shopping Services.
Google checks consistency, you check correctness
Google's checks answer whether your data complies with the rules and matches the product page. They do not answer whether it makes commercial sense, and they offer no hints on optimising optional attributes either.
| What is checked | Who | What it means |
|---|---|---|
| Format and required fields | If a required attribute is missing, the product does not run | |
| Price and availability against the product page | Checks that they match, not that the price is intended | |
| Online store issues such as broken links, placeholders, blocked crawlers | Can lead to disapprovals | |
| Whether the price is the intended one, whether a sale is still current | Retailer | If the same wrong price is in shop and feed, there is no mismatch error |
| Delivery time for pre-orders | Retailer | See below |
| Margin, stock pressure, return rate | Retailer | Google only knows them if you enter them |
| Ad content generated by Google | Retailer | Google can use content from the landing page, images and feed as well as AI-generated content, so read samples regularly |
Two details from automatic item updates show the difference. When in doubt, Google aligns with the page: if the feed shows a higher price than the product page, the automatic update takes the price from the page. If the page is wrong, the error therefore wins. And for stock status, Google applies relaxed rules: preorder and backorder in the shop count as compatible with in_stock in the feed. For the check that is a match; for the buyer it is a delivery time they did not expect.
The issue list counts items, you lose contribution margin
Merchant Center has its own prioritisation: Priority fixes shows issues with a medium or high impact on performance and potential clicks, and the detail page of an issue states the clicks lost. That is a useful first filter. But Google counts clicks and you count contribution margin, and a click on a clearance item is not the same as a click on an own-brand product.
I would therefore assess every issue with the same formula:
Contribution margin at risk = contribution margin after ad spend per day × share of the affected items in it × outage duration in days
After ad spend, because when products stop running the click costs stop too. The result is an upper bound, calculated as a total outage: if a campaign is limited by budget, part of the money moves to other products.
A worked example with invented, round numbers. Suppose a shop with 5,000 items generates €100,000 in monthly revenue through Google, earns €30,000 on it before advertising and pays €15,000 for ads. That leaves €15,000 a month, or roughly €500 a day.
| Issue | Affected items | Share of contribution margin | Per day | Assumed duration | At risk |
|---|---|---|---|---|---|
| Account suspension | 5,000 | 100% | €500 | 14 days | €7,000 |
| Systematic price error in one category | 400 | 30% | €150 | 7 days | €1,050 |
| One disapproved bestseller | 1 | 8% | €40 | 5 days | €200 |
| Missing identifiers on long-tail variants | 300 | 1% | €5 | 30 days | €150 |
By item count the bestseller would come last; by money it comes ahead of 300 variants. Per day it is even eight times as expensive, it just gets noticed sooner. Duration is the variable you can influence most, which is why a daily look at your highest-revenue items is part of routine maintenance.
The check itself takes little effort: download the list of affected items as a CSV, join it via item ID to the contribution margin of the last 30 days and sort by that. Once built as a template, you can reuse it at every review.
Which errors cost the most
The ranking is my assessment, calculated as above.
Account issues. Setup and policy issues affect all products. During the warning period everything still runs, possibly with limited performance. If unresolved, suspension follows, and according to Google in serious cases even without a warning. Reviews can take up to 7 business days, and the number of requests can be limited. The banner at the top of the account therefore comes before any product list. How to proceed once it has happened: suspension for misrepresentation.
Systematic price or availability mismatches. They hit whole categories, and a preemptive disapproval can only be resolved through a review. Automatic updates are no solution here: according to Google they are intended for sporadic mismatches on a small share of products, may not work with more than one change per day, and the product may then be disapproved rather than updated. Dynamic prices therefore need more frequent data updates. Finding the cause is covered in the article on disapprovals for incorrect prices.
Equal treatment without an error message. This is the only item no list shows, and it runs every day. As long as there is no margin in the data model, bidding only sees revenue. The calculation follows in the next section.
Bestsellers with a disapproval or warning. High damage per day, usually short duration if someone is watching. Warnings let the product keep running, possibly with limited performance, and can turn into disapprovals if unresolved.
Long-tail errors. They fill the list and can wait until a shared cause is fixed in the export. GTINs are an exception: never guess them, because a wrong GTIN leads to disapproval, while an empty field can limit visibility. When in doubt, Google itself advises leaving the field out.
Margin belongs in the data model, if it stays maintained
The same ROAS does not mean the same profit. Worked example: suppose two product groups each receive €1,000 in ad spend and each achieve ROAS 5, so €5,000 in revenue. Group A earns 40% before advertising, so it ends up at plus €1,000. Group B earns 20% and ends up at zero. In the campaign report both look the same.
The feed offers two fields for this with different jobs. Cost of goods sold (cost_of_goods_sold) gives insight into gross margin, according to Google; I treat that as a reporting metric. Only Google's Profit Optimisation Goal, currently in beta, uses it as a bidding signal, and I would not plan around it until it is available in your own account. For separating products there are up to five custom labels with 1,000 values each. Margin differences are a common reason to split products by label and bid differently. Which five are worth it is covered in the article on custom labels.
The catch is maintenance. A Dutch agency that promotes a partner's labelling tool as the solution reports that a Performance Max structure by margin was error-prone in their practice because margins in Merchant Center were not always updated automatically. A label nobody updates steers by last year's purchase price. I therefore recommend margin bands instead of percentages, filled automatically from the inventory management system. A band rarely changes, and a small price increase does not break the structure.
Labels, however, only sort products into groups. If you want margin directly in the bid, you have to write it into the conversion value, which is a separate project with its own risks.
For a small range, Google's list is enough
With a small range and similar margins, the formula changes little. Google's list is then close enough to the truth, and margin bands only add maintenance work.
With few conversions, splitting too finely does more harm than good, because each group has to make do with less data. Here I would create two bands at most, or only exclude the clearly unprofitable items.
Priority fixes is only available in accounts for which Google can estimate potential performance. If the Prioritized fixes toggle is on, low-impact issues may be hidden. Switch it off for a complete review, otherwise you will miss an item that Google rates as insignificant but you do not.
For new products and seasonal goods, the calculation based on the last 30 days does not work because there is no contribution margin yet. Use the expected value here, or treat the items as a given until they have data. With limited stock, too, the formula only partly applies: a disapproval shortly before selling out costs little if the goods are moving anyway.
Interfaces and labels in Merchant Center change frequently; the information here is as of November 2026.
Further questions
Should I leave automatic item updates switched on?
Usually yes, as a safety net for individual mismatches. However, Google advises against using automatic price updates when product pages show several strikethrough prices, because the system may not find the right one. In no case does it replace regular data updates.
Do I need to check issues separately for each country?
Yes, if you sell to several countries. According to Google, the same product can receive different warnings or disapprovals per target country, because policies differ between countries. A product that runs in Germany can therefore be disapproved in Switzerland. Calculate the damage with that country's contribution margin, and in CHF for Switzerland.
Sources
- Product data specification, Google Merchant Center Help
- About Shopping ads, Google Ads Help
- Advertise your products using Merchant Center, Google Merchant Center Help
- Issues in Merchant Center, Google Merchant Center Help
- Allow Merchant Center to update product information automatically, Google Merchant Center Help
- Mastering Custom Labels for Google Shopping, The Media Captain
- Google Shopping Campaigns: Analyzing the Impact of Product Feed Quality, Converteo
- Maximize the return on your Performance Max campaigns, Yellowgrape
- Request a review of your issues, Google Merchant Center Help
- Key tips to driving online sales, Google
Read next
- Shopping and Merchant CenterThe feed is Google's model of your product range
What makes a good product feed, which attributes control how products serve, how complete the feed has to be and who in the business should own it.
6 min read · 2 November 2026 - Shopping and Merchant CenterMerchant Center suspended for misrepresentation: what to do now
Suspended for misrepresentation? How to align company details, returns, shipping and payment before you use up one of the few review requests you have.
7 min read · 1 November 2026 - Shopping and Merchant CenterDisapproved for a price mismatch: find the cause and fix it for good
Why Merchant Center disapproves products for a price mismatch and how to check feed, server HTML, markup and variant in the right order.
8 min read · 1 November 2026
