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 operationWhat it doesTextfinity mapping rule
Set toFill from a column, a static value or a combinationrename, add static value, combine, advanced
Set to multipleList of values for included/excluded destination and excluded countriesadd static value on a custom column; or a filter per feed
ExtractPull matching text out of a value, optional regexreplace from regexp with a capture group; extract from google sheet
Take latestNewest price or availability across two sourcesNo equivalent; one feed reads one catalog plus merged sources
ClearRemove the valueleave empty
Prepend / AppendAdd text or an attribute before or afteradd prefix / add suffix
Add repeated fieldAdd a value to a multi-value attributecombine with a comma delimiter
Optimize URLEdit or remove URL parts and parametersremove from regexp on the link
Find & ReplaceSwap words or phrases, optional regexreplace from regexp; replace from google sheet for long lists
CalculateAdd, subtract, multiply or divide numbersadvanced with calc{} (+ - * /) and round(), e.g. round(calc{[price] * 0.9}, 2) + " USD"
Split & ChooseSplit a list on a separator and pick elementsreplace 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.

Fashion · Google Shopping and Meta · 3,000 SKUs · Shopify

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.

Electronics · Google Shopping, US · 1,500 SKUs · CSV export

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.

Beauty · Google Shopping, UK · 400 SKUs · WooCommerce CSV

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.

Furniture · Google Shopping, Germany and Austria · 900 SKUs · two feeds

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.

  1. 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.

  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Have us rebuild my feed rulesOr email support@textfinity.io

Tell us your store and channels. We reply within 24 hours.