# Condition split

The **Condition split** element lets you split a flow so that users follow different paths depending on their segment or tag values.

## Define the user flow

You can split the flow in two ways:

* **Segment**: Split users based on whether they match an existing segment.   
* **Tag**: Split users into multiple branches based on tag values. 
* **Event**: Split users into branches based on values of an event attribute.

![The Condition split element showing the options to split a flow by Segment or Tag](/journey-elements-condition-split-1.webp)

### Split flow by segment

To split a flow by segment:

1. Select **Segment** as the condition for the user flow.  
2. Choose the segment you want to use, or create it from scratch right from the element. [Learn more about creating Segments](/product/audience-data-and-segmentation/segmentation/create-segments)
3. Click **Save** to apply the changes.

![Condition split branches created by segment](/journey-elements-condition-split-2.webp)

4. The flow will automatically create two branches:  
   * **Users in a segment**: users who match the selected segment.  
   * **All other users**: users who do not match the segment.
   
  Configure a separate flow for each branch so that users receive content relevant to them.

**Example**

If you split the flow by the segment *Premium subscribers*, users in this segment can be routed to a flow that delivers a loyalty discount, while all other users follow a flow that shows an upgrade prompt.

![Example of Condition Split flow for Premium vs. other users](/journey-elements-condition-split-3.webp)


### Split flow by Tag

To split a flow by Tag:

1. Select **Tag** as the condition type.   
2. From the **Tag** dropdown, choose the tag you want to use (for example, *Favourite_category*). Ensure the required tag is created in advance. [Learn more about tags](/product/audience-data-and-segmentation/user-data-tags/) 
3. Select the **Condition** (for example, *is*).  
4. Add one or more branches by specifying tag values (for example, *Shoes*, *Dresses*, *Accessories*). 

> You can create up to **10 branches** per condition split. 
5. Click **Save** to apply the changes. 

![Condition Split branches created by tag values](/journey-elements-condition-split-4.webp)

6. Finally, create a separate flow for each branch to deliver personalized content based on the user’s tag.


**Example**

If you split the flow by the *Favourite_category* tag and define branches for *Shoes, Dresses,* and *Accessories*, users will be routed to the branch that matches their preference. All other users (for example, those without a specified category) will be routed to the **All other users** branch. 

You need to create a separate flow for each branch, such as promotions for shoes, dresses, or accessories, to deliver personalized content.

![Example of Condition Split flow for favourite clothing categories](/journey-elements-condition-split-5.webp)


### Split flow by Event

Use this option when you want to branch the journey based on the value of an event attribute collected earlier in the journey.

To split a flow by event attribute:

1. Select **Event** as the condition type.
2. In the **Event from Journey** dropdown, choose the event triggered earlier in the journey.
3. Under **Attribute**, select the event attribute.
4. Choose the condition logic, such as `is`, `is not`, etc.
5. Add one or more branches and define values for the selected attribute.
6. Click **Save** to apply the configuration.

<Aside type="tip">
You can define up to 10 branches per Condition Split.
</Aside>

![Condition Split branches created by event attribute](/journey-elements-condition-split-6.webp)

**Example**

If you split the flow based on the event `WorkoutTypeSelected` and the attribute `type`, you can route users to personalized onboarding flows depending on their selected workout:

* Users with `type = cardio` → receive cardio workout tips
* Users with `type = strength` → receive a strength training plan
* Users with `type = yoga` → receive a guided yoga session
* Users who did not select a workout type (All others) → receive a push message with generic sports tips, ensuring they still get relevant onboarding content even without a specific preference.

Each branch then contains targeted message elements that deliver relevant content.

![Example of condition split flow branches by event attribute](/journey-elements-condition-split-7.webp)