The Conditions node routes each contact to a branch based on their data: "Yes, conditions are met" or "No, conditions are not met". Add it with Add an action > Conditions.
The Conditions node requires the Scale plan or higher. An automation that contains it cannot be activated on a lower plan.
Conditions are organized in blocks:
Lines within the same block are combined with OR: only one needs to be true.
Blocks are combined with AND: every block must be true.
Example: to target France or Belgium, put "Phone number country Is FR" and "Phone number country Is BE" in the same block. In two separate blocks, the condition would always be false, since a number cannot belong to two countries.
These conditions work in every automation, whatever the trigger.
Condition | Operators | What it checks |
|---|---|---|
Someone is or is not in a list | Is, Is not | The contact belongs to a static list. |
Phone number country | Is, Is not | The country of the phone number's dialing code. This is the most reliable criterion to adapt the language of your messages. |
Filter on customer locale | Is, Is not | The customer's language, chosen by its English name (French, German...). A language includes its regional variants: German also matches Swiss German. |
Filter on contact variables | Is equal to, Is not equal to, Contains, Does not contain, Is null, Is not null | The value of a Text contact variable (saved with Manage contact variables or Ask text). |
Contact is linked to Klaviyo | Is true, Is false | The contact has a Klaviyo profile. Requires the Klaviyo integration. |
Subscribed to a Recharge product | Is subscribed, Is not subscribed | The contact has an active Recharge subscription to a product variant. Requires the Recharge integration. |
These conditions read Shopify data and require a connected Shopify store. Use them in flows started by a Shopify trigger (Post-purchase, Abandoned cart, Shipment update).
Condition | Operators | What it checks |
|---|---|---|
Ordered since the flow started | Is true, Is false | The customer placed a Shopify order after entering the flow. Not needed in an abandoned cart flow, which stops on its own when the customer orders. |
Total cart amount | Is equal to, Is not equal to, Is greater than, Is at least, Is less than, Is at most | The total amount of the cart or order. |
Cash on delivery (COD) order | Is COD, Is not COD | The order is paid on delivery. |
Filter on order tags | Is included, Is excluded | A tag on the Shopify order. The match is exact and case sensitive ("Amazon" does not match "amazon"). Always false when there is no order, for example in an abandoned cart flow. |
Filter on customer tags | Is included, Is excluded | A tag on the Shopify customer record, exact match. |
Filter on customer order count | Is equal to, Is not equal to, Is greater than, Is at least, Is less than, Is at most | The number of orders the customer has placed. Useful to tell first-time buyers from repeat customers. |
Filter on product | Is included, Is excluded | The order or cart contains a product. Pick it with the search (title, SKU); with several stores, choose the store. Works in Post-purchase and Abandoned cart flows. |
Filter on variants | Variant picker | The order or cart contains a specific product variant (size, color...). |
Send a different message per language: Managing Multiple Languages in Automations.
Offer a product based on the previous purchase: Filter by Product for Cross-sell and Upsell.
Exclude marketplace orders: use "Filter on order tags" with the Is excluded operator and the exact tag added by your marketplace connector.