Google Merchant Center feed audit checklist
A repeatable way to inspect a CSV or XML product feed before changing it—and to separate feed evidence from issues that require access to the Merchant Center account or storefront.
1Freeze the evidence before editing
Keep the original export unchanged. Record the export time, source system, target country and language, currency, feed format, and the Merchant Center message exactly as shown. Work on a copy whose checksum or file size is recorded.
Minimum evidence bundle
- original CSV, TSV or XML export;
- timestamp and timezone of the export;
- one affected item ID and one unaffected item ID, if available;
- exact diagnostic text and scope (item, destination, country);
- public landing-page URL, without private account links or credentials.
This prevents a common failure: correcting one symptom while losing the input needed to prove what changed.
2Validate the file before validating products
First establish that the data can be parsed deterministically. For CSV/TSV, check encoding, delimiter, quoting, headers and row width. For XML, check well-formedness, namespace use and whether every item closes correctly.
CSV preflight
[ ] UTF-8 decoding succeeds
[ ] delimiter is consistent
[ ] every row has the same logical field count
[ ] headers are unique after trimming
[ ] no accidental spreadsheet formula or hidden newline splits a field
[ ] item count before and after parsing matches
Do not “repair” malformed quoting by silently dropping rows. Emit the row number and a safe excerpt, then stop or quarantine the row.
3Check required and conditionally required attributes
Evaluate requirements against the actual destination and product type, not a generic column list. Google’s product data specification is the primary reference for attribute rules and supported values.[10]
| Check | Evidence | Typical defect |
|---|---|---|
id | stable, unique value per item/variant | generated differently on every export |
title and description | describe the offered product | boilerplate or missing distinguishing detail |
link and image_link | absolute, fetchable URLs | relative URL, redirect loop, placeholder image |
availability | supported value matching the page | feed says in stock while checkout is unavailable |
price | number and ISO currency matching the page | wrong decimal/currency or stale sale logic |
| brand/identifiers | truthful manufacturer identifiers when they exist | invented GTIN or reused MPN |
A blank value, an invalid value and an inapplicable attribute are three different states. Keep them distinct in the report.
4Test identifiers without inventing them
Normalize surrounding whitespace, then test uniqueness and format. Duplicate IDs are defects even when titles differ. GTINs should be validated structurally and against the product; a syntactically valid number can still belong to another item.[10]
- If the manufacturer assigned a GTIN, submit the correct GTIN.
- If no GTIN exists, do not create one to make a warning disappear.
- Treat
identifier_existsas a factual claim, not a suppression switch. - For variants, keep a stable item ID per variant and a shared grouping value only where appropriate.
5Compare price and availability across surfaces
For each sampled item, compare the feed with the public landing page at the same time and for the same country, currency and variant. Google requires submitted price and availability to match the corresponding landing-page and checkout information.[11][12] When present, compare visible content and structured data too. Record redirects and the final URL.
Worked synthetic example
| Field | Feed | Landing page | Finding |
|---|---|---|---|
| ID | DEMO-1042-BLUE-M | Blue / M selected | same variant |
| Price | 49.00 EUR | €59.00 | mismatch; verify export/cache/update time |
| Availability | in_stock | “Out of stock” | mismatch; do not change blindly |
| Final URL | /products/demo?variant=1042 | same variant after redirect | destination retained |
Before changing the feed, determine which surface is authoritative and whether a scheduled export, storefront cache, currency conversion or variant-selection rule explains the gap.
6Inspect links, redirects and images
Google requires the submitted product URL to use the verified domain, remain crawlable, and work on desktop and mobile.[13]
- Resolve every sampled product URL and record status, redirect chain and final canonical URL.
- Confirm that the landing page represents the same product and variant as the row.
- Check mobile rendering and whether essential price/availability content exists without an interaction that a crawler cannot reproduce.
- Confirm images are fetchable, product-relevant and not placeholders.
- Do not expose staging, admin, customer-specific or tokenized URLs in a feed.
A successful HTTP response proves accessibility only. It does not prove crawl, indexation, approval or conversion quality.
7Find duplicate, variant and stale-row defects
Group rows by normalized landing URL, image, title and variant attributes. Flag exact duplicates separately from legitimate variants. Then compare IDs across consecutive exports to identify churn and stale products.
Useful invariants
unique(item_id) == row_count
variant IDs remain stable across exports
one row does not claim mutually exclusive availability states
removed products do not silently remain in scheduled exports
variant URL + attributes resolve to the offered variant8Produce a repair report, not a pile of warnings
For every finding, retain: rule, severity, affected item count, safe example ID, source evidence, proposed correction, confidence, dependency and verification step. Separate:
- feed defect confirmed — reproducible from the supplied data;
- cross-surface mismatch — feed and public page disagree;
- account-only evidence required — cause cannot be established publicly;
- policy or business decision — not a mechanical data repair.
After a targeted correction, compare the output with the frozen input, rerun the same checks, and preserve unresolved items. A clean local validation does not guarantee approval by Google.
Sources:
Need a second pair of eyes on the feed?
FeedMend audits CSV and XML product feeds, explains reproducible data issues, and can return a corrected export within the agreed scope. No store credentials are required to start.
Review the current audit service