Product Feed

No Comments
Product feed

What a product feed is

A product feed is a structured file (or API stream) that lists every product you sell with a defined set of attributes: ID, title, price, availability, image, and more, in the exact format a shopping platform like Google Merchant Center expects. It is the data pipe that lets your products show up in Shopping tabs, free listings, and Performance Max ads, and it is judged on data quality, not on how pretty your website looks.

The stakes are concrete: one malformed attribute can get an item disapproved, and a whole feed with mismatched prices or missing GTINs can get your account warned or suspended. A clean feed is the difference between products that show and products that quietly never appear.

Real feed attributes and a working example

Google Merchant Center reads a fixed vocabulary of attributes. Here is a minimal, valid row expressed as XML (the same fields exist as columns in a TSV/Google Sheet feed):

<item>
  <g:id>SKU-4471</g:id>
  <g:title>Merino Wool Base Layer - Men's Long Sleeve, Charcoal, L</g:title>
  <g:description>Lightweight 190gsm merino, odor-resistant…</g:description>
  <g:link>https://example.com/base-layer-charcoal-l</g:link>
  <g:image_link>https://example.com/img/4471.jpg</g:image_link>
  <g:availability>in_stock</g:availability>
  <g:price>89.00 USD</g:price>
  <g:brand>NorthRidge</g:brand>
  <g:gtin>00812345678905</g:gtin>
  <g:mpn>NR-BL-CHR-L</g:mpn>
  <g:condition>new</g:condition>
  <g:google_product_category>Apparel & Accessories > Clothing</g:google_product_category>
  <g:item_group_id>BL-MERINO-M</g:item_group_id>
</item>

Key rules baked into that example: id must be unique and stable, price must include a currency and match the landing page exactly (including tax display rules by country), availability must reflect real stock, and variants of one product share an item_group_id while each keeps its own id. Miss the GTIN on a branded product that has one, and Google may throttle or disapprove it.

Required vs recommended attributes

AttributeRequired?What it doesCommon failure
idRequiredUnique, stable product keyReusing an ID for a different product
titleRequiredPrimary match signal; front-load key attributesKeyword stuffing or bare model number
linkRequiredLanding page URLRedirects or 404s that fail crawl
image_linkRequiredMain product imagePromo text/watermark on the image
priceRequiredCurrent price + currencyFeed price ≠ landing-page price
availabilityRequiredin_stock / out_of_stock / preorder / backorderStale value after stock changes
gtinRequired if it existsGlobal product identifierOmitting it on branded goods
brandRequired (most)Manufacturer/brand nameLeft blank or set to store name
item_group_idRecommended (variants)Groups color/size variantsMissing, so variants compete as dupes
google_product_categoryRecommendedTaxonomy for correct placementWrong or overly broad category

How to check your feed

  1. Read the Diagnostics tab in Merchant Center. It lists disapproved and warned items with exact reasons. Sort by "Item issues" to see what is blocking the most products. (More on the platform in Merchant Center.)
  2. Spot-check price and availability parity. Open five feed items and compare the feed price/availability against the live landing page. Mismatches trigger the most common suspensions.
  3. Validate the feed file directly. Download the XML/TSV and confirm required columns exist for every row and that IDs are unique (a quick spreadsheet dedupe on the ID column exposes collisions).
  4. Test the landing pages. Curl a sample of link URLs and confirm they return HTTP 200, not 301 chains or 404s.
  5. Watch the feed processing log. After each fetch, Merchant Center shows fetched/valid/invalid counts; a sudden drop in valid items means something in your export broke.

Common disapproval reasons and fixes

Disapproval reasonWhat triggers itFix
Mismatched value (price)Feed price differs from landing pageSync feed generation to live pricing; watch currency/tax rules
Missing GTINBranded product with a known GTIN left blankAdd the correct GTIN; use MPN+brand only when no GTIN exists
Image issuesWatermark, promo overlay, or placeholderUse a clean product image on white/neutral background
Availability mismatchFeed says in_stock, page shows sold outAutomate availability from real inventory
Missing required attributeExport drops a column for some rowsEnforce required fields at export; fail loudly, not silently

FAQ

How often should my product feed update?

Match the update cadence to how fast your data changes. Prices and stock that move hourly need frequent updates (or a supplemental feed / real-time API); a stable catalog can refresh daily. The rule is that the feed should never lag the live site long enough to create a price or availability mismatch.

What is the difference between the product feed and Product schema on my pages?

The feed is a separate file you submit to a shopping platform; on-page Product schema is structured data embedded in the page HTML for organic rich results. They overlap in fields but are independent pipelines, and Google can cross-check one against the other, so keep price and availability consistent in both.

Do I need a GTIN for every product?

You need it whenever a valid GTIN exists for the item (most branded, manufactured goods). For genuinely unique products with no GTIN, such as handmade or custom items, you supply brand plus MPN instead and flag that no identifier exists.

Why are my products approved but getting no impressions?

Approval only means the data passed validation. Visibility depends on competitive bids or free-listing eligibility, title relevance, price competitiveness, and category accuracy. Tighten titles, fix the google_product_category, and confirm the items are opted into free listings.

Can one feed serve both Shopping ads and free listings?

Yes. A single well-formed feed in Merchant Center can power free product listings and paid Shopping/Performance Max at once, provided the items meet each program's policy. There is no need for separate feeds just to appear in both.

Related reading

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog