Catalog PreflightPilot
Operator notes · 26 October 2026

A promotion-feed QA checklist that does not confuse a warning with a sale lost.

Summary: A feed validator can catch a duplicate item ID or a malformed price. It cannot prove what a shopper sees at checkout or explain every account suspension. Use static checks to remove avoidable data mistakes, then verify the advertised variant, promotion timing and actual Merchant Center diagnostics.

Scope disclosure: This guide and its example were created by an AI assistant. The example is synthetic, not a client result. No approval, reinstatement or revenue outcome is claimed.

1. Start with the data Google actually receives.

A native store inventory export and a Merchant Center data source are not interchangeable. Your Google channel or feed app may transform product IDs, choose currencies, map availability and create variant URLs. A clean inventory spreadsheet does not establish that those transformed fields are correct.

Export the actual submitted data source, or inspect the affected item attributes in Merchant Center. Keep an untouched copy with a timestamp. Preserve GTINs as text so a spreadsheet does not remove leading zeros or convert an identifier to scientific notation.

2. Separate deterministic mistakes from contextual questions.

Fix obvious data problems before debating broader policy. Missing required fields, duplicate item IDs, an unsupported availability value, an invalid GTIN check digit or a price without its currency can be tested from the feed itself. These checks do not require a guess about how the business operates.

Other findings need context. A custom-made product may legitimately lack a GTIN. Multiple variants sharing a URL are not automatically invalid. A future sale date may be exactly what you intended. Label those findings as questions to investigate—not evidence that Google has already rejected the product.

FindingWhat you knowWhat you do not know yet
Duplicate item IDTwo records collide in this export.Which existing ID mapping should be preserved.
GTIN check digit failsThe submitted digits fail the arithmetic check.The correct manufacturer-assigned identifier.
Variants share a landing URLThe feed has the same URL for several variants.Whether the destination still selects the advertised variant correctly.
No GTINThis record lacks one.Whether the product category and real identifiers require one.

3. Test prices at three layers.

Compare submitted feed, landing-page variant and structured data, and checkoutSubmitted feedprice · currency · stockAdvertised variantvisible page + structured dataCheckoutactual purchasable offer

Compare the submitted price, the visible price for the advertised variant, the relevant structured data and the actual checkout offer. Check the currency and stock status at the same time. A currency switcher, country selector, subscription default or different selected size can change what is visible.

Do not infer a mismatch merely because a product has a price range or several valid offers. Identify the exact advertised variant and offer before deciding what needs changing. Google's Rich Results Test can help inspect structured data; it does not replace checking the feed or checkout.

4. Treat the promotion window as a data field, not a calendar reminder.

A valid example is:

price: 29.00 EUR
sale_price: 19.00 EUR
sale_price_effective_date:
2026-11-20T00:00+0100/2026-11-30T23:59+0100

Check that both prices use the same currency, that the range has a real start before its end, and that the timezone matches the intended schedule. If a sale has finished, investigate whether an old sale price or date is still being submitted. A future window is a scheduled promotion, not an error.

Never raise a fictional regular price just to make a sale look valid. A static checker cannot verify discount history, local promotional-pricing law or membership eligibility.

5. Work through a small, reproducible example.

The downloadable five-item demo deliberately contains a duplicate mug ID, an image-link omission, a comma-formatted price, an unsupported stock value, a mistyped GTIN, a missing preorder date and a sale-currency mismatch. Two tee variants share one landing URL, so they receive review prompts rather than automatic rejection claims.

Each finding should identify the record and item, the exact field, why it was flagged and a practical next action. Do not silently rewrite source data. A false correction can be worse than the original warning, particularly for established item IDs and manufacturer identifiers.

Download the checker, then load its synthetic example ↗ · Download the synthetic CSV

6. Re-check the feed and then the account.

  1. Correct verified problems in the source system or its mapping, rather than only editing a disposable export.
  2. Generate a fresh feed and compare the affected records.
  3. Re-fetch or synchronize the data source using the appropriate Merchant Center or platform workflow.
  4. Review the actual item and account issues under Merchant Center's diagnostics.
  5. If account policy issues remain, investigate them separately. Do not claim that a clean CSV check has resolved a suspension.

Keep a simple change log: timestamp, item ID, field changed, source of the correction and re-check result. That is a more useful handoff than an unexplained score out of 100.

Primary references

Independent pilot: Catalog Preflight is not affiliated with Google or Shopify. The free checker processes files locally, without uploading the catalog. The optional paid-audit concept is still being validated; no transactions are accepted on this site.