Customer Journey Builder

Condition split

Route each user down one of up to 10 branches based on a segment, a tag, or an event attribute already on their profile, the moment they reach this step. Every configuration keeps a catch-all branch, so nobody falls through.

Customer Journey canvas showing a Condition split element with 3 tag-based branches and an All other users branch

What Condition split gives you

3 condition types

Segment, Tag, or Event attribute. One type per element, each read from data already on the profile.

Up to 10 branches

The ceiling for Tag and Event attribute, reached with value-matching operators like equals or contains. Not-equal, greater-or-equal, and similar comparisons cap lower.

A guaranteed catch-all

All other users is present in every configuration and can't be removed.

Instant evaluation

The element checks the user's current data the moment they arrive, with no window to sit in.

Chain for compound logic

One element reads one condition. Stack 2 elements to route on segment and tag together.

Reads existing data only

The segment, tag, or event has to exist in the account before this element can use it.

How the 3 condition types differ

Every Condition split element checks exactly one type of condition against the user’s current profile, then sends them down the matching branch. The check runs once, the moment the user reaches the element.

Condition typeBranchesWhat it checks
SegmentExactly 2Whether the user currently belongs to a segment you pick: Users in a segment, or All other users
Tag1 to 10, by operatorThe current value of a tag on the profile, one branch per value you define
Event attribute1 to 10, by operatorThe value of an attribute on an event that already fired earlier in the journey
Condition type
1 / 3
Segment
Branches
Exactly 2
What it checks
Whether the user currently belongs to a segment you pick: Users in a segment, or All other users
Condition type
2 / 3
Tag
Branches
1 to 10, by operator
What it checks
The current value of a tag on the profile, one branch per value you define
Condition type
3 / 3
Event attribute
Branches
1 to 10, by operator
What it checks
The value of an attribute on an event that already fired earlier in the journey

The branch ceiling for Tag and Event attribute depends on the operator behind each branch. Value-matching operators such as equals, in, or contains reach the full 10. Comparison operators such as not-equal, greater-or-equal, or exists cap lower, since a branch built on one of those already covers most of the range on its own.

A journey can’t mix condition types inside one element, and a segment, tag, or event has to already exist in the account. The element itself doesn’t create any of them. It sits inside Customer Journey Builder, reading the same segments, tags, and events the rest of the canvas already uses.

Every configuration keeps a way out

Configure Segment, Tag, or Event attribute, and All other users ships with every version of the element by default. There’s no toggle for it, and no way to delete it.

A user whose tag value matches none of the branches you built still lands somewhere, on a path you control instead of leaving the journey.

Stack elements for a condition on top of a condition

One element reads one condition type. For “Premium subscriber and high spend”, place a Condition split with a Segment condition for Premium first, then add a second Condition split with a Tag condition for spend level on the branch that already matched Premium.

Each element stays simple to read on the canvas, and the chain carries the compound logic that one crowded rule would otherwise hold.

Where this earns its place

Subscription-tier routing

Premium subscribers down a loyalty path, everyone else down an upgrade offer, right after entry.

Loyalty-tier routing

VIP or high-value segments down a different offer than the rest of the base.

Preference-based routing

A favorite-category tag splits one promo journey into up to 10 category-specific paths.

  • Mobile games
  • Creator / subscription apps
  • Airlines / aviation
  • E-commerce / retail
  • Marketplaces
  • Fintech / banking
  • Media / news / streaming

One element among several, on the same canvas

Condition split routes on data the profile already holds. Two neighbors handle different jobs. Wait for Trigger pauses and waits for a new event to fire. Time Delay pauses for a span of time, with no branch at all.

Place Condition split right after entry to route on who someone already is, before they see a single message.

Profile data stays on infrastructure you can name

The segments, tags, and event attributes a Condition split element reads run through the same infrastructure as the rest of the platform: Pushwoosh is SOC 2 Type I and ISO 27001:2022 certified, GDPR-compliant, and runs on its own hardware in the US and Germany, under BDSG. Full detail sits on the data safety page.

ISO 27001:2022 CertifiedISO 27001 CertifiedGDPR CompliantData Privacy FrameworkHIPAA CompliantSOC 2 Type I CertifiedOWASP Compliant

How it works

  1. Place the element on the canvas

    Open a journey in Customer Journey Builder and drop Condition split after an entry point or between 2 steps.

  2. Pick a condition type and build the branches

    Choose Segment (fixed at 2 branches), Tag, or Event attribute (1 to 10 branches, depending on the operator behind each one), then map each branch to the value it should match.

  3. Chain a second element for compound logic

    Add another Condition split on a branch that already matched, to combine 2 conditions the single element can't hold at once.

Good to know before you build a branch around it.

  • One condition type per element: Segment, Tag, or Event attribute, never combined. A rule that needs 2 conditions needs 2 chained elements.
  • Segment always resolves to exactly 2 branches. For more, use Tag or Event attribute instead.
  • 10 branches is the ceiling for Tag and Event attribute, and only value-matching operators like equals or contains reach it. Comparison operators such as not-equal or greater-or-equal cap lower.
  • The segment, tag, or event has to already exist in the account. This element doesn’t create any of them.

FAQ