> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: July 10, 2026

# Types of branches

## Flow controls and branches

Branches help you personalize campaigns or test different messages in a campaign. When people reach a flow-control block in your workflow, we’ll evaluate criteria to determine which path to send them down.

We offer three types of branching flow controls that you can place anywhere in your workflows:

*   [True/False Branches](/messaging/send/workflows/branches/true-false): Send people go down one path if they match a condition, or down the other path if they don’t.
*   [Multi-Split Branches](/messaging/send/workflows/branches/multi-split): Send people down different paths where each path has its own conditions.
*   [Random Cohort Branches](/messaging/send/workflows/branches/random-cohort): Send people down different paths based on a random distribution. This is a great way to test different flows in a campaign, like a more robust version of our A/B testing feature for individual messages.

[![The left hand menu of the workflows step of a campaign. Towards the bottom is a list of branches under the section title Flow Control.](https://docs.customer.io/images/branching-workflow-items.png)](#e21bb2e9fca924a5877a0a7925b56da2-lightbox)

 You can use JSON dot notation in condition logic

If you store attributes or event data in JSON objects or arrays, you can use JSON dot notation in your branch conditions to evaluate these properties. Use `array[]` to represent any item in an array or `array[0]` to represent the first item in the array. See [Storing and using JSON](/messaging/people/getting-started-with-json/#referencing-json-data-dot-notation) for more information about dot notation in Customer.io.

## Walkthrough of different branch types

Check out this walkthrough to understand how you could use each branch type:

## Moving branches

You can move branches like any other items in the workflow. When you click and drag a branch, you’ll carry everything along its paths. That way, wherever you drop the branch, everything stays together.

![Move branch](https://docs.customer.io/images/branching_move-branch.gif)

#### Moving delays in active campaigns

If a branch contains a delay that currently has people waiting in it, and you move the branch, the people in your campaign will move with the delay.

## Deleting branches

You can’t delete a branch until you’ve removed all items from it. If you need to delete a branch, first delete or move all items out the branch’s path. Then, select the branch and click **Delete**.

## Copying branches

You can [copy branches to/from other workflows](/messaging/send/workflows/copying-workflow-items/) by clicking **Copy from workflow** at the top of the Add menu or selecting a branch then **Copy to** at the bottom.

*   *   [Flow controls and branches](#flow-controls-and-branches)
    *   [Walkthrough of different branch types](#walkthrough-of-different-branch-types)
    *   [Moving branches](#moving-branches)
        *   *   [Moving delays in active campaigns](#moving-delays-in-active-campaigns)
    *   [Deleting branches](#deleting-branches)
    *   [Copying branches](#copying-branches)

Copy page

Copy page [Download .md](/messaging/send/workflows/branches/types.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
