Automations are conditional rules that run per product when your template is rendered. Each automation checks a trigger — a condition against product or project data — and, when it matches, applies one or more actions to an element or placeholder. By default, when the trigger doesn't match, a SHOW action automatically reverses to hide the element (and a HIDE action reverses to show it) — you get the opposite case for free, without building a second rule. You can change this default behavior for a given automation; see Else-branches below.
Automations are what make a single template adapt across your whole catalog: the same layout can hide a "Free shipping" badge for one product, show a "Sale" ribbon for another, and swap in a different headline for a third — all from one set of rules, no manual per-product editing.
Three of the actions#
Some of the actions an automation can use:
- SHOW — makes an element or placeholder visible.
- HIDE — makes an element or placeholder invisible.
- SET — replaces a placeholder's value with something else. SET never touches visibility — it only changes what shows, not whether it shows. Use SHOW/HIDE and SET together when a rule needs to do both (for example: show a badge frame, and set its text to "Clearance").
Triggers and conditions#
A trigger is a condition evaluated against the product or project data behind the current render — for example, a price comparison, a stock/availability flag, a category match, or a date range. When the trigger's condition is true, the automation's actions run as written. What happens when the trigger is false depends on the "Otherwise..." setting described next.
A condition can also test a custom attribute — an attribute your feed carries beyond the standard fields. In the condition's field menu, pick it from the Custom attributes group, or choose Use another attribute… and type its name exactly as your feed spells it; the chip then reads Attribute: and the name. The condition compares that attribute's value as text. A product that doesn't have the attribute reads as empty, so is blank is true for it. Aimée can write these conditions for you too. See Custom attributes.
When the condition compares a number, a number you type as the value reads the same in every catalog: a dot or a comma is the decimal separator, so 1,50 becomes 1.5 when you leave the box, and 1.000 becomes 1. Thousands separators and units are not read — type 1000, not 1 000 or 12 kr — and the condition says so under it.
A date condition reads is before, is on or before, is after, is on or after or is between. You pick the date and time in a calendar, shown in your own time zone, and the condition compares against that exact moment — so Today's date is before 27 Sep 2026 23:00 stops matching at 23:00 your time on that day, not at midnight. To compare with another date instead of a fixed one (for example the sale end date), click the { } button next to the date. If a date typed there can't be read as a date, Publish stops and names the rule, instead of the condition silently never matching.
A date condition can also compare with a day counted from today: click the clock button next to the date (Compare with N days ago instead) and choose a number of days ago or days from now, or today — for example sale end date is before 7 days from now. It is checked when the product's ad is next rendered, not at midnight; see Rules that depend on dates.
Else-branches#
Every automation has a 3-option "Otherwise..." dropdown that controls what happens when the trigger is false:
- "Otherwise, reverse show/hide" (the default) — SHOW actions become HIDE and HIDE actions become SHOW when the trigger doesn't match. This is a true reversal, not "nothing happens": if your automation's action is SHOW, an inactive trigger actively hides the element. SET actions aren't reversible in this mode, so they simply don't run.
- "Otherwise, do nothing" — the actions only ever run when the trigger is true; nothing changes when it's false. Use this when you want a rule that only ever adds behavior (for example, a SET that should never be undone by this same rule).
- "Otherwise..." — reveals a separate list of else-actions with their own Add action button, so you can define genuinely different behavior for the false case (not just a visibility flip) — for example, show a "Sale" badge when a product has a discount, or show a "New" badge when it doesn't, from a single rule.
Because "reverse show/hide" is the silent default, a plain SHOW or HIDE automation is already a complete either/or rule — you only need the custom "Otherwise..." option when the false case needs to do something other than the opposite visibility.
Where to build automations: the Automations panel#
Automations live in the Automations panel — docked on the right by default, in the same group as Elements and Settings (you can move it anywhere).
- The panel lists every automation on the template.
- Drag to reorder — automations run in list order, which matters when more than one rule can affect the same element or placeholder (a later rule can override an earlier one).
- Click an automation to open it and edit its trigger, actions, and else-actions.
Simulate: preview without real data#
Each automation has a simulate toggle. Flip it to force that automation's condition to true or false on the canvas — instantly seeing what the template looks like with the rule active or inactive, without needing to load a real product that happens to match. This is the fastest way to sanity-check a rule's visual effect while you're still designing it, before testing it against real products in Preview.
See what acts on one element#
Select an element and the Properties panel lists every automation that changes it, under Automations. Each one starts with what it does to that element (Shows this element, Hides this element, Sets text to …), then its conditions one per line, then what the element gets Otherwise. What an automation does to other elements shows when you open it. If the element only changes when the conditions are not met, the conditions read Unless instead of When.
While you preview a product, each automation says whether it is Active or Inactive for that product. To try the other case, switch it from Auto to On or Off: the automation turns amber to show it is simulated, and Auto returns it to the product's own result. Picking another product sets every automation back to Auto. A Disabled automation never runs, so it has no Auto, On and Off; open it and switch Enabled on to use it. Click an automation to edit it.
Automations or fallback elements?#
When the question is whether a product has something, such as a lifestyle photo or a second image, you don't need an automation. Give the element a fallback element to show in its place, or turn off Require content for this element so it's hidden when its content is missing. Keep automations for decisions about the product's data: a sale, a badge, a category, a season.
The two work together. Automations run first and decide what each element shows and whether it's available. Fallback elements then pick the first available element, and whatever required content is still missing makes the product missing content.
Common patterns#
Sale-price swap. Trigger: product has a discounted price lower than its regular price. Action: SET the price placeholder's text to the discounted price. If you're using a separate "was" price element, add a second automation on the same trigger with a SHOW action — the default "reverse show/hide" behavior hides it automatically when there's no discount, with no else-branch needed.
Seasonal visibility. Trigger: current date falls within a campaign window (or a project/product flag you set for the season). Action: SHOW a seasonal badge or banner element. Leave the default "Otherwise, reverse show/hide" in place — it hides the badge for products outside the window without any extra configuration.
Conditional visibility by stock or category. Trigger: product is out of stock, or belongs to a specific category. Action: HIDE the "Add to cart" badge, or SHOW a category-specific callout — again, the default reversal handles the opposite condition.
Switching to a fallback layout. Trigger: the product is on sale. Action: HIDE an element that has fallback elements. A hidden element is skipped, so the first of its fallbacks that has its content is shown in its place, even for a product that has the element's content. If none of its fallbacks has its content either, the product is missing content, even though the hidden element had its own. The reverse doesn't work: a SHOW never brings back an element that's missing content, because it's still skipped. See Fallback elements and automations.
In every case, the automation logic is the same: pick a condition tied to product/project data, and decide what should be visible or what value should show when it's true. A plain SHOW or HIDE action already covers the false case for free via the default reversal — reach for the custom "Otherwise..." option only when the false case needs genuinely different behavior, like swapping in a different badge rather than just hiding one.
Where to go next#
- Placeholders — automations and placeholders work together: SET actions replace placeholder values, and SHOW/HIDE toggle the visibility of elements bound to placeholders.
- Sizes and formats — automations are shared across every size on a template, so a rule you build once applies everywhere.
- Studio overview
- Working with Aimée — Aimée can create and edit automations conversationally.