Skip to main content

Free Product Feed Validator

Check a Google Shopping, Meta or TikTok catalogue feed for the errors that get products disapproved. Upload a CSV, TSV or XML file and read the problems in plain language. Nothing is uploaded to a server.

Free, no signup Runs in your browser No row limit

Add your feed

CSV, TSV or XML. Paste it or choose a file.

Feed clean? Next is the storefront

A valid feed still needs product pages behind it.

Grigora Commerce builds the catalogue, the product pages and the checkout on the same platform as your site and newsletter, so the feed you just validated is generated from real products rather than maintained by hand.

How to validate a product feed

Four steps from file to clean submission.

1

Add your feed

Upload a CSV, TSV or XML feed file, or paste the contents straight in.

2

Read the summary

See how many products parsed, how many carry errors, and how many carry warnings.

3

Fix errors first

Errors get an item rejected. Warnings reduce its reach but still list.

4

Re-check and submit

Validate again after fixing, then upload to Merchant Center with confidence.

How to validate a product feed, step by step

Real screenshots of the tool, taken while checking a four row feed.

  1. 1

    Paste the feed or choose a file

    CSV, TSV and XML all work. Nothing leaves the browser, so a supplier file you have not published yet is safe to test.

    Empty Product Feed Validator showing a paste box, a Choose file button and a Validate feed button
  2. 2

    Check what you pasted

    Headers on the first line, one product per row. The feed here carries a mistyped GTIN, a price with no currency code and a duplicate id.

    Product Feed Validator with a four row CSV product feed pasted into the input box
  3. 3

    Fix the errors before the warnings

    An error gets the item rejected by Merchant Center. A warning still lists but reaches fewer people. Every row names the attribute and the row it came from.

    Validation results showing 4 products, 9 errors and 1 warning, with issues naming gtin, price, image_link, availability and condition

When merchants use it

Six moments a feed check pays for itself.

Before a first Merchant Center upload

Catch missing attributes before the account picks up a disapproval history.

After a catalogue migration

Moving platforms rewrites field names. Check the mapping survived.

When products go disapproved

Find the malformed rows without reading thousands of lines by hand.

Before a seasonal push

A feed error the week of a sale costs the whole campaign.

Auditing a supplier feed

Dropship feeds arrive in whatever shape the supplier felt like.

Checking Meta and TikTok catalogues

They share most of the Google attribute set, so the same errors apply.

Exporting a feed from your platform

Where the file lives, by platform.

Shopify

  1. Open Settings, then Apps and sales channels.
  2. Export the Google or Meta feed as CSV.
  3. Drop the file in above.

WooCommerce

  1. Use your feed plugin to generate the XML feed.
  2. Open the feed URL and save the page.
  3. Upload the saved XML.

Grigora Commerce

  1. Open your product catalogue.
  2. Export products as CSV.
  3. Validate here before submitting to Merchant Center.

Manual spreadsheet

  1. Keep one product per row with the header in row one.
  2. Save as CSV with UTF-8 encoding.
  3. Paste or upload.

Grigora vs. other feed checkers

Side by side.

CapabilityGrigoraFeed toolsAgency toolsMerchant Center
Runs without uploadYes, in your browserUploads your feedUploads your feedRequires account
GTIN check digitValidatedSometimesNoYes
Explains each ruleYesError codes onlyError codes onlyYes
Signup requiredNoNoYesYes
Row limitNoneCapped on free tierCappedPlan based

Common errors and how to fix them

Eight issues that get products disapproved.

Price rejected

Cause: Price written as $12.99 or 12,99.

Fix: Use "12.99 USD": dot decimal, space, then the ISO currency code.

Invalid GTIN

Cause: A digit is mistyped, so the check digit fails.

Fix: Re-read the barcode. A GTIN either passes its checksum or is wrong.

Missing brand

Cause: Brand column empty for branded goods.

Fix: Add brand, or set identifier_exists to "no" for genuinely unbranded items.

Availability rejected

Cause: Values like "In Stock" or "available".

Fix: Use exactly: in stock, out of stock, preorder, backorder.

Duplicate ids

Cause: Two variants sharing one id.

Fix: Give every variant its own stable id and keep it stable over time.

Relative image links

Cause: Feed exported with /images/x.jpg.

Fix: Image links must be absolute and publicly reachable.

Title truncated

Cause: Keyword stuffing pushed it past 150 characters.

Fix: Lead with brand and product type. The tail is never shown.

Nothing parsed

Cause: File is an Excel workbook, not CSV.

Fix: Export as CSV, TSV or XML. .xlsx is a zip archive, not text.

Feed rules worth memorising

The constraints that cause most rejections.

5
Attributes causing most disapprovals: price, image_link, gtin, availability, brand
150
Character limit before Google truncates a product title
4
Accepted availability values, and no others
0
Rows uploaded to a server by this tool

Frequently asked questions

Ten answers about product feeds.

Related free tools

Other utilities that pair with the Product Feed Validator.

Sell from the site you already run

Catalogue, product pages, checkout and orders in one place, starting free.

Start building free