What is conditional branching in automation?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
Imagine you send a welcome email and want to follow up differently depending on whether someone clicked your product link or ignored it entirely. That's conditional branching. It's the part of email automation that lets a single workflow split into separate paths based on what a subscriber actually does (or doesn't do).
Think of it as a fork in the road. A subscriber reaches a decision point in your flow, the automation checks a condition, and then routes that person down the path that fits them. Everyone else takes a different path. One workflow, multiple experiences.
The three condition types you'll use most
- Behavior conditions check what a subscriber did. Opened, clicked, purchased, visited a page, abandoned a cart. These are the most common and usually the most useful.
- Profile conditions check who they are. Their segment, location, purchase history, tag, or any custom attribute stored in your ESP.
- Time conditions check when. Time elapsed since signup, day of week, date range, or how long since their last purchase.
How it looks in practice
Say you run a three-email post-purchase flow. After Email 1, you add a branch. If the subscriber clicked the upsell link, they go to a path that sends them a targeted offer. If they didn't click, they go to a softer nurture path instead. That's it. One flow handles both scenarios cleanly.
In Klaviyo, this is called a conditional split. You pick the condition (for example, "has clicked email in this flow"), set the yes and no paths, and Klaviyo routes each subscriber automatically. ActiveCampaign calls the same concept an "If/Else" action inside a flow. HubSpot uses "branch" steps in its workflow builder. Different names, same idea.
Can you nest conditions?
Yes, and you probably will. Nesting means adding a second branch inside one of the paths from your first branch. For example, after splitting on "clicked vs didn't click," you might split the clickers again based on whether they're a VIP customer or not. That gets you four possible paths from two branches.
Just be careful. Nested branching can get complicated fast. A good rule of thumb is to keep your logic readable at a glance. If you need a separate document to explain what your flow does, it's probably too deep. Three or four levels of nesting is usually where things start breaking down (and where your future self will curse your past self).
What to prioritize when building branches
- Start with behavior conditions first. They reflect intent, which is more useful than profile data alone.
- Always design the "no" path, not just the "yes" path. The fallback experience matters just as much.
- Test every path before you go live. It's easy to forget that a branch exists until a subscriber falls into it unexpectedly.
- Give branches enough time to evaluate. If you check "has purchased" two hours after sending, you'll miss conversions that happen on day two.
If you're just getting started with if/then logic in flows, the next question in this series walks through the mechanics in more detail. Or if you're stuck on a specific setup, our SOS hotline is free and we'll help you map it out.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.