Condition recipes

3 min readChecked against the dashboard on 15 September 2026
Open this in your dashboard

Worked examples. Each one is a real rule you can build in the Condition step.

Email new joiners until they buy, then stop

The most-asked one, and it takes two pieces.

The stop rule. Add a Goal step and give it one condition:

What someone has done (or not done) → Placed Order → at least once → since they entered this flow

A Goal is checked before every step, so the moment somebody orders they leave the flow and stop receiving the rest of it. No condition branch to wire, and nothing in flight gets sent after the purchase.

Optionally, a branch too. If you want different copy rather than just silence, add a Condition step before the later emails:

Placed Order → zero times → since they entered this flow

Yes path → the next nudge. No path → a different message, or Exit.

Use the flow anchor, not all time. "Placed Order zero times over all time" excludes every past customer, so a list of existing customers would receive nothing at all.

The same thing for a service or subscription business

If you do not sell through a connected store, there is one thing to sort out first: nothing is sending a purchase event yet.

"Placed Order" arrives from a connected Shopify store. With no store connected, the event exists in the picker but nothing ever emits it, so a rule built on it matches nobody — the flow will chase people forever, including the ones who paid.

Three ways to give the flow something real to check, best first:

  1. Send the event from your own system. When someone subscribes or pays, have your backend post a placed_order event (or your own event name) for that contact through the API. Conditions, goals and segments all work on it immediately, with no other setup.
  2. Use a tag. When someone converts, tag them customer — by API, by a connector rule, or by hand. Then the condition is If someone has a tag → customer, and it is exact. This is the quickest route if you have no engineering time.
  3. Use a contact property. If your import or CRM sync already sets a field like plan or status, condition on that instead.

With a tag, the same recipe becomes a Goal of has tag `customer` — and you can also trigger a second flow from Tag Added → customer to send the onboarding sequence.

Chase a big cart harder than a small one

Started Checkout → at least once → in the last 1 days, filtered by Value (amount) is at least 200

Event filters are on the event's own properties, so this counts only the checkouts over £200 rather than "checked out, and separately has spent £200".

Only email people who are actually reachable

If someone can or cannot receive marketing → can receive → email marketing

This checks real deliverability — opt-in, a valid address, and not suppressed — rather than the opt-in flag alone, so it matches what the send pipeline will accept.

Re-engage people who have gone quiet

Opened Email → zero times → in the last 90 days

Pair it with a Goal of Opened Email at least once since they entered this flow so anybody who comes back drops out of the sequence.

Treat your best customers differently

Customer value and order history → Total Customer Lifetime Value → is at least → 500

Computed from real order history as orders arrive — there is nothing to recalculate.

Mixing AND and OR

has tag `trial` AND ( Placed Order zero times OR Total Customer Lifetime Value is less than 50 )

Add the two inner rules inside a nested group and set the group's connector to OR. Without the group, AND binding tighter than OR would give you something different.

Next: open your automation and add a Condition or Goal step, then pick the kind of condition from the first dropdown.

Related articles

Ask Agent PK in your dashboard

Agent PK answers from these same articles, looks at your own account, and can do the task for you once you confirm. Open it from the top bar in the dashboard.

Open dashboard

Still need help?

Our team answers every message, usually within one working day.

Email supportsupport@brainito.comBook a call15 minutes with our team