Meerkat Scout
Sign inBook a demo

Platform · Rules engine

Rules run top to bottom. What comes out is the feed.

Ordered transformations per feed — set, prepend, append, replace, exclude — with optional match conditions. Order is meaning: for the same field, a later rule wins. Watch one product fall through the stack.

Entering — as mirrored from Shopify
Exiting — into the Google Shopping feed
ProductNL-CS2-BLK-10
title
Court Shoe 2
vendor
Northline
product_type
Footwear
variant.option1
Black
price
129.00
google_product_category
— empty
custom_label_0
— empty
metafields.season
— empty
titleCourt Shoe 2
1
Prependtitle"{{ product.vendor }} "
always
titleNorthline Court Shoe 2
google_product_category— empty
2
Setgoogle_product_category"Apparel & Accessories > Shoes"
when product_type
= Footwear
google_product_categoryApparel & Accessories > Shoes
titleNorthline Court Shoe 2
3
Appendtitle" — {{ variant.option1 }}"
always
titleNorthline Court Shoe 2 — Black
titleNorthline Court Shoe 2 — Black
4
Settitle"Northline Court Shoe 2 — Men's Black Tennis Shoe"
system · read-only From an accepted recommendation
titleNorthline Court Shoe 2 — Men's Black Tennis ShoeLater rule, same field — rule 4 wins over 1 and 3.
custom_label_0— empty
5
Setcustom_label_0"{{ product.metafields.season }}"
always
custom_label_0— unchangedWarning: metafields.season is empty for this product — rule skipped, not failed.
Feed item5 rules · 4 applied · 1 warning
title
Northline Court Shoe 2 — Men's Black Tennis Shoe
brand
Northline
google_product_category
Apparel & Accessories > Shoes
color
Black
price
129.00 USD
custom_label_0
— empty (warning)

Rust marks every field a rule changed. Your Shopify product is untouched — the transformation lives only in the feed.

The grammar

Five verbs. Any field. An optional condition.

Template variables can reference any product, variant, or metafield value. A condition limits the rule to products that match; without one, the rule runs on everything in the feed.

VerbDoesExample
SetReplaces the whole value.condition = "new"
PrependAdds to the front.title ← "{{ product.vendor }} "
AppendAdds to the end.title → " — {{ variant.option1 }}"
ReplaceSwaps a match inside the value.description: "Free shipping!" → ""
ExcludeDrops the product from this feed.when inventory_quantity = 0

Template variables

{{ product.title }}{{ product.vendor }}{{ variant.sku }}{{ variant.option1 }}{{ variant.price }}{{ product.metafields.* }}

An empty variable produces a warning on that product and leaves the field as it was. Never a blank field shipped silently.

Starter templates

Google ShoppingMetaAmazonTikTokPinterest+5

Each channel's required fields, pre-mapped from Shopify. Edit, reorder, or delete any rule — a template is a starting point, not a lock.

Import and export

One bad row applies nothing.

Export a feed's rules as CSV, edit them in a spreadsheet, and import them back. Validation is all-or-nothing: if any row fails, Scout applies none of them and tells you which row and why. A half-applied rule stack is worse than no import at all.

google-shopping-rules.csv42 rows
15append,title," — {{ variant.option1 }}",
16set,condition,new,
17sett,custom_label_1,clearance,inventory_quantity < 5
18exclude,,,inventory_quantity = 0
Row 17: unknown action "sett". 0 of 42 rules applied. Your current rules are unchanged.

The loop

Diagnosticsnames the field Rules Enginefixes it Feed Managementrepublishes it Conversion Intelligencesays whether it mattered

Put Scout on watch

Ready to put Scout on watch?

Connect your Shopify store and see the state of every feed, channel, and product from one place.

Start your 14-day free trialBook a demo
No card required. Scout never edits your Shopify products.