Product Feeds
What Is a Product Feed? Google Merchant Center Data Sources Explained
A plain-language guide to product feeds in Google Merchant Center: what they contain, how they reach Google, and how they have to agree with your product pages and structured data.
A product feed is the structured list of products you send to Google Merchant Center. Each row (or API record) describes one product with attributes such as ID, title, price, availability and image. Google uses that data to show your products in Shopping ads and free listings.
Merchant Center’s interface calls these product data sources, and a feed is one kind of data source. This guide explains the ways to submit product data, the attributes Google requires, how primary and supplemental sources work together, and why the feed, your landing pages and your structured data all need to tell the same story.
Short answer: A product feed is a structured file, spreadsheet or API connection that sends your product catalog to Google Merchant Center, one record per product. It holds required attributes such as id, title, description, link, image_link, price and availability. Google checks this data against your product pages and structured data, then uses it for Shopping ads and free listings.
Key Takeaways
- In Merchant Center, a feed is a product data source: a file, a Google Sheets template, the Merchant API or a platform app.
- Only a primary data source can add or remove products; supplemental sources update attributes on products that already exist.
- Required attributes include id, title, description, link, image_link, price and availability, plus identifiers, condition, shipping and variant attributes where they apply.
- Google crawls your product pages and compares price and availability with the feed; mismatches can lead to disapprovals.
- Product structured data on the page should carry the same values as the feed, in the initial HTML.
What a product feed is
Think of a product feed as a table. Each row is a product variant you sell, and each column is an attribute: the product’s ID, its title, the URL of its page, its main image, its price, whether it’s in stock, and so on. Merchant Center reads that table, checks it against its requirements and your website, and turns each row into a product it can show to shoppers.
The feed doesn’t have to be a literal file. The same product data can arrive through a spreadsheet, an API connection, or an app on your e-commerce platform that syncs products for you. What matters is the data model underneath: one record per product, described with Google’s attribute names and formats from the product data specification.
Feed, data source and catalog
These terms get used loosely, so it helps to separate them:
| Term | What it means here |
|---|---|
| Catalog | All the products you sell, as they exist in your store or inventory system. |
| Product feed | The structured export of that catalog in Google’s attribute format (a file, sheet or API payload). |
| Data source | What Merchant Center calls each connection that supplies product data: primary, supplemental or regional inventory. |
| Product | One item as Merchant Center sees it after processing, with its status and any issues. |
Where feed data shows up
Approved product data can be used for Shopping ads and for free listings. Google’s free listings documentation says free listings can appear across Google Search, the Shopping tab, Maps, Images, Lens, YouTube, Gemini and the products module on a Business Profile. Only product pages qualify, not homepages, category pages or policy pages.
Google also notes that it may show product content it crawls from your store even without schema.org markup or Merchant Center. A feed gives you control over what Google receives and how it’s described. For how the two programs differ, see Google Shopping vs free listings.
The ways to submit a product feed
Google’s guide to creating a product data source lists three direct methods. Platform apps are a fourth route that most Shopify and WooCommerce stores use.
| Method | How it works | Best suited to |
|---|---|---|
| File | You create a file and add it by manual upload, SFTP or Google Cloud Storage | Stores with a feed export tool, or teams that want full control of the file |
| Google Sheets template | Products are listed in a Google-provided spreadsheet template linked to Merchant Center | Small catalogs and stores without a platform integration |
| Merchant API | Your system sends product data programmatically | Large catalogs or products that change often; needs technical resources |
| Platform app | An app such as the Google & YouTube app for Shopify or Google for WooCommerce syncs products from your store | Most stores on those platforms, especially at setup |
Files
A file data source is the classic “feed”: a file of products with a header row of attribute names. When you create the data source, Merchant Center asks for the file name, which must match the uploaded file exactly, use a valid extension and avoid special characters. You can then upload the file by hand or deliver it through SFTP or Google Cloud Storage.
Google Sheets
The Google Sheets template is the simplest way to start without a platform app. It suits catalogs small enough to maintain by hand. Practitioner tip: format identifier columns (GTIN, ID) as plain text so the spreadsheet doesn’t strip leading zeros.
Merchant API
Google describes the Merchant API as the technical option for large catalogs or frequent changes. Its automatic item updates documentation goes further: if your prices or stock change more than once a day, Google recommends the Merchant API rather than relying on automatic updates. Accounts created by a partner platform also receive their data through the Merchant API, and changes go through that partner.
Platform apps
On Shopify, the Google & YouTube app links Merchant Center and syncs products automatically or manually. On WooCommerce, the official Google for WooCommerce extension handles the product feed and free listings. In both cases the app generates the feed for you, so you fix most data problems by editing products in the store, not in Merchant Center. See connecting Shopify to Merchant Center for the Shopify setup.
Pick one method as the source of truth for each product. Google’s shipping documentation notes that API and third-party updates (for example from Shopify) may overwrite manual Merchant Center edits, and the same logic applies to product data.
Required product attributes
Every product needs a core set of attributes. The table below combines Google’s product data specification with the attributes its free listings documentation lists as required. “Where it applies” means the attribute is required only for certain products.
| Attribute | What it is | Key rule from Google |
|---|---|---|
| id | Your unique identifier for the product | 1 to 50 characters; Google recommends using the SKU; keep it stable |
| title | The product’s name as shown to shoppers | 1 to 150 characters; must describe the product on the landing page |
| description | Text describing the product | 1 to 5,000 characters; describe only this product |
| link | URL of the product’s landing page | Must start with http:// or https:// and use your verified domain |
| image_link | URL of the main product image | Accurate image without promotional overlays; at least 500 x 500 px for all products from January 31, 2027 |
| price | The product’s price and currency | Must match the landing page and checkout |
| availability | Stock status | in_stock, out_of_stock, preorder, backorder (build_to_order for vehicles); must match the page |
| brand | The product’s brand | Where there is a clearly associated brand |
| gtin | Global Trade Item Number | Where the manufacturer assigned one |
| mpn | Manufacturer part number | Where there’s no GTIN |
| condition | new, used or refurbished | Required for used and refurbished products |
| item_group_id | Shared ID for variants of one product | Required for variants (for free listings, and for Shopping ads in several countries including the US) |
| color, size, age_group, gender | Apparel attributes | Required for apparel products |
| multipack, is_bundle | Multipacks and bundles | Where the product is a multipack or bundle |
| shipping | Item-level shipping cost | Shipping settings or this attribute are required in countries including the US, Canada, UK and Australia |
Each of these has detailed rules. Identifiers are explained in GTIN, MPN and brand explained, titles and descriptions in product titles for Google Shopping, and variants in how to manage product variants.
Recommended and optional attributes
Beyond the required set, Google supports attributes that add detail or control how products are handled. The ones most stores use:
| Attribute | What it does |
|---|---|
| additional_image_link | Extra product images, up to 10 |
| sale_price, sale_price_effective_date | A temporary sale price and the dates it applies |
| identifier_exists | Tells Google a product has no manufacturer identifiers (for example one-of-a-kind or vintage items) |
| pattern, material, size_type, size_system | Recommended detail, especially for apparel |
| canonical_link | Recommended canonical URL for the product page |
| product_type, google_product_category | Your own category path and Google’s category, kept out of titles and descriptions |
| shipping_label, return_policy_label | Assign products to specific shipping or return policies |
| excluded_destination | Keep a product out of a marketing method, such as Shopping ads |
| pause | Pause a product for up to 14 days without deleting it |
| structured_title, structured_description | Used for AI-generated titles and descriptions, with a digital source type |
How a product feed is structured
Whatever the method, the logic is the same: one record per item, one value per attribute, using Google’s attribute names. A few structural rules shape everything else.
One record per variant
Google treats each variant as its own product. Its item group ID documentation gives the example of a shirt in 3 sizes and 3 colors: that’s 9 products, each with a unique id and the same item_group_id. The parent product isn’t submitted as a separate item.
IDs that never change
The id attribute is how Merchant Center recognizes a product over time. Changing an ID overwrites the product and its history, and reusing an ID for a different product causes confusion. Google also warns not to rely on letter case to make IDs unique, since “abc123” and “ABC123” may be treated as the same.
Targeting set by the data source
A primary data source carries the target countries and language for its products. You can target several countries from one source by editing its countries, and add other languages with a separate source of translated data, as covered in handling multiple countries and currencies.
Feed labels
With the Advanced data source management add-on, feed labels let you group products for campaigns. A Shopping, Demand Gen or Performance Max campaign uses one feed label. Labels are up to 20 characters (uppercase A to Z, 0 to 9, hyphen and underscore, no spaces) and, like the language, can’t be changed after the data source is created.
Primary vs supplemental data sources
Merchant Center separates the source that defines your products from sources that only add to them.
| Primary data source | Supplemental data source | Regional inventory source | |
|---|---|---|---|
| Purpose | Defines which products exist | Adds or updates attributes on existing products | Region-specific price and availability |
| Can add or remove products | Yes (the only type that can) | No | No |
| Can stand alone | Yes | No; it needs a primary source | No |
| Sets countries, language and rules | Yes | No | No |
| Matching | Not applicable | By id, exactly, with the same feed label as the primary source | By id plus region_id |
| Typical content | The full catalog | Corrected titles, missing GTINs, custom labels, price and availability updates | price, sale_price, sale_price_effective_date, availability per region |
Google recommends keeping all products in a single primary data source and using excluded_destination to keep products out of specific marketing methods. It also says not to submit the same products in separate online and local primary sources.
The Supplemental sources tab only appears when the Advanced data source management add-on is enabled (Settings > Add-ons). Google has also deprecated the older “online inventory” data sources: for quick price and stock updates it now points to a supplemental source containing id, price and availability, linked with a “Take latest” rule.
For a full walk-through, see supplemental feeds explained. Rules that transform values as they’re processed (previously called feed rules, now attribute rules) are covered in feed rules and attribute mapping.
How feeds relate to your landing pages
Merchant Center doesn’t take your feed on trust. Googlebot crawls the landing page in each product’s link and compares what it finds with what you submitted. This is the single most important idea in feed management: the feed has to describe the page.
| What Google compares | What has to be true | What happens if not |
|---|---|---|
| Price | The price in the data source matches the price on the landing page or in structured data, in the currency prominently displayed | The product may be disapproved; repeated mismatches may lead to account suspension |
| Availability | The stock status in the data matches what the page shows (buy button active, or clearly sold out) | Disapproval; too many incorrect values put the account at risk |
| Landing page | The URL loads, without errors or more than two redirects | Products are disabled until the page is accessible |
| Title and description | They describe the product on the landing page | Title and description issues |
| Variants | Variant values (title, color, price, availability, image) match what the page shows for that variant | Mismatch and variant issues |
JavaScript and the price Google sees
Google’s price mismatch article explains that Googlebot crawls the HTML your server returns. If the price is injected with JavaScript after the page loads, that can trigger a mismatch. The price in the HTML must match the feed exactly.
Timing between site and feed
The most common cause of availability mismatches, according to Google, is timing: stock changes on your site before your product data is updated. Scheduling feed updates to coincide with site updates, or using automatic item updates, reduces the gap. The fix guides for price mismatches and availability mismatches cover the details.
Automatic item updates
Automatic item updates (the Automations tab under Products) use your landing page data, including structured data, to update price, sale price, availability and condition. They’re enabled by default. Google describes them as a fix for sporadic problems on a small share of products, not a replacement for keeping your feed current.
How feeds relate to structured data
Product structured data is markup on your product page that describes the same product in schema.org format. Google Search Central’s merchant listing structured data documentation says it can make pages eligible for merchant listing experiences, and Merchant Center uses landing page data, including structured data, to check and update your feed.
That gives you two descriptions of every product: the feed and the markup. They should agree. Most feed attributes have a direct schema.org counterpart:
| Feed attribute | Structured data property |
|---|---|
| id | sku |
| title | name |
| description | description |
| image_link | image |
| price | offers.price and offers.priceCurrency |
| availability | offers.availability (for example InStock, OutOfStock, PreOrder, BackOrder) |
| condition | offers.itemCondition |
| brand | brand.name |
| gtin, mpn | gtin (or gtin8, gtin12, gtin13, gtin14, isbn), mpn |
| item_group_id | inProductGroupWithID |
What Search Central requires
- Required properties are name, image and offers. The offer needs a price greater than zero and a priceCurrency in ISO 4217 format, and the merchant must be the seller.
- Only pages where a shopper can buy the product qualify, and each page should focus on a single product or its variants.
- Use a distinct URL for each currency.
- Put Product structured data in the initial HTML. Google warns that markup generated with JavaScript can make Shopping crawls less frequent and less reliable for fast-changing price and availability.
- A
priceValidUntildate in the past can stop the listing from displaying.
For a deeper look, read how product structured data supports Shopping and how to align website data and product feeds.
When structured data and the feed disagree, fix the system that generates both rather than patching one. On most stores, the platform or theme writes the markup and an app writes the feed, and both should read from the same product record.
What happens after you submit a feed
Once a data source is connected, the product data moves through a few stages. Knowing them helps you work out where a problem started.
- Fetch or receive. Merchant Center gets the file, sheet or API data, or your platform app syncs it.
- Process. Attribute rules and any supplemental sources are applied in order, and values are checked against the specification.
- Check against the website. Google crawls landing pages and images and compares price, availability and other values.
- Review against policies. Products are checked against the Shopping ads and listings policies.
- Report status. Issues appear under Products > Needs attention, ranked by impact.
- Show. Approved products become eligible for the marketing methods you’ve enabled. Eligibility doesn’t guarantee they’ll show.
The Needs attention tab is where you’ll spend most of your feed maintenance time. It groups issues, rates affected products by click potential and links each issue to suggested actions. See how to use Merchant Center diagnostics.
Common product feed problems
Most feed issues come from a short list of causes. Here’s where each one is covered in depth.
| Problem | Usual cause | Guide |
|---|---|---|
| Processing or formatting errors | Invalid values, wrong formats, mismatched file names | Data source errors |
| Missing or incorrect identifiers | GTIN not exported, copied or invented values | Fix missing identifiers |
| Price mismatch | Slow updates, sale handling, JavaScript prices, currency | Fix price mismatches |
| Image issues | Overlays, placeholders, small or uncrawlable images | Fix image issues |
| Duplicate products | Same product submitted twice or IDs reused | Fix duplicate products |
| Weak titles | Vague titles, missing attributes, promotional text | Product titles guide |
For a structured review of a whole feed, use the product feed optimization checklist.
Do you need a feed if you use Shopify or WooCommerce?
Yes, but you may never see it. The Google & YouTube app and Google for WooCommerce build and sync product data for you. You still need to understand the feed, because every issue Merchant Center reports is about an attribute in that data.
Common reasons stores outgrow the default app feed include: the platform doesn’t have a field for an attribute you need, titles need restructuring for search, variants are grouped differently from the landing page, or prices change faster than the sync. A supplemental data source or attribute rules can often fill the gap without replacing the app.
If you’re starting from scratch, how to build a Google Shopping product feed walks through creating one step by step.
When to get help
Feeds are easy to start and harder to keep accurate as a catalog grows. Help is worth considering when you have recurring mismatches, several data sources that overwrite each other, many products with limited visibility, or a platform that can’t send the attributes you need. Our product feed optimization service audits and fixes feeds at the source, and our Merchant Center service covers the wider account.
Frequently asked questions
Is a product feed the same as a data source?
In Merchant Center, a feed is one kind of product data source. Data sources can also be a Google Sheets template, the Merchant API or a platform app that syncs products.
What attributes are required in a Google product feed?
The core required attributes are id, title, description, link, image_link, price and availability. Brand, GTIN or MPN, condition, shipping, item_group_id and apparel attributes are required where they apply.
What is the difference between a primary and a supplemental feed?
A primary data source defines which products exist and is the only type that can add or remove products. A supplemental source only adds or updates attributes on products already in a primary source, matched by ID.
Does my feed have to match my website?
Yes. Google crawls your landing pages and compares price and availability with your data. Mismatches can cause disapprovals, and repeated mismatches can put the account at risk.
Can I have more than one primary data source?
You can, but Google recommends keeping all products in a single primary source and excluding products from specific marketing methods with excluded_destination.
Do I still need structured data if I have a feed?
Google uses landing page data, including structured data, to check and update product information, and Product markup can make pages eligible for merchant listing experiences. Keeping both consistent is the safest approach.
Need help with your product feed?
We audit your feed against your website and Google’s specification, then fix data problems at the source so they stay fixed.
Sources
- Google Merchant Center Help — Create a product data source
- Google Merchant Center Help — Product data specification
- Google Merchant Center Help — Free listings for products
- Google Merchant Center Help — ID [id]
- Google Merchant Center Help — Item group ID [item_group_id]
- Google Merchant Center Help — Feed labels
- Google Merchant Center Help — Show products in multiple target countries
- Google Merchant Center Help — How to fix: Mismatched product price
- Google Merchant Center Help — How to fix: Mismatched product availability
- Google Merchant Center Help — How to fix: Product page unavailable
- Google Merchant Center Help — Automatic item updates
- Google Merchant Center Help — The Needs attention tab
- Google Search Central — Merchant listing structured data
- Google Merchant Center Help — Install and link the Google & YouTube app on Shopify
- WooCommerce Docs — Google for WooCommerce: Get started
Last reviewed October 10, 2026 against the official documentation listed above. Google changes Merchant Center features and policies regularly — always confirm details in your own account.
