Flows allow you to trigger an email, or series of emails, based on when someone joins a list, is added to a segment, or takes an action -- such as making a purchase or abandoning a cart. Our Visual Flow Builder supports advanced triggering, segmenting, scheduling, and content design features in one place.
When you integrate your ecommerce store and other third-party tools into Klaviyo, we automatically add popular flows to your account. Once you customize these flows, you can start sending them right away. Here are a few examples of popular flows:
- A Welcome Series flow to introduce subscribers to your brand and convert them into first-time customers
- An Abandoned Cart flow to convert would-be customers that is customizable based on items in someone's cart and whether they're already a customer
- A Post-Purchase Thank You flow to show appreciation for customers and let them know about related products they might be interested in
- A Win-Back flow for customers who purchase but then don't come back to buy again customizable based on the products they've purchased and how many purchases they've made
Klaviyo has our own terminology for automated emails, so it will help to define a few common terms we use when talking about flows.
An automated email or series of emails that is set in motion by a single trigger and, optionally, filtered based on specific profile or trigger details.
- Flow Email
An individual email in a flow. Each flow email has an email template and settings that can be configured. Unlike campaigns where emails are sent in batch, flows emails are sent to recipients one at a time as individuals enter the flow.
A catalyst event or activity that sets a flow in motion. For example, when someone makes a purchase or when someone subscribes to a list.
- Trigger Split
A flow component that creates two distinct paths in your flow, branching based on a defined characteristic of the Flow Trigger. For example, for an Abandoned Cart flow triggered by a Started Checkout event, you can create two paths in your flow split around Cart Value -- where high value cart abandoners receive a discount, and lower value cart abandoners do not. This component is only available for event-triggered flows.
- Conditional Split
A flow component that creates two distinct paths in your flow, branching based on defined recipient properties and/or activity. For example, you can create two paths in your flow split around Gender, where content within each path can be personalized for male or female recipients.
When you choose the "Takes an Action" flow trigger type, you will pick a specific action metric. Every metric in Klaviyo is a timeline of events. When a flow is triggered based on a specific metric, whenever an event for that metrics occurs the individual that took the action will qualify to enter the flow.
- Time Delay
The Time Delay component is used to create delays – or wait periods – between emails or other components in a flow series.
- "Waiting" Queue
A list of profiles waiting to receive a flow email or waiting to get evaluated at a split. When a person qualifies to enter a flow based on the Trigger and filters, this person is queued up for each email and split in that flow based on the delays you've added into your series. The Waiting queue is where you'll gain visibility into who is waiting at different action steps in your series, next to who has already moved past a given step -- such as received an email, or gotten evaluated Yes or No at a split.
Types of Flow Triggers
Every flow you build will have a set trigger. A flow's trigger is what sets the automated series in motion. There are three types of flow triggers:
- Metric or Action Based
When someone "Takes an Action": Trigger a flow based on a specific action or activity.
- Added to a List
When someone "Subscribes to a List": Trigger a flow when someone subscribes or is added to a list.
- Added to a Segment
When someone "Joins a Segment": Trigger a flow when someone is added to a segment.
Klaviyo's Out-of-the-Box Flows
When you integrate your platform with Klaviyo, we will provide different best practice flows for you out-of-the-box.
When you navigate to the Flows tab, you will see any best practice flows we have pre-populated in your account for you. These flows will contain default templates that provide a suggested layout and example text. Most of these templates will also be configured to pull in relevant dynamic personalized content through your integration.
Even if you don't integrate any third-party tools, you will still get a Welcome Series out-of-the-box setup to trigger when new subscribers are added to your account's Newsletter list.
Create a New Flow
To create a new flow, click on the Flows tab and then click the Create Flow button.
Giving your flow a name is the first step. The second step is selecting a trigger for your flow -- you will three core options here: Subscribes to a List, Joins a Segment, and Takes an Action.
After selecting Subscribes to a List or Joins a Segment, you will be prompted to select a list or segment name and then see options to restrict further who gets emails from your flow. After selecting Takes an Action, you will be prompted to select an event metric to trigger the flow. You will then have the opportunity to add one or more filters to that action.
Learn more about how flow triggers and filters work.
Adding Emails to a New Flow
After you create a new flow, select a trigger, and add any desired trigger and/or flow filters, you are ready to start adding additional components into your flow series.
To add an email into your flow, click on the Email component in the sidebar and drag it onto the visual canvas. Every "droppable" location for an email will light up in green. Once an email is dropped onto the canvas, it can be configured in the lefthand sidebar. Learn more about the Email Component.
Scheduling a Flow Email
Emails, and other components, are scheduled by Time Delays that are added before them in a flow series. If components are back-to-back, without any Time Delays, they will all occur simultaneously.
Someone will always get queued up for a flow immediately after taking the action that triggers the flow (whether that means getting added to a list, placing an order, visiting your website etc.). By adding and adjusting time delays, you can control whether someone gets an email immediately after taking the trigger action (i.e. a welcome email immediately after subscribing) or after an established period of time (i.e. a win-back email 120 days after placing an order).
Each Time Delay creates a "wait period" between one component and the next. In this way, emails in a flow series will be scheduled relative to one another. This means that if Email #1 in a flow is sent 1 day after the trigger event, and you drag in a Time Delay set to 2 days between the first email and the second, Email #2 will be sent 3 days after the trigger event.
You can set a delay any number of minutes, hours, or days. To send an email immediately after the previous step, you don't need to drag in any Time Delay.
You can also choose if you like to set a delay until a specific time of day, and for which timezone.
After you set a delay, you can always adjust the timing by clicking on the card. Keep in mind that updating a flow email’s timing will not impact any already-scheduled emails. The updated timing will only impact newly scheduled emails moving forward.
Configuring Flow Email Content
After you've added emails to your flow, the next step is to configure your content. Click on the email card, and then click on the blue Configure Content button in the lefthand sidebar to update your email's sender information, the subject of the email, and add content.
Editing the content of a flow has the same options as editing the content of a campaign.
There are four options based on how you want to create content:
- Rich HTML / Drag & Drop
Our WYSIWYG (what you see is what you get) template editor will automatically optimize your email for mobile and makes it easy to create complex email layouts that will look great on all email clients.
- Text Based / Simple
If you'd like to send a text only email, choose this option; this is a good option for sending an email that looks like it came directly from you rather than your organization.
- Use Template from Library
If you've already created a base template, newsletter template, or snack template this is where you should start; you can also choose a template from the Klaviyo Template Library.
- HTML Editor
Only use this option if you have your own HTML email template you're importing, or are interested in designing a custom HTML template from scratch.
The Flow Email Status
There are three possible statuses for a flow email: Draft, Manual, or Live. To change the status of an email, click the email and then change the status in the lefthand sidebar.
This is the default status for a new email, and is the status you should use while you're still configuring your content and adjusting settings. When an email is in Draft, nobody will get queued up or receive the email.
When you are done configuring a new email, and are interested in testing it out, you can place it in Manual mode. When an email is in Manual, it is active in your flow but no emails will trigger automatically at send time; you will need to manually review and send all scheduled emails.
To "turn on" an email in a flow series, you will want to change the email's status to Live. A Live email is active in your flow and is sending automatically.
When a flow email is set to Manual, you will see emails in the Needs Review section within the analytics snapshot in the lefthand sidebar. By clicking View all Analytics, you will be taken to a report where you can explore all recipient activity for your flow email.
If you switch the status of an email from Manual to Live, any emails in Needs Review will continue to remain there until manually reviewed and handled -- these emails will not automatically send when the email's status switches to Live.
In the Needs Review section (within Recipient Activity), you can choose Send All or Cancel All, or alternatively Send Now or Cancel for individual emails.
If your flow email has a Time Delay before it, you will also notice individuals queued up in Waiting within your email's Recipient Activity. These view shows you who entered your flow and is currently waiting to receive the selected email.
Trigger Filters & Flow Filters
Trigger Filters are applied to the action that someone has taken, whereas as Flow Filters are applied to the people who take the action. An example of how to use a Trigger Filter would be targeting people who place an order for a specific product -- so, you could have a flow that only goes to people who Placed Order for Product X.
An example of how you could use a Flow Filter, on the other hand, would be to target a certain subset of people who take a particular action -- so, you could have a flow that only people in the United States who Placed Order.
It is possible to use both Flow and Trigger Filters simultaneously and these filters are applied to the entire flow (all emails within the flow). It is also possible to add additional filters to just one email within the flow to filter down even further.
Whenever someone qualifies for a flow based on the Flow Trigger (i.e. places an order), we will also check the Trigger and Flow filters:
- Those that fail the Trigger Filters and/or Flow Filters at this time will be filtered out immediately and will not be scheduled for any components in your series.
- Everyone that passes the flow's Trigger Filters and Flow Filters will officially enter the flow and be scheduled for emails and splits based on the delay period you've set.
When each email is scheduled to send, Klaviyo will apply your Flow Filters again (i.e. has Placed Order zero times since starting this flow) and skip anyone that fails these filters at send time.
This is why you may see people queued up for flow emails in Waiting who you know shouldn't actually get the email based on the flow's filters. If someone qualifies to receive the email initially upon entering the flow, this person will appear as waiting for all the emails in your series, but they will be skipped if they no longer qualify at send time.
You can explore the complete Recipient Activity for a given flow email by clicking on View all Activity in an email's lefthand sidebar. If you click on the Other dropdown menu, you will see the number of individuals falling into a range of Skipped buckets. This is where you can see people who no longer qualified for the flow at send time and were skipped. Most often, someone will get skipped because they fail the flow's filters or because they've since unsubscribed and are suppressed in your account.
Back-Populating Flow Recipients
If you create a new flow and want to queue up those that would have been captured by the flow if it had been running previously, you can use our back-populate feature. For example, if you create a winback series with a 6 month time delay between their most recent order and the first email, you may want to back-populate this flow to ensure that people who qualify for this email right away, rather than wait 6 months until new people can qualify.
This feature can be found in the Manage Flow drop-down menu.
Read this article to learn more about back-populating a flow.
Adding New Emails to an Existing Flow
After you create a flow and turn your flow emails live, you may later wish to add more emails to your flow. If you add a new email to your flow and turn it live, it will only be sent to new individuals entering your flow going forward. Those that have already entered your flow will not retroactively be queued up for this new email.
This is because scheduling for all emails in a flow happens the moment someone enters the flow. Those already in a flow will not be scheduled for a newly added email, even if the new email added to the end of your flow.
If you add an email to your flow and want those already moving through your series to get scheduled for this new email, you can back-populate the flow (see section above). When you do this, we will still respect the order and timing of your flow emails -- we'll only schedule recipients for this new email if it means they'll still receive in sequence based on other emails and delays you've set.