Skip to main content
Rolling out now — until condition evaluation is enabled for your account, every condition takes the If False branch.Click conditions look at messages sent by this journey to this contact during the current enrollment — clicks on older campaigns, other journeys, or a previous run of the same journey don’t count. If a condition can’t be evaluated (missing configuration, unavailable data), the contact takes the If False branch.
Condition steps let you branch your journey based on contact behavior or attributes. Send different messages to different segments.

Percentage Split

In addition to condition-based branching, you can use Percentage Split steps for randomized A/B testing within journeys:
Configure N branches with custom percentages and labels. Contacts are randomly assigned based on the configured split.

How Conditions Work

A condition step evaluates a rule and routes contacts to different branches:

Condition Types

clicked

Did the contact click a link from any message this journey sent them since enrolling?
Use case: Reward engaged users, follow up with non-clickers.

clicked_step

Did the contact click a link from a specific step in this journey (during the current enrollment)?
Use case: Different follow-up based on whether they clicked the welcome offer specifically.

custom_field

Does a custom field on the contact match a condition?
Use case: Region-specific messaging, segmentation by contact attributes.

Setting Up a Condition

  1. Add a condition step
  2. Set the conditionType
  3. Configure any type-specific fields (e.g., field, operator, value for custom_field)
  4. Set thenStepId — the step to go to when the condition is true
  5. Set elseStepId — the step to go to when the condition is false
  6. Merge branches or exit separately

Visual Example

Multiple Conditions

Chain conditions for complex logic:

Condition Operators

These operators are available for custom_field conditions: eq and ne require a Value; a condition saved without one is rejected.

Best Practices

Every branch doubles complexity. Keep journeys manageable with 1-2 conditions.
Every branch should eventually reach an exit step. Avoid infinite loops.
Ensure both Yes and No branches work correctly before activating.
A condition that can’t be evaluated — missing configuration, a “Step to Check” that was deleted, or unavailable click data — routes the contact down the If False branch. The same applies to a contact whose earlier send was skipped (quiet hours, cooldowns, suppression): they never received the message, so a click condition sees no click and routes them to If False.
Put a Wait step before a click condition and make it generous (15–60 minutes or more). The wait starts when the message is handed off for delivery, so carrier latency and human reading time both eat into short windows — a 2-minute wait will classify many real clickers as non-clickers.

Examples

Clicker vs Non-Clicker

VIP Treatment

Geographic Targeting

Merging Branches

Sometimes branches should reconverge:
Configure by pointing both branches to the same next step.

Next Steps

Wait Steps

Configure timing

Examples

Common journey patterns