Flows allow you to automate timely touchpoints with your contacts without losing any of the relevance and personalization required to build an impactful marketing strategy. For example, an abandoned cart flow doesn't just send a generic follow up email to all cart abandoners — using Klaviyo's default abandoned cart flow, all shoppers will receive an email personalized with each item they left behind.
Flow branching helps you take this personalization to the next level. Once people enter your flow, you may want to send individuals down different parallel paths depending on what you already know about them. Klaviyo supports two unique splits that offer powerful ways to branch your flows.
The Trigger Split and Conditional Split
With both the trigger split and conditional split components, you create a logical statement that will either be true or false for each recipient entering your flow. In this way, these splits look similar to flow filters and they use the same logic you see in our Segment Builder. Unlike with flow filters and segments, however, with splits aren't keeping certain people in your flow and completely filtering the rest out — you are instead creating two parallel paths for these recipients where you can better customize the journey for each group.
In the Visual Flow Builder, these splits are a configurable component. After you define your split, you will then see a YES and NO path on your canvas. Those who meet the definition of your split (where the statement evaluates true) will go down the YES path, while those that don't meet this definition (the statement evaluates false) will go down the NO path.
The trigger split component creates two distinct paths in your flow, branching based on a defined characteristic of the trigger. Trigger splits branch flows at the event level, meaning only metric-based flows can have trigger splits.
For example, for an abandoned cart flow triggered by a Started Checkout event, you can create two parallel paths in your flow split around a shopper's cart value — where high-value cart abandoners receive an email with a discount, and lower value cart abandoners do not.
Trigger splits are only supported in event-triggered flows, where the flow is triggered off a given event metric in your account. This component is not available in list or segment-triggered flows.
The conditional split component creates two distinct paths in your flow, branching based on defined recipient profile properties and/or activity.
For example, for a welcome series, you can create two parallel paths in your flow split around whether a recipient has purchased from you before in the past — existing customers may not need the same introductory content you might otherwise send to new subscribers that have never bought before.
Abandoned Cart Flow
Let's say we'd like to create unique paths for those that have over a certain value left behind in their cart.
For those who left behind high-value carts, you may want to offer a greater incentive for recovery — for example, free shipping, or a percentage off their order if they complete their purchase. For shoppers that left less valuable carts behind, you certainly want to follow up, but you may not want to offer a discount given the expected ROI.
By adding a trigger split into an abandoned cart flow, you can immediately create two paths for cart abandoners based on their cart. This data point (cart value) is captured in theStarted Checkout event that serves as the flow's trigger.
Let's say we'd like to create unique paths for first-time buyers and repeat purchasers in our post-purchase flow.
When someone buys from you, this is a great time to reach out and strengthen your relationship.
When a customer buys from you for the first time, it is important to recognize they've just gone through a process of discovering your business, evaluating your products, and making a decision to purchase from you. Followup that validates this choice and fosters a positive customer experience is essential.
Those who place an order but have already ordered before in the past are farther along in their relationship with you. In the customer lifecycle, you're working to retain them and inspire them to become not only loyal customers but also loyal promoters and advocates. Your content in a post-purchase series should be different for these repeat purchasers than for your first-time buyers.
By adding a conditional split within a post-purchase flow, you can maximize your engagement with customers the first time they buy while also nurturing your repeat customers strategically based on where they are at in their lifecycle with you.
In your browse abandonment flow, you may want to create unique paths for those who viewed under three products in the last several days and those who viewed more than four different items.
There are two key types of visitors to your website: those know exactly what they want when they get there, and those who are there to browse. Targeting your site visitors with the right messaging based on their browsing behavior can yield high returns.
Those who only visited a single product page may have arrived through a direct search or otherwise knew how to land right where they wanted — your followup should focus mainly on that specific item, with the goal to get that shopper to come back and buy it (or a similar recommended item).
Those who viewed over four items, on the other hand, may be window shopping. Don't focus as much on the most recently viewed individual item, but use this as a chance to promote your most popular items, show more of a specific collection, or provide social proof for why this shopper should come back and take a second look at your store. The stakes are higher to spark interest in what you have to offer more broadly, as the visitor hasn't indicated they know exactly what they want.
If you create a browse abandonment series and add a conditional split to target these two primary types of visitors, you can put your data to work early to drive deeper engagement starting with the very first page view.
Check out other flow branching examples.
Find out more about flows: