Google Shopping Feed: What It Is and How to Build One

By Muhammad MustafaUpdated 24 September 20268 min readGoogle Merchant Center and Shopping

Quick answer

A Google Shopping feed is the product data you send to Google Merchant Center: one row or item per product with attributes like id, title, description, link, image_link, price, availability, brand and GTIN. You can submit it as a tab-delimited or XML file, a Google Sheet, through an e-commerce platform integration, from your website structured data, or with the Merchant API.

On this page
  1. What a Google Shopping feed is
  2. Required and important attributes
  3. Feed file formats
  4. Ways to get product data into Merchant Center
  5. Primary vs supplemental data sources
  6. How to build a Google Shopping feed step by step
  7. Attribute rules: fixing data inside Merchant Center
  8. Common feed errors and what they mean
  9. Keeping the feed accurate after launch

Every product you see in Google's shopping results starts as a line of data. A Google Shopping feed is that data: a structured list of your products with the attributes Google needs to understand, match and display them. In the current Merchant Center, Google calls a feed a product data source, but the idea has not changed. If the feed is wrong, incomplete or out of date, your products either do not show or show for the wrong searches.

This guide explains what goes into a feed, the formats Google accepts, how primary and supplemental data sources work together, and the different ways to get product data into Merchant Center in 2026.

What a Google Shopping feed is

Think of the feed as a spreadsheet. Each row is one product (or one variant, since every size and color is its own item). Each column is an attribute defined in Google's product data specification, such as title, price or gtin. Merchant Center reads the feed, checks it against the specification and its policies, and uses it for free listings, Shopping ads and other marketing methods.

The feed does two jobs. It tells Google the facts about each product (what it is, what it costs, whether it is in stock). And it gives Google the text and identifiers it uses to decide which searches the product is relevant for. The first job gets you approved. The second decides how often you show up, which is what feed optimization is about.

Required and important attributes

Some attributes are required for every product, some are required only in certain cases, and some are optional but affect performance. These are the ones to get right first:

AttributeRequired?Rules and notes
idYesUnique per item, max 50 characters. Use your SKU and never reuse or change it.
titleYesMax 150 characters. Must describe the product and match the landing page.
descriptionYesMax 5,000 characters. Product facts, not promotional text.
linkYesLanding page URL on your verified domain.
image_linkYesMain image URL. Google has announced a 500 x 500 pixel minimum for all images from January 31, 2027.
availabilityYesin_stock, out_of_stock, preorder or backorder.
priceYesNumber plus ISO 4217 currency code, for example 24.99 USD.
brandFor new products (except movies, books, music)Max 70 characters.
gtinStrongly recommended when the product has oneUPC, EAN, JAN, ISBN or ITF-14. Must be a valid GS1 number.
mpnIf the product has no GTINManufacturer part number, max 70 characters.
conditionIf used or refurbishednew, refurbished or used.
item_group_idFor variantsSame value for all variants of one product.
color, size, gender, age_groupFor apparel in many countriesNeeded to show variants correctly.
shippingIf not set in account settingsMost stores set shipping in Merchant Center instead.

Identifiers cause the most confusion. If a product has a manufacturer barcode, send it as the gtin. You can check barcodes you already have with our GTIN lookup tool. If the product is custom, handmade or otherwise has no GTIN, do not make one up. Send brand and MPN if you have them, or leave identifiers out. Our guide to missing GTIN warnings covers the edge cases.

Feed file formats

If you submit a file, Merchant Center accepts:

  • Delimited text: .txt or .tsv, tab-separated, with attribute names in the first row.
  • XML: .xml in RSS 2.0 or Atom 1.0 format, using Google's g: namespace for attributes.
  • Compressed files: .gz, .zip or .bz2 containing a supported text or XML file.

A single file can be up to 4 GB. Save it in UTF-8 or UTF-16 encoding to avoid broken characters. HTML, PDF, Word documents and unformatted spreadsheets are rejected.

Here is what the first rows of a simple tab-delimited feed look like, shown as a table:

idtitlelinkimage_linkpriceavailabilitybrandgtin
TS-100-BLK-MNorthline Men's Organic Cotton T-Shirt, Black, Mediumhttps://example.com/products/tee?variant=1https://example.com/img/tee-black.jpg24.99 USDin_stockNorthline012345678905
TS-100-BLK-LNorthline Men's Organic Cotton T-Shirt, Black, Largehttps://example.com/products/tee?variant=2https://example.com/img/tee-black.jpg24.99 USDout_of_stockNorthline012345678912

The brand, URLs and barcodes above are illustrative. A real feed would also include description, item_group_id, color, size, gender and age_group for these shirts.

Ways to get product data into Merchant Center

Go to Settings > Data sources to see and add sources. The options, roughly from easiest to most technical:

MethodBest forUpdates
E-commerce platform integration (Shopify, WooCommerce, BigCommerce and others)Most small and mid-size storesAutomatic sync
Automatically from your websiteStores with good schema.org Product markupGoogle crawls your pages
Google SheetsSmall catalogs managed by handChanges in the sheet flow to Merchant Center
File upload (one-time, or hosted URL fetched on a schedule)Catalogs exported from an ERP or feed toolScheduled fetch, for example daily
SFTP or Google Cloud StorageLarge files and automated exportsWhenever you upload
Merchant APILarge catalogs, frequent price and stock changesNear real time

Note the API change. Google shut down the Content API for Shopping on August 18, 2026. The Merchant API replaced it. If you use a custom script or an older feed app that pushed data through the Content API, confirm it has migrated. File uploads, scheduled fetches and Google Sheets were not affected.

Shopify stores usually use the Google & YouTube app, which is a platform integration. We cover that route in the Google Shopping feed for Shopify guide.

Note: Use one source per product. If the same product ID, language and feed label arrives from two data sources, Google now returns a "Product ID already used" error instead of quietly picking one.

Primary vs supplemental data sources

A primary data source creates products. It must contain every required attribute and it defines which items exist in your account. When a product disappears from the primary source, it disappears from Merchant Center.

A supplemental data source adds to or overrides attributes of products that already exist in a primary source. It matches rows by id and cannot create new products on its own. You create one in Settings > Data sources, using a file, a Google Sheet or the API, and link it to the primary source it should update.

Supplemental sources are useful when you cannot easily change the primary feed. Common uses:

  • Adding custom_label_0 to custom_label_4 values for ad campaign structure, such as margin tier or best seller.
  • Adding missing GTINs or MPNs from a supplier spreadsheet.
  • Overriding google_product_category for items Google categorized wrongly.
  • Rewriting titles for Google only while keeping store titles unchanged.
  • Excluding certain products from Shopping ads with excluded_destination.

Keep supplemental sources updated. If the primary data refreshes and the supplemental file goes stale, you can end up with old values overriding correct ones.

How to build a Google Shopping feed step by step

  1. Decide the source. If your platform has an official Google integration, start there. Build a file or sheet only if you do not have that option or need more control.
  2. List every sellable variant. One row per size and color, each with a unique, permanent id.
  3. Fill the required attributes from the table above: id, title, description, link, image_link, availability, price, plus brand for new products.
  4. Add identifiers. Real GTINs where they exist, brand and MPN where they do not.
  5. Add category and variant attributes: item_group_id, color, size, gender and age_group for apparel, and your own product_type path.
  6. Check prices and stock against the website. The landing page price must match the feed, in the same currency.
  7. Create the data source. In Settings > Data sources, add a product source, choose countries, language and marketing methods, then upload or connect your data.
  8. Set a schedule. For hosted files, set a fetch time that runs after your nightly export. Google expires items that are not updated for 30 days.
  9. Review issues. Open the Needs attention tab after processing and fix problems in the source data, not by hand in Merchant Center.

Attribute rules: fixing data inside Merchant Center

If you cannot change your source data, attribute rules (called feed rules in the old interface) let you transform values after upload. Turn on the Advanced data source management add-on under Settings > Add-ons, then open a data source to add rules. Rules can set a value, extract part of another attribute, append or prepend text, find and replace, and apply conditions so a rule only affects certain products. Rules run in order, so test them on a few items before applying.

Rules are handy for small fixes, such as appending the brand to titles or mapping your internal category names to product_type. They are not a replacement for fixing the product data at the store. When a store has many products with missing brands, thin descriptions or no identifiers, the AM Jarvis GMC Scanner and Fixer can find those gaps on a connected Shopify or WooCommerce store and push fixes back to the store, so every feed built from it improves at once.

Common feed errors and what they mean

When Merchant Center processes a data source, problems land on the Needs attention tab. Some block a product entirely, others only limit its reach. These are the ones new feeds hit most often:

IssueWhat it usually meansWhere to fix it
Missing value [required attribute]A column is empty or misnamed, often a typo in the header rowSource file or platform product data
Mismatched value (page crawl) [price] or [availability]The landing page shows a different price or stock status than the feedUpdate the feed more often, or fix the product page
Invalid or incorrect GTINWrong check digit, restricted prefix, or a barcode that belongs to another productReplace with the real manufacturer barcode or remove it
Image too small or promotional overlayLow-resolution supplier image, or text, badges or watermarks on the imageReplace the main image
Missing shipping costsNo shipping setting covers the target countryShipping and returns in Merchant Center
Processing failed or invalid encodingFile saved in the wrong encoding or formatRe-export as UTF-8 tab-delimited or XML

Fix issues at the source whenever you can. Edits made directly to a product in Merchant Center can be overwritten by the next upload, and the same problem will come back on every product added later. After fixing, either wait for the next scheduled fetch or trigger a manual fetch for the data source, then check that the issue count drops.

A single header typo can break thousands of products at once, so when a large number of items fail the same way on the same day, look at the file structure before looking at individual products.

Keeping the feed accurate after launch

Most feed problems appear after launch, not during setup. Prices change, items sell out, a theme update breaks structured data, or an app adds fees at checkout. A few habits keep the feed healthy:

  • Update price and availability at least daily, more often if stock moves fast.
  • Leave automatic item updates on. Google enables them by default and uses your structured data to correct price, sale price, availability and condition when they drift. Google says these are a safety net, not a substitute for regular updates.
  • Check the Needs attention tab weekly and after any catalog import.
  • Re-check a handful of products by hand each month, comparing Merchant Center with the live product page.

Frequently asked questions

What is the difference between a feed and a data source in Merchant Center?

They are the same thing under a new name. When Google rebuilt Merchant Center, it renamed feeds to data sources. A product data source is the file, sheet, platform connection, website crawl or API connection that sends your product data to Google.

What format should a Google Shopping feed be in?

Tab-delimited text (.txt or .tsv) and XML (RSS 2.0 or Atom 1.0) are the supported file formats, optionally compressed as .gz, .zip or .bz2, up to 4 GB. You can also use a Google Sheet, a platform integration or the Merchant API instead of a file.

Can a supplemental feed add new products?

No. A supplemental data source only adds or overrides attributes for products that already exist in a primary data source, matched by id. Rows with IDs that are not in the primary source are ignored. New products must come from a primary source.

How often should I update my Google Shopping feed?

At least once a day for price and availability, and more often if stock changes quickly. Items that are not updated for 30 days expire. Platform integrations and the Merchant API update automatically, while hosted files need a scheduled fetch.

Do I need a GTIN for every product in my feed?

Only for products that have one assigned by the manufacturer. Google strongly recommends submitting it when it exists. Custom, handmade and some private-label products have no GTIN, and for those you can send brand and MPN or leave identifiers out. Never invent a number.

Muhammad Mustafa

Founder of AM Jarvis and 95 Solutions LLC. More than a decade running e-commerce stores, Google Shopping campaigns and niche sites. About the author

Platforms such as Shopify, Google Merchant Center, Etsy and Amazon change their menus and rules often. We review guides regularly; if something here no longer matches what you see, let us know.