Guide
Google Shopping feed rules
Google Shopping feed rules still exist, under a new name: in Merchant Center they are attribute rules, on a tab of each primary data source, and they need the Advanced data source management add-on. This guide covers what each operation does, how conditions and rule order behave, why rules seem not to apply, and the equivalent rule in a feed tool, so you can decide where each piece of logic should live.
We connect your store, build the feed and keep it in sync. Updated 2026-10-27.
At a glance
- Feed rules are now attribute rules: Data sources → a primary product source → Attribute rules tab. The ID attribute has its own ID rules section.
- They require the Advanced data source management add-on. Rules are saved as a draft, tested, applied, and take effect after you reprocess the data source.
- Operations: Set to, Set to multiple, Extract, Take latest, Clear, Prepend, Append, Add repeated field, Optimize URL, Find & Replace, Calculate, Split & Choose.
- Rules change only what Google sees. If Meta, Microsoft or TikTok need the same fix, put the rule upstream in the feed; Merchant Center fetches a feed tool's CSV like any other file.
What Google Merchant Center feed rules are now
Attribute rules transform the data in a primary data source so it matches Google's product data specification: build a title from several columns, fix a value that the store spells its own way, set an attribute that is missing. Google renamed them from feed rules when Merchant Center moved to its current interface, and moved them behind the Advanced data source management add-on.
They run inside Merchant Center, after Google has fetched your file and before products are reviewed. Nothing in your store or your source file changes; the processed value only exists in Google's copy. That is their strength (no developer, no plugin) and their limit (no other channel sees the result, and the logic lives in a screen only Merchant Center users open).
Every Merchant Center feed rule operation and its feed-side equivalent
| Merchant Center operation | What it does | Textfinity mapping rule |
|---|---|---|
| Set to | Fill from a column, a static value or a combination | rename, add static value, combine, advanced |
| Set to multiple | List of values for included/excluded destination and excluded countries | add static value on a custom column; or a filter per feed |
| Extract | Pull matching text out of a value, optional regex | replace from regexp with a capture group; extract from google sheet |
| Take latest | Newest price or availability across two sources | No equivalent; one feed reads one catalog plus merged sources |
| Clear | Remove the value | leave empty |
| Prepend / Append | Add text or an attribute before or after | add prefix / add suffix |
| Add repeated field | Add a value to a multi-value attribute | combine with a comma delimiter |
| Optimize URL | Edit or remove URL parts and parameters | remove from regexp on the link |
| Find & Replace | Swap words or phrases, optional regex | replace from regexp; replace from google sheet for long lists |
| Calculate | Add, subtract, multiply or divide numbers | advanced with calc{} (+ - * /) and round(), e.g. round(calc{[price] * 0.9}, 2) + " USD" |
| Split & Choose | Split a list on a separator and pick elements | replace from regexp with a capture group |
Operations from Google's attribute rules help page, checked 2026-10-27.
Conditions, rule order and reprocessing: why rules seem not to apply
- Conditions compare either a data source attribute (the raw value from one source) or a processed attribute (the value after earlier rules). Comparing against the wrong one is the most common reason a rule matches nothing.
- Conditions are case-insensitive, prices are entered without the currency, and 'equals' needs an exact match. Combine conditions with AND or OR.
- Rules run top to bottom, and Find & Replace operations run one after another, so a later replace sees the output of an earlier one. After Clear runs on a product, no later rule touches it.
- Set to and Take latest apply only when their conditions are met; a Prepend, Append or concatenated Set to fails only if all its references fail.
- Applied rules take effect after you reprocess the data source and then apply to later uploads. A rule saved as a draft does nothing until you test and apply it.
Where to keep the logic: Merchant Center or the feed
Keep a rule in Merchant Center when it is Google-only and small: a Calculate on price, a Take latest between a primary source and a local inventory source, an excluded country while a fix ships, or a one-off Find & Replace you will delete next month.
Move it upstream when the same fix is needed on Meta, Microsoft or TikTok, when it needs a lookup table of more than a few values, when it depends on data the store export does not have, or when more than one person needs to see why a title looks the way it does. In Textfinity those rules sit on the feed's mapping tab next to its filters, run on every sync, and can be checked product by product in the product explorer before Merchant Center fetches the file. Textfinity does not import Merchant Center diagnostics, so disapprovals are still read there.
Examples
Worked examples, by situation
Four Merchant Center rules merchants asked us to move, and one we told them to keep.
Color spellings: Find & Replace becomes a lookup sheet
Before
color: NAVY / navy blue / Navy / dk navy
After
color: Navy
How we set it up
Merchant Center needed four Find & Replace rules and still missed new spellings. We map color with replace from google sheet from a two-column sheet (variant → Navy), longer spellings such as dk navy above shorter ones, because it replaces substrings row by row; feed hygiene's value consistency check lists new variants after each sync. Meta gets the same values.
Calculate moves into the feed
Before
cost: 42.00 · price: 79.00 USD custom_label_1: (empty)
After
custom_label_1: margin-high
How we set it up
We map custom_label_1 as an advanced expression: if calc{([price] - [cost]) / [price]} > 0.4 then "margin-high" else "margin-standard". The cost column is already in the export and filled on every row (a blank cost fails the rule), so the ratio is recomputed on every rebuild and the Merchant Center Calculate and Set rules can be deleted.
Tracking parameters out of every link
Before
link: https://shop.example/serum?utm_source=feed&utm_medium=cpc
After
link: https://shop.example/serum
How we set it up
In Merchant Center: Optimize URL, remove parameters. In the feed, we map link with remove from regexp \?utm_[^&]*(&utm_[^&]*)*$, which also cleans the Meta and Microsoft feeds built from the same export.
Excluded countries: Set to multiple or a filter per feed
Feed DE: exclude filters
exclude if [ships_to] does not include "DE"
exclude if [product_type] includes "Outdoor > Pools"How we set it up
Merchant Center would use Set to multiple on shopping_ads_excluded_country. With one feed per country, we add exclude filters with does not include and includes that remove the product from that country's feed instead, and the logic is visible next to the feed it affects.
Copy this plan
Plan: decide where each feed rule lives, then move it
Steps 1 and 6 happen in Merchant Center; steps 2 to 5 we set up in Textfinity for you.
01
List the attribute rules you already have
Open each primary data source's Attribute rules tab and write down the attribute, operation and condition for every rule. Mark the ones that are Google-only. This happens in Merchant Center.
02
Connect the catalog
Shopify natively, or the store's CSV export or Google-shaped XML feed on a URL or SFTP server.
What we set up: We connect your store to Textfinity: Shopify natively, any other platform through its export URL.03
Rebuild the transforms as mapping rules
Use the table above: Set to becomes rename or combine, Find & Replace becomes replace from regexp or a sheet lookup, Optimize URL becomes remove from regexp.
What we set up: We build a Google Shopping feed from the channel template and rewrite each rule as a mapping transform on its attribute, with a condition where the rule had one.04
Rebuild exclusions as filters
Rules that cleared or excluded products become include or exclude filters, which remove the row from the feed for every channel built on it.
What we set up: We rewrite exclusions as filter rules with includes, is in list, is less than or matches regexp on the source columns.05
Check products before Google sees them
Open a few products from each rule's condition and compare the mapped output with what Merchant Center showed.
What we set up: We compare the mapped output of sample products in the product explorer with what Merchant Center showed, and send you the differences.06
Register the feed in Merchant Center and retire the moved rules
Add the feed URL as a data source that Merchant Center fetches on a schedule, then delete the Merchant Center rules you moved so the two do not fight. Keep Take latest rules, and any small Calculate you chose not to move, there. The deletion happens in Merchant Center.
What we set up: We register the feed URL in your Merchant Center with a fetch schedule, with access you give us or on a short call, and list the rules that can now be deleted.
Customization tips
Make it yours
One place per attribute
A title built in the feed and then rewritten by an attribute rule is the hardest bug to find. Decide per attribute whether Merchant Center or the feed owns it, and note it in the rule inventory.
Conditions on raw values survive refactors
A Merchant Center condition on a processed attribute breaks when an earlier rule changes. Conditions on the raw data source value are more robust; in a feed tool, conditions always read the source column.
Sheets for lists, regex for patterns
Ten brand spellings are a lookup table, not ten Find & Replace rules. A pattern (strip HTML, drop tracking parameters) is one regex. Choosing the right tool keeps the rule count small enough to read.
Supplemental sources are data, not rules
If you would have to type a value per product, it is data: put it in a supplemental source in Merchant Center or a merged source in the feed. Rules are for values you can derive in one sentence from existing columns.
FAQ
Questions about google shopping feed rules
Where are feed rules in Google Merchant Center?
They are now called attribute rules. Go to Data sources, select a primary product data source and open the Attribute rules tab. The ID attribute is handled separately under ID rules. You need the Advanced data source management add-on to use them.
Why is my Merchant Center feed rule not working?
Usually one of four things: the rule is still a draft and was never applied, the data source was not reprocessed after applying, the condition compares the raw value when it should compare the processed one (or the reverse), or an earlier Clear operation stopped all later rules for that product.
Do Merchant Center feed rules apply to Meta or Microsoft?
No. Attribute rules change only Google's processed copy of your data. Meta, Microsoft and TikTok read your original file, so a fix that every channel needs belongs in the feed itself or in the tool that builds it.
What is the difference between feed rules and a supplemental feed?
Rules derive values from data already in the primary source, such as building a title or replacing a spelling. A supplemental data source adds or overrides values from a second file keyed on id, for data the primary source does not contain, such as custom labels or GTINs.
Set up for you
We'll move your feed rules where every channel can use them.
Send us your rule list and store URL. We rebuild the rules as mapping and filter rules, check products against what Merchant Center showed and register the feed with you.
Tell us your store and channels. We reply within 24 hours.