# Can I branch a sequence on a condition?

> Broadcast sequences support conditions, delays, tag changes, and moving subscribers between sequences. Here are the step types and how branching actually works.

Source: https://sendbroadcast.net/how-to/branching-sequences

Yes. A sequence is an ordered list of steps, and the step types go well beyond
"send an email, then wait."

## The step types

- **Send email**
- **Add delay** for a fixed duration
- **Add delay until a specific time**, such as the next day or next week
- **Add condition**, which is the branching step
- **Move subscribers to another sequence**
- **Add tags** to the subscriber
- **Remove tags** from the subscriber
- **Make the subscriber inactive**

Because tag changes and sequence moves are steps, branching composes: a condition
can tag someone, and that tag can enroll them somewhere else.

[The sequences documentation](https://sendbroadcast.net/docs/email-sequences) covers each
step type with examples.

![The Add Step menu listing every sequence step type, including Add Condition, delays, tag changes and Move subscriber to sequence](https://sendbroadcast.net/assets/docs/sequences/step-type-menu-7a4ed495.png)

The step palette in the sequence editor. Conditions, tag changes and sequence moves are all steps, which is what lets branching compose.

## Four ways people enter a sequence

1. Added manually
2. Automatically when a **tag is added** to them
3. Automatically when they **match a segment**
4. Added through the [Sequences API](https://sendbroadcast.net/docs/api-sequences)

The tag and segment triggers are what let one sequence hand off to another without
you touching anything. [Triggering a sequence from a segment](/how-to/trigger-a-sequence-from-a-segment)
covers those two in detail, including why a date-based "recently added" segment
is usually unnecessary.

## A pattern worth knowing

Onboarding that splits on engagement is usually built as: send the welcome email,
delay three days, add a condition on whether they opened, then tag the two groups
differently. The tags become segment membership, and the segments become the
audience for everything downstream.

![The condition step editor with a condition delay and settings for which email opening to test](https://sendbroadcast.net/assets/docs/sequences/step-condition-b35ed6c0.png)

A condition is evaluated after its own delay, so the behaviour you are testing for has time to happen.

## Reusing a sequence

Sequences can be duplicated, optionally including their subscribers, which is the
usual way to run a variant without rebuilding it. The documentation covers how
parent and child sequences relate.

---

Trying to express logic you cannot see a step for? [Tell us what it is](mailto:simon@sendbroadcast.net?subject=Sequence%20logic%20question).
