Supplemental Feeds: Override Product Data in Merchant Center
Add custom labels or fix product attributes from Google Sheets or a file without touching your store export, and make sure each row reaches its product.
A supplemental feed is a second Merchant Center data source that adds or replaces attributes on products your primary feed already sends. Your store export stays untouched. Turn on the Advanced data source management add-on and go to Settings → Data sources → Supplemental sources. Fill the feed from Google Sheets, a file or the API, and link it to your primary feed. Rows match products by ID, feed label and language. To replace values, not just fill gaps, put the supplemental feed before the primary feed in the default rule.
What can a supplemental feed change, and what can’t it?
A supplemental feed, called a supplemental data source in the interface, is a secondary data source. According to Merchant Center Help (Create a product data source), it adds details your primary feed is missing or updates existing ones. It can’t add or remove products, and it can’t work as a standalone source. The Merchant API documentation (Products overview) describes the result the same way: Google builds the final product from one primary input and zero or more supplemental inputs.
That makes a supplemental feed the right place for data your store doesn’t hold or shouldn’t change. It is one of several ways to shape product data, and our Merchant Center guide for online stores covers the account as a whole. The most common job for a supplemental feed is custom labels: five fields, custom_label_0 to custom_label_4, that you define yourself to group products in Performance Max and Shopping campaigns. According to Merchant Center Help (Custom label 0–4), shoppers never see these values.
| What stores put in a supplemental feed | Why it lives outside the store export |
|---|---|
| Custom labels: sales results, season, price band, margin group | It is campaign logic, not a product fact, and it changes with ad results |
| A missing GTIN, brand or product type for part of the catalogue | The store platform has no field for it, or the field is empty |
| A new title for a subset of products | You test a title formula without changing the website |
| Price and availability between full exports | A quick update shouldn’t wait for the next export; Google’s “Take latest” rule picks the most recently updated value |
The last row comes from Google’s own instructions. The same Help page, Create a product data source, says the old online inventory sources are deprecated. A supplemental feed with id, price and availability does the same job. Merchant Center Help (Set up your attribute rules) limits “Take latest” to price and availability attributes.
Supplemental feed, attribute rules or store export: which one to use?
Each tool fits a different kind of change. Attribute rules transform values already in your feeds. A supplemental feed adds new values from a separate sheet or file. The store export holds the facts that must match your website.
| Store export | Attribute rules | Supplemental feed | |
|---|---|---|---|
| What it changes | The source data itself | Values already in your feeds, by a formula | Values for specific product IDs, from a separate sheet or file |
| Best for | Price, availability and descriptions that must match the site | One change across many products: brand in front of the title, a standard colour name | Values the store doesn’t hold: labels from ad results, missing identifiers |
| Who edits it | Whoever runs the store platform | Merchant Center users | Anyone with access to the sheet or file |
| The catch | Each change needs a developer or a platform setting | The logic lives in Merchant Center, out of sight of the store team | Rows fall out of step with the catalogue |
Attribute rules and supplemental feeds need the same add-on, Advanced data source management. Our article on feed rules in Merchant Center shows where rules stop and a supplemental feed takes over.
How do I set up a supplemental feed in Merchant Center?
These steps follow Merchant Center Help as of 2026. Google renames menu items from time to time, so check the menu names in your own account.
- Turn on Advanced data source management. Go to Settings → Add-ons, open the Discover tab and select Activate on the Advanced data source management card. According to Merchant Center Help (Advanced data source management), this add-on enables attribute rules and supplemental feeds. Check: Settings → Data sources now shows a Supplemental sources tab.
- Prepare the data. Make the first column
id, written exactly as in your primary feed. Then add columns only for the attributes you add or replace, named as in Google’s product data specification, for examplecustom_label_1. Use one row per product, and leave out products you don’t change. Check: open five products in Merchant Center and compare their IDs with your rows character by character. - Create the feed. Go to Settings → Data sources, open the Supplemental sources tab and select Add supplemental product data. Choose the input: a file, a Google Sheets template or the API.
- Fill in the form. Depending on the input, Merchant Center asks for a file name, the product ID, a data source label and a language. Check: the data source label and language are the same as on the products in your primary feed.
- Link it to the primary feed. Select the primary feed the new data should apply to, then select Create data source.
- Check which value wins. In the Merchant API guide (Manage API data sources for product uploads), data sources sit in an ordered list. Google takes each attribute from the first source in the list that provides it. If your primary feed comes first, the supplemental feed only fills attributes the primary feed leaves empty. The guide calls this list the default rule. In the interface, Merchant Center Help describes the default rule as the rule Google assigns for each attribute. It takes the value from either the supplemental or the primary feed, and you find it under Data sources → your primary feed → Attribute rules. Check: the supplemental feed comes before the primary feed for every attribute it should replace.
- Fetch and verify. According to Merchant Center Help (Manage your data sources), the Update button on the Data sources tab starts a refresh by hand. Check: the number of processed products equals the number of rows in your file, and the new value shows on a few product pages.
To undo an override through the API, delete the product from the supplemental feed. According to the Merchant API guide (Add and manage products), this removes only that feed’s attributes. The product stays, built from the primary feed and any other supplemental feeds.
Google Sheets as a supplemental feed: an example
Example store, not client data.
A tableware shop with 3,000 products wants to separate the products that got impressions last month from the ones that got none. Its ad data for the month shows 1,200 products with at least one impression, so 1,800 products, or 60% of the catalogue, got no impressions at all. The shop creates a supplemental feed from a Google Sheets template with two columns:
| id | custom_label_1 |
|---|---|
| TW-0001 | shown |
| TW-0002 | not-shown |
| TW-0003 | not-shown |
The sheet has 3,000 rows: 1,200 marked shown and 1,800 marked not-shown. A separate test campaign then takes only the products with custom_label_1 = not-shown. Our guide to product segmentation for Shopping and Performance Max shows how to build campaigns on labels like this.
A spreadsheet works well for a one-off job like this. It starts to fail when the labels have to follow the catalogue:
- New products have no row. They get no value from this feed and end up in whatever product group catches unlabelled products.
- Ad results change, the sheet stays the same. A label based on sales or impressions is correct on the day you fill it in. After that, it changes only when someone edits the sheet.
- IDs copied by hand drift. One changed character, and the row no longer reaches its product.
Store owners who keep labels this way describe the same problem: going through the catalogue by hand takes a week, and a month later it’s all over again.
Why doesn’t the supplemental value show up on some products?
When a row doesn’t reach its product, check the match first. Merchant Center Help (ID [id]) says the ID, together with the target country and language, identifies a product. According to the Merchant API guide (Add and manage products), supplemental data reaches a product only when the ID, the feed label and the language match it.
- The ID differs, sometimes only by case. Product IDs are case-sensitive in Merchant Center. The same Help page warns that IDs that differ only by case can cause matching problems between supplemental and primary feeds. We cover this separately in the item ID case trap.
- The language or feed label differs. The interface form asks for a language and a data source label. The Merchant API guide to data sources, Manage API data sources for product uploads, adds another option. A supplemental feed created without a feed label and language applies to any label and language in the primary feeds it is linked to. Matching then happens product by product.
- The order of feeds hides the value. If the primary feed comes first in the default rule and already has a value, the supplemental value never shows. Put the supplemental feed first for every attribute it should replace.
- You send supplemental data through the API to an advanced (multi-client) account. The same data sources guide says the API doesn’t support supplemental feeds and rules for advanced accounts. There, you manage both only in the Merchant Center interface.
Language matters most for stores that sell in one country in two languages, for example with Ukrainian and Russian feeds for Ukraine. Google’s ID rules ask you to use the same ID for the same product in every language, so each product exists twice, once per language.
Our own label files used to come one per language. The portal’s label files come one per market, and that file is linked to each primary feed of the market. Whichever setup you choose, check after the first fetch that both languages have the same number of labelled products.
Most bestsellers hold their place for three months or less
In our study of 1.4 million products across 130+ stores over 13 months, 64.7% of winning products were one-offs: one conversion in one month, and nothing after. Of the bestsellers, 71% stayed in the top for no more than 3 of the 13 months, and the median stable winner lasted 3 months. A label sheet filled in once describes the catalogue as it was on that day. Within a quarter, part of the “bestsellers” group is yesterday’s winners.
That is why the portal recomputes labels with every data refresh. It sorts every product into one of eight labels, from Bestsellers to To remove, by how the product behaved in ads over 12 months. You can export any group as a list with product IDs.
Before those IDs become the rows of a supplemental feed, compare their case with your primary feed: an ID that differs only in case may not match. The page about products and labels in the portal shows how this works.
How we build label feeds, and what you can copy
When our team builds label feeds for stores, the files follow a few rules. You can apply each one to an ordinary Google Sheet.
- Two fields, one job. A label file carries only
idand one custom label column. Each file owns one attribute, so you always know where a value came from. - Publish first, fetch second. We generate the file overnight and schedule the Merchant Center fetch for after it is published. That way, the fetch doesn’t catch a file that is still being written.
- Count after every fetch. The number of processed products should match the number of labelled products in the file. Merchant Center diagnostics should also show the custom label column filled in.
- Compare with the live file before replacing it. We weigh the new file against the live one by spend over the last 30 days. If labels move on a large share of spend, or the file suddenly loses many products, publication stops until a person looks at it.
- Keep label values few and stable. Merchant Center Help (Custom label 0–4) allows up to 1,000 unique values per custom label across the account. Google ignores values beyond that limit in reporting and bidding. Label values aren’t case-sensitive, unlike product IDs.
What to check in your supplemental feeds this week
- List every change you make to product data outside the store. Note which tool holds it: the export, a rule or a supplemental feed. When something breaks, you fix it faster if you know where the change lives.
- Give each job its own supplemental feed. Labels from ad results go in one, identifier fixes in another. With one feed per attribute, the order of feeds stays easy to read.
- Check the default rule for every attribute you replace. The supplemental feed must come before the primary feed. Otherwise, it only fills empty values.
- Fetch, then count in every language and feed label. Processed products should equal the number of rows in your file, and in a market with two languages, both should have the same number of labelled products. Open five products and read the value on the product page.
- Put a refresh date on every label sheet. In our data, the top of the catalogue changes within about three months, so a sheet older than a quarter needs a fresh pass.
Which products bring money in and which spend it. Every product gets its own label based on how it behaves in ads — from bestsellers to dormant ones that spend budget without a single sale. The portal changes nothing without your consent.
Sources
- Create a product data source — Merchant Center Help: what a supplemental data source is, that it can’t add or remove products or stand alone, the steps and form fields, the Supplemental sources tab only with the add-on, price and availability updates instead of online inventory sources. Checked 2 October 2026.
- Advanced data source management — Merchant Center Help: the add-on enables attribute rules and supplemental data sources; how to activate it. Checked 2 October 2026.
- Set up your attribute rules — Merchant Center Help: the default rule takes each attribute from the supplemental or the primary source; “Take latest” works for price and availability only; where Attribute rules sit. Checked 2 October 2026.
- Manage your data sources — Merchant Center Help: where the Data sources tab is; the Update button refreshes a source by hand. Checked 2 October 2026.
- ID [id] — Merchant Center Help: ID with country and language identifies a product; IDs are case-sensitive; casing can break matching between supplemental and primary feeds; same ID across languages. Checked 2 October 2026.
- Custom label 0–4 [custom_label_0–4] — Merchant Center Help: five custom labels for Performance Max and Shopping, not shown to shoppers, not case-sensitive, up to 1,000 unique values per label. Checked 2 October 2026.
- Manage API data sources for product uploads — Merchant API: supplemental sources with or without feed label and language, the ordered list in the default rule, no supplemental sources through the API for advanced accounts. Checked 2 October 2026.
- Add and manage products — Merchant API: supplemental data for products that already exist, matched by ID, feed label and language; deleting from a supplemental source removes only its attributes. Checked 2 October 2026.
- Products overview — Merchant API: a product is built from one primary input and zero or more supplemental inputs. Checked 2 October 2026.
- GetProfit study of 1,404,808 products, 130+ stores, 13 months — share of one-off winners, how long bestsellers stay in the top.
- GetProfit portal — eight product labels over a 12-month window, recomputed with every data refresh, groups exported as lists.
- GetProfit label feeds — file layout, publication and checks before replacing the live file.
Google Merchant Center: What to Set Up, What Affects Sales
The six settings a store needs before products can show, and the statuses that limit or remove them. In our data, the most common issue is fixed in Google Ads.
Google Shopping Feed Optimisation in Three Passes
See which feed fixes get more products shown and clicked, and why approval comes first: an unapproved product gets no impressions at all.