Google Shopping Feed Validator
Paste your Merchant Center product feed and we'll check every item against Google's spec — required attributes, price and availability format, GTIN length, and image URLs — before a single product gets disapproved.
Learn More
A Google Shopping feed is a structured data file that lists every product you want to advertise on Google Shopping along with its attributes: id title description link image_link availability price condition brand and a product identifier (GTIN or MPN). Google Merchant Center ingests this feed to build your Shopping ads and free product listings. Feeds come in three formats. XML feeds follow RSS 2.0 with the g: namespace (or Atom feed/entry); CSV and TSV feeds are spreadsheet exports where the header row names each attribute and every following row is one product. This validator auto-detects the format parses every item and checks it against Google's requirements so you catch problems before submitting. Products with errors are disapproved and will not show in search results. Products with warnings can still appear but with reduced visibility — so both are worth fixing.
Missing required attributes is the most frequent failure: every product needs id title description link image_link availability price and condition at minimum. Leaving any of them blank disapproves the product. Identifier problems are next. Google expects a valid GTIN (8 12 13 or 14 digits — UPC EAN JAN or ISBN) for products from known manufacturers plus a brand. If a product genuinely has no barcode (handmade or custom) you must set identifier_exists to no instead of leaving the field empty. Formatting mistakes round out the list: prices must include a currency ( 12.99 USD not $12.99 ); availability must be one of in_stock out_of_stock preorder or backorder; condition must be new refurbished or used; and link and image_link must be absolute http(s) URLs. Overly long titles (over 150 characters) and descriptions (over 5000) get truncated and trigger warnings.
Paste your feed and the validator detects whether it's XML CSV or TSV (you can also force a format). It then parses each product into its attributes using a forgiving parser — it won't reject the whole feed over one malformed tag the way a strict XML parser would. Each product is checked independently and issues are grouped per item and split by severity: errors (which would cause a Merchant Center disapproval) and warnings (which reduce visibility or signal a likely mistake). The summary shows total products errors and warnings at a glance and duplicate ids are flagged across the whole feed. Validation runs on pasted content so nothing is fetched from your store and no login is required. For continuous monitoring of a live feed URL add it to CheckFast monitors to get alerts on parse errors and sudden catalog changes.
Frequently asked questions
GTIN (Global Trade Item Number) is an umbrella term for UPC (12 digits US/CA retail) EAN (13 digits rest of world) ISBN (books 13 digits) and JAN (Japan 13 digits). Google requires GTIN for ANY product with a manufacturer-assigned code — essentially everything with a barcode. Exceptions: handmade/unique items custom-made products items sold before GTINs existed. Missing GTIN is the single most common reason products get disapproved in Merchant Center. If you don't have one use identifier_exists: FALSE explicitly.
Product represents a single buyable unit (specific size color SKU). ProductGroup represents a variant family — e.g. Classic T-Shirt available in S/M/L × Red/Blue. You'd use ProductGroup when you want the listing to consolidate variants in search. In practice: for Google Shopping feeds you submit each variant as a separate Product with item_group_id linking them. The ProductGroup structured data is more relevant for on-page schema markup (your ) — not the feed file.
(1) Missing/invalid GTIN; (2) image not meeting specs (min 100×100 for apparel 250×250 for other categories; max 16MB; white or plain background preferred); (3) price/availability mismatch between feed and landing page (Google crawls both and compares within 24h); (4) missing required fields (brand condition availability; (5) misleading content (inflated was prices fake scarcity); (6) ineligible product categories (weapons adult content counterfeit). Always fix root cause in the feed — resubmitting won't help if the issue is systematic.
Yes. Required: price (with currency e.g. 19.99 USD availability (in_stock / out_of_stock / preorder. Strongly recommended: sale_price + sale_price_effective_date for sales tax with rate and region for US sellers (Google doesn't calculate automatically). For subscription products: subscription_cost. Missing or inconsistent pricing ($19.99 on landing page but $24.99 in feed) causes 24h quarantine and a Merchant Center warning. Pull pricing from the same source the site uses.
Daily is the standard for stable catalogs. Hourly or more frequent for inventory that changes fast (flash sales out-of-stock events price-matching). Google supports three delivery methods: scheduled fetch (Google pulls from your URL on a schedule — easiest) direct upload (manual or via API for real-time pushes) and Content API (granular real-time item updates). For live inventory sync use the Content API — feed submission has a 30-60min processing lag that's unacceptable for fast-moving stock.
More in Delivery & SEO
Reachability, discoverability, and page performance for humans and crawlers.