Skip to Content
GuidesJourneysBranch node

Branch node

The branch node (type: branch) evaluates a condition declared in its own config and routes the contact down one of two or more outgoing edges.

How it works

  1. A contact arrives at the branch node
  2. The engine evaluates the condition stored on the node’s config against the contact’s current state
  3. The condition produces a port label (e.g. "true", "false", "gold", "silver", "default")
  4. The contact follows the edge whose label matches that port

Edges themselves carry no logic — they’re labelled pointers from a node’s output port to the next node. All branching lives inside the branch node’s config.

Condition types

Contact property

Branch based on a field on the contact profile:

  • contact.plan == "pro" → Yes path
  • contact.total_orders >= 5 → Yes path
  • contact.city == "Mumbai" → Yes path

Operators: ==, !=, >, >=, <, <=, contains, starts_with, is_set, is_not_set.

Event property

Branch based on a property from the triggering event or a recent event:

  • event.amount > 5000 → High-value path
  • event.category == "electronics" → Electronics path

Engagement

Branch based on how the contact engaged with a previous send node in this journey:

  • “Opened the email sent at step 3” → Yes
  • “Clicked any link” → Yes
  • “Did not open within 24 hours” → No

This is the most common pattern: Send → Wait → Branch on engagement → send follow-up or exit.

Segment membership

Branch based on whether the contact is currently in a segment:

  • “Is in segment: VIP customers” → VIP path
  • “Is not in segment: Churned” → Active path

Multi-branch

Instead of yes/no, create 3+ paths:

  • Path A: contact.tier == "gold"
  • Path B: contact.tier == "silver"
  • Path C: contact.tier == "bronze"
  • Default: everyone else

Configuration

  1. Click the branch node on the canvas
  2. In the config panel, select the condition type
  3. Define the condition(s)
  4. Connect each output port to the next node in that path

The branch node shows labeled output ports — one per condition plus a “Default” port.

Tips

  • Keep branches simple — one condition per branch node. Chain multiple branch nodes for complex logic.
  • Always connect the “Default” path — contacts without a match need somewhere to go.
  • Use engagement branches after send+wait combos — it’s the most powerful pattern in journey design.

What’s next