Check the fields Google rejects that a public page hides
Your store’s public product list does not expose GTIN, category, condition or identifier_exists. A Merchant Center feed does. Upload or paste it and check every required field. Free, in your browser.
What this checks
Each row against Google’s product data requirements: a title under 150 characters with no promotional text or all-caps, a description, a price above zero, availability, an image link, a brand, a link, and an identifier (GTIN or MPN, or identifier_exists=no), plus a google_product_category and a valid condition. These are the fields most disapprovals come from and the ones a public catalogue scan cannot see.
What the Merchant Center feed checker reads
The page accepts a feed file as CSV, TSV or RSS/Atom XML. It detects the format, matches the header names case-insensitively against the field names Google uses, then reads each row. For every row it checks that a title, description, price, availability, image link, brand and link are present, and that the title is under 150 characters with no promotional wording and no all-capitals text.
It also looks for an identifier: a row needs a GTIN, an MPN, or an explicit identifier_exists=no. A missing google_product_category is a warning, and an unrecognised condition value is flagged. The parse result reports the format it used, how many rows were read, and a count of errors and warnings across the affected rows. Warnings do not block a feed by themselves, but they point to fields Google may dislike, so they are worth clearing before an upload.
How to read the feed results
An error is a field that Google's product data rules expect and that is absent or clearly wrong, such as a missing price or a title carrying a sale claim. A warning is weaker: a description under 50 characters, a missing identifier where the product may genuinely have none, no category, or an unusual condition. Only the first 200 affected rows are listed, so the counts can exceed the rows shown.
A clean result means the checked fields were present and passed these rules for the rows in the file. It does not prove Google will approve the feed. The check does not confirm that images load, that links resolve, that categories map to valid Google categories, or that a GTIN is a real, registered number, and it cannot see how many products the account has already disapproved.
Common feed faults and why they matter
Most disapprovals trace back to a small set of fields: a promotional claim in the title, a product with no price or a zero price, a missing image link, or an identifier that is absent without the flag that says the product has none. A title in capitals or a description of a few words also weakens the listing, and one wrong export rule can affect thousands of rows at once.
The fields a public storefront hides are exactly the ones a feed file exposes. A product page may show a price, but only the feed carries GTIN, google_product_category, condition and identifier_exists. That is why a file check finds problems a live page scan cannot see, and why the two read different sources and are better run together than alone. Neither one replaces the other.
Fix the flagged rows
Work through the errors first. Replace promotional title text with the product name and one distinguishing attribute. Set a real price above zero, point image_link at a reachable asset, and add a brand. Where a product truly has no barcode, add identifier_exists=no and an MPN if one exists. If a row is wrong every time you export it, the fault is upstream in the catalogue.
For the warnings, write a description that describes the product rather than repeating the title, add the most specific google_product_category you can, and use one of new, used or refurbished for the condition. Fix the source catalogue or export so the next sync does not reintroduce the same rows. On Shopify and WooCommerce the values come from product data, so correct them there.
When to use related checks
Use feed check for the live storefront side and feed finder when you first need to locate a public product list. The feed versus page guide explains why a file and a page can disagree, and a file can carry an identifier or category that the live page omits. If a link or an image fails on the page itself, a reachability check answers that separately.
For the individual faults, see promotional text in a title, a title that is too long and a missing brand. Use price check and image check for the page-side equivalents, where each fix explains the field and how to correct it in the source data. The decoder also points an identifier question here when the value is a feed-only field.