Channel Automations

The Rules tab lets you write condition-then-action rules that adjust a channel's field values per product. A channel rule can set a field, mark a product for review, or exclude it from this feed — and a rule pointed at a nested field replaces that field's whole block.

Updated September 4, 2026

What automations do#

An automation is a rule of the shape when this condition is true, do this action — evaluated per product, every time the channel renders. It's the same rule engine used in Studio templates, applied to channel fields instead of template elements — though the two have different actions available, because a feed entry and a rendered ad are different things.

Automations live in the channel's Rules tab. Typical uses:

  • Set a field to a different value when stock runs out.
  • Populate a sale-price field only when the product is actually on sale.
  • Flag a product's status so the destination stops showing it, if required content is missing.
  • Exclude sold-out or discontinued products from this channel's feed entirely.

The built-in automations#

Most channel types seed a starting set of automations so the channel works sensibly out of the box:

  • Availability — sets the availability/quantity field to out-of-stock when a product's stock count is zero. (On a Google Shopping channel, this also triggers when required content is missing.)
  • Sale price — sets the sale-price field whenever the current price is lower than the original price.
  • Status (Meta and TikTok channels) — sets the status field to archived when required content is missing, and falls back the image field so the destination isn't left with a broken reference.

The two supplementary types — Meta Advantage+ supplementary feed and Google Shopping supplementary feed — are the exception: they start with no stock/price/status fields at all, so they seed zero built-in automations. If you need those behaviors on a supplementary channel, add the fields and automations yourself.

These aren't locked — you can edit or delete them, and add your own.

Editing automations#

Click an automation to open its edit dialog: a trigger (the condition) and an action (what happens when it's true). Automations can be:

  • Reordered by drag — order matters when multiple automations could affect the same field.
  • Edited — change the trigger or action.
  • Deleted — a delete button is available in the edit dialog. (You can't delete a field that an automation still references — remove or repoint the automation first.)

The three things a rule can do#

A channel rule has exactly three actions:

  • Set field — write a different value into one feed field for the products the rule matches. (On a nested field it replaces the whole block instead.)
  • Mark product — flag the product so you can find it. It still ships.
  • Exclude product — drop the product's entry from this channel's feed.

Show and Hide are Studio template actions, not channel ones. They decide whether an element appears in a rendered ad, and a channel exports feed entries, which have nothing to show or hide — so they aren't offered here. To leave a field blank, set it to an empty value; to take the product out, exclude it.

A few channels created long ago still hold a stored Show or Hide. It does nothing to the feed, the channel reports it on its Activity tab so you can find it, and the fix is to open the rule and remove the action.

Where a rule names a field — the field it acts on, and any field its condition reads — the picker shows the same labels the Fields tab does, numbered when the channel holds several fields under one name (image · #1, image · #2). The number is counted in field order, is a label only, and never reaches the feed.

The order rules run in#

Rules run top to bottom, in the order the list shows, once each per product. Each rule sees the product as the rules above it left it, so:

  • If two rules set the same field, the lower one wins — its value is what ships.
  • A rule can act on what an earlier rule did. A rule that sets a field to something, and a later rule whose condition reads that field, work exactly as you would read them down the page.

A condition on Missing content is judged at each rule's turn, not once at the start. So if an earlier rule supplies the thing that was missing — sets an image field to a fallback URL, or replaces a design block with one that can be produced — the rules below it no longer see the product as missing content. The reverse holds too: a rule that sets a field to something that resolves to nothing makes the rules below it see missing content, on a product that had none before.

That is why drag order is a real setting and not a display preference. To check what a particular product did, open the per-product TRACE dialog from the Fields or Rules tab: it walks the rules in the order they ran and shows what each one changed.

TRACE shows Missing content moving. A rule that reads it shows the value it was given, and the rule that changed it shows a row reading Missing content: yes → no beside the fields that rule set — so you can see which rule repaired the product, or which one broke it, without comparing the steps yourself.

Fields that hold several values#

A field with Allow multiple values on carries all of that product's values at once — every extra image, every product highlight — and a rule sees the whole set, not one value at a time. Three things follow, and the third is the one that surprises people:

  • A condition matches when ANY of the values matches. "Extra images contains placeholder" is true if any one of them does.
  • A "does not" condition needs EVERY value to be different. "Extra images does not contain placeholder" is true only when none of them contains it — it is the exact opposite of the line above, which is what you would want and not what a per-value reading would give you.
  • A field with nothing in it counts as blank, so "is blank" is how you ask whether the product has any of these values at all, and every "does not" condition is true for it.

Setting one of these fields replaces all of its values. If the value you set resolves to a single thing, the field ships exactly that one thing; if it resolves to several — an expression that reads the product's images, say — the field ships all of them, in the order they come out, with duplicates dropped.

The TRACE dialog shows such a field's values on one line, separated by commas, so a rule's step reads as what the field held before and what it holds now.

Marking and excluding products#

Two of the three channel actions are not available in Studio templates. They sound similar but do very different things:

  • Mark product doesn't change any field — it just marks the product so you can find it. The product still ships in the feed. (Marked is a feed-rule concept; it is not the same as flagged content, which is content that failed an automatic quality check.) The channel's Preview tab has a "Show only marked products" switch that filters down to whatever an automation has marked, which is a fast way to spot-check, for example, every product an automation flagged as low-stock. See Channel events and troubleshooting for more on that filter.
  • Exclude product removes the product's entry from this channel's exported feed entirely — the destination never sees it. Use it to stop advertising products that match a condition (sold out, discontinued, a brand you can't advertise) on this channel only; other channels and your catalog are unaffected. The channel's run history shows how many products the rules excluded ("N excluded by rules"), and the per-product TRACE dialog reports "excluded by a rule" so an excluded product never looks like a rendering problem.

If you want products gone from every channel, add an exclude rule on the catalog instead; if the real question is which products the channel covers at all, change its product sets.

Replacing a nested block#

Most rules set a field to a value. A rule pointed at a nested field does something different: it replaces the whole block for the products it matches. Everyone else keeps the block the field itself describes.

Pick the nested field as the rule's target and the value editor changes into the same sub-field list the Fields tab shows — one row per sub-field, each with a name and its own content. It starts as a copy of the field's own block, so you're changing a block rather than building one from nothing. Add sub-field and the per-row remove button work exactly as they do on the Fields tab, and the same limit applies: a block carries at most one image or video sub-field.

Some things worth knowing:

  • The block keeps the field's name. A rule changes what the block says, never which block it is — so the element in your feed, and the design name an ad pins, are unchanged.
  • If the design's tags change later, the rule's block doesn't follow. The rule's block starts as a copy of the field's, and nothing keeps the two in step afterwards — so renaming a design, or marking one for Stories or Reels (or un-marking it), changes the field and leaves the rule's copy as it was. Renable doesn't re-sync it for you, because the rule may be exactly what you meant; instead the channel's next update posts a warning naming the rule and the tags the two sides disagree about, whichever way round they disagree. Open the rule's block and make its tag sub-fields match the design's, or change the design's tags if the rule has it right.
  • You don't set repeating here, and repeating can't drift from the field. The rule's block carries sub-fields and nothing else, so if the field repeats, the rule's block repeats the same way over the same list, and if you turn repeating off on the field the rule follows immediately. On a field that repeats you can point a sub-field at the current item; on one that doesn't, those options aren't offered, because there would be no item to read.
  • Later rules win. If two rules replace the same nested field's block for one product, the one further down the list is the one that ships — the same order rule that applies to any two rules setting the same field.
  • Not on CSV or TSV. Those formats have one fixed header row per feed, so a block that changes from product to product can't be written. Nested fields aren't offered as rule targets there; switch the channel's format to XML or JSON on the Settings tab.
  • Aimée can write these too. Ask for what you want — "use the Black Friday design for products on sale" — and she adds the rule with its block. Two things follow from how she works. She restates the whole block each time, because there is no way to change one sub-field on its own when sub-field names can repeat; and she doesn't start from a copy of the field's block the way this editor does, so she reads the current sub-fields first and writes them all back. Ask her what a rule emits today if you want to see that read before she changes anything. Everything you build here she can read, and everything she builds you can edit here.

Seeing what a rule did to a nested block#

Because the rule replaces the whole block, there's no single before-and-after value to show. Open the per-product TRACE dialog from the Fields or Rules tab and pick a product: the rule's step lists the block sub-field by sub-field, in the order they're written to the feed, with what each one showed before and what the rule changed it to.

A sub-field that renders a design shows the design's name — Summer Sale — Square → Black Friday — Square — so a rule that swaps the design reads as the swap. The others show the expression they're bound to. If a design can't be named the row reads Unavailable design, which covers a deleted one and one belonging to another organisation without distinguishing them; if the design is fine but the size it was built for is gone, only that half is replaced — Summer Sale — Unavailable size.

  • Sub-fields the rule left alone are dimmed and show one value rather than a pair, so the ones it changed read at a glance while the block still reads as a whole.
  • A sub-field the rule added shows not in the block where its old value would be; one it removed shows dropped where its new value would be. One it renamed keeps its row and notes the old name beside the new one.
  • Where the same name appears twice, the rows are numbered — tag · #1, tag · #2 — exactly as two fields sharing a name are numbered on the Fields tab.
  • The rows show expressions, not resolved values. What this product actually got is in the Feed entry table further down the same dialog.
  • When the field is set to allow multiple values, the rule's block is one definition applied to every block the field emits, so the diff is shown once with a note saying so. All the blocks the product got are in the Feed entry table.

That, plus which rule the entry's fields say set them, is the fastest way to check a rule is matching what you meant. See Channel events and troubleshooting for the rest of the dialog.

Date-triggered automations#

An automation can trigger on a date — for example, "sale ends on <date>." When that date arrives, Renable automatically re-renders the published channel so the automation takes effect right away, without waiting for the next scheduled refresh.

This only works once the automation is actually published. Adding or editing a date-triggered automation on a draft doesn't schedule anything — the reminder that fires the re-render is only created when you publish the draft it lives in. Until then, nothing is scheduled to trigger on that date.

Automations are draft-first#

Like fields and settings, automation changes save automatically to a draft. The live feed doesn't reflect them until you publish the channel.

Where to go next#