You opened Merchant Center this morning and the Diagnostics tab says 427 items have issues. Half of them sound like the same problem described three different ways. The other half reference attributes you are not sure you even set.
What you'll take away
- Six error families — almost every Merchant Center diagnostic falls into one of six categories, and knowing which one tells you where to look.
- Feed over fixes — editing 500 products by hand is a losing strategy. The fix belongs in your feed mapping or transformation rule.
- Root cause first — the question is not how to remove the error but why your feed is generating the bad value in the first place.
- Price and availability — these errors mean your feed and your website disagree, and Google is catching the mismatch.
- Variant structure — clothing and apparel errors usually trace back to size and color data that is not structured the way Google expects.
Merchant Center errors look complicated because Google reports them at the product level. A single misconfigured feed rule can produce hundreds of individual item errors, each with its own line in the Diagnostics tab. But the errors themselves fall into a small number of categories. Once you can recognise the category, you know where in your feed pipeline to look.
Google's product data specification defines the attributes it expects, the formats it accepts, and the values it will reject. The error message tells you which rule was broken, not which feed rule produced the bad data. That distinction matters. The message points at the symptom. Your job is to find the cause.

Why is Google telling me my products are missing required attributes?
Missing attribute errors mean Google expected a piece of information and your feed did not provide it. The most common ones are identifier exists, brand, MPN, and condition. Google requires these for products that have manufacturer-issued identifiers because they underpin how Shopping ads match queries to listings.
The fix is not to add the attribute to each product. The fix is to find the field in your source data that already holds this information and map it to the correct Google attribute in your feed. If the information genuinely does not exist, you may need to set identifier_exists to FALSE for custom goods.
Missing does not mean empty
Google distinguishes between an attribute that is absent from the feed entirely and one that is present but has no value. Both produce errors, but they point to different problems in your pipeline. An absent attribute means your feed template or mapping is not sending the column at all. An empty value means the column exists but your source data has nothing in it.
A missing attribute error is a mapping problem first, a data problem second. Check your feed spec to confirm the column is being sent. Then check your source data to confirm it has values.
What does an invalid value error actually mean?
Invalid value means you sent information but it does not meet the format or accepted values Google requires. The attribute exists. The data is there. But it is shaped wrong. A common example is gender set to unisex when Google only accepts male, female, or unisex — wait, that one is actually valid. A better example is age_group set to adult when Google requires adult or kids. Actually, adult is correct too.
Let us use a real one. Google requires the size attribute for apparel. If your feed sends size_type as regular, that is fine. But if you send size as MEDIUM in all caps and your size_system is US, Google may flag it. The real invalid value errors that bite people are price formatted as $19.99 instead of 19.99 USD, or availability set to in stock with a space when Google wants in_stock with an underscore.
Before · Invalid value
price: $19.99
After · Valid format
price: 19.99 USD
These errors are transformation problems. Somewhere between your source data and Google, a value is being written in a format Google does not accept. The fix belongs in your feed transformation rules, not in the source data itself.
Why do my prices and availability keep getting flagged?
Price and availability errors happen when your feed and your website do not agree. Google checks what your feed says against what a customer sees when they click through to your product page. If the feed says 19.99 USD but the landing page shows 24.99, Google flags the item. If the feed says in_stock but the page says out of stock, same thing.
From the trenches — The most common cause of price mismatch is a sale or promotion that updates the website but not the feed. The merchant runs a weekend sale, the store platform updates the displayed price, but the feed was generated on Thursday and will not refresh until Monday. For 72 hours, every sale item is flagged.
The fix is sync timing. Your feed needs to refresh often enough that price and availability changes propagate before Google's crawl catches the mismatch. How often that is depends on how frequently your prices change. Understanding feed refresh rates matters more than most merchants realise.
What is going on with GTIN errors?
GTIN errors occur when product identifiers are missing, invalid, or associated with the wrong product. Google uses GTINs to match your listing to a shared product page in the Shopping graph. A wrong GTIN means your ad might show up on a competitor's product page, or your price might be compared against items that are not actually the same product.

The three GTIN error types are straightforward. Missing GTIN means you did not send one for a product that requires it. Invalid GTIN means the number you sent does not pass the checksum validation. Mismatched GTIN means the GTIN belongs to a different product than the one in your feed. All three point to different problems, but they all come back to one question: where did that number come from?
Fabricated GTINs get caught
Some merchants generate fake GTINs to satisfy the requirement. Google validates the checksum digit. A number that fails the checksum is flagged immediately. A number that passes the checksum but does not exist in the global registry may be flagged later. If you genuinely do not have a GTIN, set identifier_exists to FALSE and supply brand plus MPN instead.
The GTIN should come from the product packaging or your supplier's data. If it comes from a spreadsheet formula or a random number generator, it is wrong.
Why are my clothing variants being rejected?
Variant problems happen when products such as clothing do not have their size or color information structured correctly. Google treats variants as a group of items that share a parent but differ by specific attributes like color, size, material, or pattern. Each variant needs its own item in the feed, its own GTIN if applicable, and a shared item_group ID that links it to its siblings.
The most common variant error is missing item_group ID. Without it, Google cannot tell that your red medium t-shirt and your blue large t-shirt are variants of the same product. Each appears as a standalone listing, which fragments your impression share and can trigger missing variant attributes errors for apparel.
| Variant error | What it means | Where to fix it |
|---|---|---|
| Missing item group ID | Variants are not linked to each other | Feed mapping: add a field that groups variants |
| Missing size | Apparel variant has no size attribute | Source data: ensure size is populated for every variant |
| Missing color | Apparel variant has no color attribute | Source data: ensure color is populated for every variant |
| Duplicate variant | Two items share the same size and color within a group | Source data: check for duplicate SKUs or merge entries |
How many products share the same error?
If 500 products have the same variant error, manually editing 500 products is not a sustainable solution. The problem is almost certainly in how your source data exports variants. Maybe your ecommerce platform exports each variant as a separate row without an item_group_id column. Maybe it exports them with a parent ID that your feed is not mapping. Fixing the mapping or transformation rule that produced the error can solve the problem across the entire catalog at once.
What causes image errors and how do they affect eligibility?
Image problems can prevent products from being eligible for Shopping ads or displayed correctly. Google requires a primary image for every product. The image must be accessible, must meet the size requirements, and must show the product being sold. Common image errors include missing image URLs, broken links, images that are too small, and images that contain watermarks or promotional text.
Image errors are often silent until they are not. A product with a broken image URL may run fine for weeks until Google's crawler rechecks it. Then it gets disapproved and the ad stops serving. The fix is straightforward: provide a valid URL to an image that meets Google's image specification. The hard part is finding the broken URLs before Google does.
Broken images compound over time
If you reorganise your product images or change your CDN without updating your feed, every image URL in the feed breaks at once. That is how a single infrastructure change turns into a catalog-wide disapproval. Always check image URLs in your feed validator after any change to your image hosting.
The important question is not how to remove the error
Every Merchant Center error points to a rule your feed broke. The instinct is to fix the error. The right instinct is to ask why your feed is generating the value that broke the rule. If 500 products have the same error, manually editing 500 products is not a sustainable solution. The error is a symptom. The cause is a mapping, a transformation, or a sync gap somewhere in your feed pipeline.
Three rules of thumb
Here is a concrete example. Suppose your feed sends price as 19.99 with no currency code. Google's specification requires ISO 4217 currency. You get an invalid value error on every product. You could open each product and add USD. That is 500 edits. Or you could add a transformation rule that appends USD to every price value during feed generation. That is one edit.
Illustrative: a 500-product catalog with a price format error. Editing each product at 2 minutes per item takes roughly 16 hours of manual work. A single transformation rule takes 5 minutes. Both fixes produce the same result. One of them survives the next feed refresh.
How to audit your feed for Merchant Center errors
The right audit starts with the Diagnostics tab and works backward. Download the full diagnostics report. Group errors by type. Count how many products share each error. The ones with the highest counts are your feed-rule problems. The ones with one or two products are your data problems. Tackle the feed-rule problems first because a single fix clears the most errors.
Merchant Center errors are feedback. They tell you that your feed and Google's expectations are out of alignment somewhere. The alignment is fixable. But only if you fix it at the point where the misalignment starts. That point is your feed pipeline. Not your product catalog.
Common questions
What does "missing attribute" mean in Google Merchant Center?
It means Google expected a specific attribute like brand, GTIN, or condition and your feed did not provide it. The attribute is either absent from your feed entirely or present with no value. Check your feed mapping to confirm the column is being sent, then check your source data to confirm it has values for the affected products.
Why does Google say my price is invalid?
Google requires prices in a specific format: a numeric value followed by a space and the three-letter ISO 4217 currency code. Writing 19.99 USD is valid. Writing $19.99 is not, because the dollar sign and missing currency code break the format. The fix is a transformation rule that strips currency symbols and appends the correct code.
How do I fix a GTIN error in Merchant Center?
First determine which type of GTIN error you have. Missing GTIN means you did not send one for a product that requires it. Invalid GTIN means the number fails checksum validation. Mismatched GTIN means the number belongs to a different product. The GTIN should come from the product packaging or supplier data. If you do not have one, set identifier_exists to FALSE and supply brand plus MPN.
Why are my product variants being disapproved?
Variant disapprovals usually trace back to missing item group ID, missing size, or missing color attributes. Google requires these for apparel variants. Each variant needs its own row in the feed with its own attributes, plus a shared item group ID that links it to its sibling variants. If your ecommerce platform exports variants without a grouping column, your feed mapping needs to create one.
How often should I refresh my product feed to avoid errors?
Refresh frequency depends on how often your prices and availability change. If you run frequent promotions or have volatile inventory, daily or even hourly syncs may be necessary. Google's crawl schedule is not predictable, so your feed needs to be current before the crawl happens, not after. Price and availability mismatches between feed and website are the most common cause of disapprovals from stale feeds.