What is a product feed? The file behind every Shopping listing

A product feed is a structured list of everything you sell: one row per product, one column per attribute such as id, title, price, link, image and availability. Google Merchant Center and Meta catalogs build Shopping listings and ads from that list, not from your product pages, so the feed is the version of your store those channels actually see.

What this comes down to

  • A feed is one row per product and one column per attribute, and the channels read the feed rather than your product page.
  • Google lists id, title, description, link, image_link, availability and price as required on every product.
  • Brand and a product identifier (a GTIN, or an MPN when there is no GTIN) are required for most new products too.
  • The google_product_category column is optional, but an invalid value in it is rejected and may keep the product from appearing.

SellerSort Team · Updated

One row per product, one column per attribute

Open any feed and it looks like a spreadsheet. Each row is one thing a customer can buy, down to the variant: a black medium T-shirt and a black large T-shirt are two rows. Each column is an attribute with a fixed name that the receiving channel knows how to read.

One product as a feed row
AttributeExample value
idTEE-ORG-BLK-M
titleOrganic Cotton T-Shirt, Black, Medium
price24.00 USD
availabilityin_stock
google_product_category212

That last value, 212, is the ID of Apparel & Accessories > Clothing > Shirts & Tops in the Google product taxonomy. A real feed has more columns (link, image, brand, identifiers, shipping), but the shape never changes: rows are products, columns are facts about them.

Shoppers see your product page. Google’s systems see your feed.

What Google requires, and what it only recommends

Google’s product data specification marks each attribute with a requirement level. These are the ones every product needs, with the limits the specification gives:

Required product attributes in Google Merchant Center
AttributeRequirement
idRequired, up to 50 characters
titleRequired, up to 150 characters
descriptionRequired, up to 5,000 characters
link, image_linkRequired
availability, priceRequired
brandRequired for new products, except movies, books and music recordings
gtin / mpnGTIN when the manufacturer assigned one; MPN when there is no GTIN
conditionRequired if the product is used or refurbished

Some requirements depend on what you sell and where. Apparel sold to people in Brazil, France, Germany, Japan, the UK or the US also needs color, size, gender and age_group, and variants in those countries need an item_group_id. Everything else in the specification is optional, which is not the same as useless.

The channel reads the feed, not your website

This is the part that surprises people. You can rewrite a product page beautifully and nothing changes in Shopping, because Merchant Center is still reading last week’s feed. The reverse bites harder: when the feed says a product costs $24 and the landing page says $29, Google flags a mismatched price, and its help page for that issue says the product may be disapproved until the two agree again.

So treat the feed as a second storefront that you maintain on purpose. Anything a shopper would be annoyed to discover after the click (a different price, an item that is actually sold out) is also something the channel checks.

Where a feed comes from

Most stores never hand-write one. Google lists several ways to get products in:

  • A platform connection. Shopify’s Google & YouTube app or a WooCommerce feed plugin builds the feed from your catalog and keeps it in sync.
  • A file. Tab-delimited text (.txt or .tsv) or XML, uploaded or fetched from a URL on a schedule. A single file can be up to 4 GB.
  • A Google Sheets template, which suits a small catalog you edit by hand.
  • The Merchant API, for developers pushing changes as they happen.

Whichever route you use, the result is the same list of rows. The feed format guide compares the file options if you are choosing one.

Where the product category fits in

Two columns describe what a product is. google_product_category takes a value from Google’s fixed taxonomy, ideally the numeric ID. product_type is your own label, written however your store organises things.

The Google category is optional. If you leave it out, Google says it uses internal signals to assign one. If you fill it in, the value has to be a real one: Google’s fix page for invalid categories says invalid values will be rejected and may prevent your products from appearing. That makes an empty cell safer than a guessed one.

Check your own feed in ten minutes

Export the feed (or the product CSV your feed is built from) and look for these:

  1. Blank cells in any required column from the table above.
  2. The same id on two rows. Each product needs its own.
  3. Titles that bury the product type after the brand story. Shoppers usually see only the first 70 or so characters.
  4. Category values that are not a plain taxonomy ID, such as a path with the ID glued to the front.

For the category column, paste a title into the free Category Finder to get the ID, or run the whole export through the Bulk Mapper and review only the rows it is unsure about.

Questions

Is a product feed the same as a sitemap?

No. A sitemap lists URLs so a search engine can crawl them. A product feed lists products and their attributes, such as price, availability and category, so a shopping channel can build listings from them.

Do I need a product feed if I use Shopify?

You need the data, but you may not need to build the file. Shopify’s Google & YouTube app builds and syncs a feed from your catalog. You still own what goes into it, so blank or wrong fields in Shopify become blank or wrong fields in Google.

Which attributes does Google require in a product feed?

Google’s product data specification lists id, title, description, link, image_link, availability and price for every product, brand for most new products, a GTIN or MPN depending on the product, and condition for used or refurbished items.