The Story Behind Branching Logic in HubSpot’s Workflows App

Maggie Butler
Maggie Butler



This year onstage at our annual INBOUND conference, our CTO and co-founder Dharmesh Shah announced one of the most exciting updates to our marketing platform: Branching logic in our Workflows App. Branching logic (sometimes called “conditional logic”) is a feature you, our customers, have been clamoring for in our ideas forum.


I sat down with the product manager for Workflows, Maggie Georgieva, to get a behind-the-scenes look at what it was like to build branching logic and how the team brought this new functionality to life in HubSpot.

Maggie, what's your mindset when you and your team approach building new features for Workflows?

Every time we make an update to our Workflows App, we obsess over both the power and simplicity of the app. Workflows is powerful marketing automation because it enables you to schedule a range of actions and adjust their timing and order to match the buyer's journey. Workflows is simple marketing automation because it doesn’t let you lose focus of the high-level goal you are trying to achieve. We think about these two concepts constantly.

How does branching logic align with that vision?

The way we’ve introduced branching logic fits within the goal-based framework that’s already built into our Workflows App. Each workflow still has a high-level goal like turning leads into marketing qualified leads, turning trial sign-ups into customers, prompting contacts to register for an event, etc. 



But with the additional functionality of branching logic, you can optimize around this goal even more.


You mentioned simplicity earlier. Does branching logic add more overhead and complexity to the way marketing automation works in HubSpot?

As we were designing this solution, we looked at the problems our customers were having currently with Workflows and, specifically, that they were tying a few different workflows together which was pretty time-consuming for them. So at the essence of this project was the intention to make automating nurturing and data management less labor-intensive for marketers. We ended up discussing this goal with a lot of customers along the way, and kept notes internally:


We also realized that this addition would increases a workflows’ power and flexibility, so we did worry about potentially bringing in more complexity. Would it force marketers to get lost in complicated structures? Would they lose perspective of what’s actually happening to their contacts? Would this focus too much on optimization and not enough on measurement? During the creation process, we asked ourselves a lot of these questions and knew we had to address them.

So, how did you address those questions?

We tackled them not only by adding branching logic but also by redesigning the user interface (UI) in the Workflows App as well. We started by making the editing experience more intuitive by combining the Workflows Overview screen with our Edit screen. Now, you can see and overview and edit your workflow in one place.


This way, you don’t have to click around too much to see the story you are telling in a visual format.

We also separated the delay as its own step, which cleared confusion around the order of actions. Now, you can click in between actions to add either another action or delay.

After that, we focused on adding branching logic. We wanted marketers to be able to do quick check whether a contact has performed a desired action and follow up with context based on that information. We found that a lot of our customers are already doing this work using lists, so this update would save them time. We decided on a very visual and simple approach to this branching functionality.

Can you show us?

Of course! (Professional and Enterprise customers can check it out too, in their own HubSpot accounts.) If you want to create a branch, you can select “if/then” as an action in a step:


When selecting criteria for the branch segmentation, you can choose from our familiar list segmentation options, including:

  • Email

  • Form submission

  • Page view

  • List membership

  • Contact property

  • Completed an event (Enterprise only)

With branching logic, you can create separate paths for your contacts depending on if they did or did not meet specific criteria. This provides a lot of opportunities to get granular with how contacts will be nurtured based on their engagement with your content across all of your marketing.

What happens if you create a branch in a workflow?

We thought a lot about this and the way it should look. We performed four rounds of user testing so our customers helped tremendously in coming up with this solution (thank you!). We decided to drill down to the “If No” branch on its own because that is the one which will most frequently require follow-ups.


But we made it possible to easily switch to the “If Yes” branch on the same screen to get the whole picture of how those contacts move through your workflow.


When should marketers use branching logic in their workflows?

I’m glad you asked, because branching logic isn’t necessary for every workflow you create. If you want to use branching logic in a workflow, I’d encourage marketers to ask themselves a few questions. Are you still talking to the same segment? Will this branch help you optimize your workflow to reach a unified goal? A “yes” to both of these questions means you’re using branching logic in a way that’s helpful to you.

I think my favorite example of how this should be used is actually around trial sign-ups. If your workflow goal is to engage trial users, you'll want to send them slight prompts to do specific actions. So in that context, doing conditional checks to see if they have visited a specific page, completed setup, etc can be really useful.

Before you go, would you mind sharing a few best practices for Workflows with us?

For sure. Even though Workflows has this awesome new functionality, the best practices around Workflows haven’t really changed. You should still:

  • Think deeply about the segments you are targeting. Split your database into personas or industries that you can nurture.

  • Make sure you know what each workflow is trying to achieve. Pick a goal list in order to see your conversion rate from one milestone to another.

  • Use personalization tokens in your emails to make the content as relevant to each individual contact as possible.

For branching specifically, I’d say:

  • Use branching when you want to optimize a specific step based on contact behavior. Make sure that the branches still fit in with the high-level goal you’ve set for this workflow.

  • If you are thinking about building a workflow with lots and lots of branches, think about whether all these branches work together towards the same goal. If not, you may want to split it into more than one workflow.

 What do you think of branching logic? Have you tried it out yet? Let us know in the comments!

 Subscribe to the HubSpot Academy blog!

Related Articles

We're committed to your privacy. HubSpot uses the information you provide to us to contact you about our relevant content, products, and services. You may unsubscribe from these communications at any time. For more information, check out our Privacy Policy.

Outline your marketing strategy in a simple, coherent plan.