Klaviyo 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 flows have advanced triggering, segmenting, scheduling, and design features in one place so you can send emails that your customers will love and will help grow your business.
When you integrate your ecommerce and other data 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 new subscriber 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 flow to thank new customers and let them know about related products they might be interested in
- A re-engagement flow for customers who don't come back customizable based on the products they've purchased and how many purchases they've made
In this article, you'll learn about flows and how they fit into email marketing.
If you're new to email automation, it will help to define a few common terms we use when talking about flows.
An email or series of emails sent to a profile based on a 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 personalized to each profile and trigger. Unlike campaigns where emails are sent in batch, flows emails are sent to profiles one at a time.
A catalyst event or activity that causes the sequence of emails to start. For example, when someone makes a purchase or when someone subscribes to a list.
A specific occurrence of a profile taking an action. Every metric in Klaviyo is a timeline of events. When a flow is triggered based on a metric, when an event occurs, it will trigger the flow. Each email can be targeted and customized based on the event that triggered it. This is what sets off an action-based flow.
A list of profiles waiting to receive a flow email. When a flow is triggered, a profile is added to the queue for each email in that flow and remains there until it's time to send.
What Can Flows Do
Every email you send should be relevant and engaging to the person receiving it. Two of the best ways to increase the relevance of your emails is to time them based on actions your customers take and use information about their activity to personalize each email's content. With flows, you can automate both of these techniques.
Compared to campaigns, flows don't require constantly developing new content and, because they're tied to customer behavior, they have higher greater engagement and ROI. Many businesses use flows to substantially increase their sales and grow faster and, in some cases, entirely automate their customer communication while also making it better.
Types of Flow Triggers
Every flow has a trigger that causes profiles to be queued for each flow email in the flow. There are three types of flow triggers:
- Metric or Action Based
Trigger based on metric events. All metrics can be used as a trigger except the Received Email metric.
- Subscribed to a List
Trigger when someone subscribes or is added to a list.
- Added to a Segment
Trigger when someone is added to a segment. This is not frequently used. Instead, it is usually preferable to trigger a flow based on a metric so you can use the triggering event to customize the email's content.
Klaviyo's Default Flows
When you integrate an ecommerce or nonprofit platform with Klaviyo, we will provide different best practice flows for you out-of-the-box.
After configuring your core integrations in Klaviyo’s Setup Wizard, you can navigate to the Flows tab in your account. Here, 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.
NoteWe highly recommend reviewing, customizing, and previewing all default flow email templates before turning your flows live.
Create a New Flow
To create a new flow, click on the Flows tab in your account's main navigation sidebar and then click the Create Flow button.
Giving your flow a name is the first step. Be sure to use a name that will explain the flow's purpose for easy reference. The name of your flow should be easily understood by you and your team -- when you start to segment further in Klaviyo, the number of flows can add up quickly. It's also important to remember each flow's purpose to avoid sending the same email from two separate flows. For example, a flow being sent to people who subscribe to a list could be called a "Welcome Series" flow, or a flow to customers who haven't ordered recently could be called a "Win-Back" flow.
The second step is selecting a trigger for your flow -- you will three core options here: Subscribes to a List, Added to a Segment, or Takes an Action.
After selecting Subscribes to a List or Added to 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 action metric to trigger the flow. You will then have the opportunity to add one or more filters to that action.
Learn moreLearn 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 will be taken to the main configuration page for your flow. Here, you can add emails to your autoresponder by clicking Add Email to Flow:
Scheduling a Flow Email
When you click Add Email to Flow, you will first need to establish the timing for your new email.
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 adjusting the timing of each flow email, 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).
You can schedule an email to send after any number of hours or days. To send an email immediately, use "0 hours."
You can set the timing of an email to be less than an hour by changing the timing to 0.1, 0.2, 0.3, and so on hours (where 0.5 hours is equal to 30 min.) For example, if you schedule an email with a delay of 0.3 hours, your email will send after 18 minutes. The smallest decimal we support is 0.1, and we always round to the nearest tenths place.
If you schedule an email to send after X number of days, you will then be given the option to pick the exact time and timezone. If you establish a specific send time, we will first wait the full amount of days selected and then send at the scheduled time.
For example, if you schedule an email to send after 2 days at 1 PM, and someone gets added to the flow at 4 PM, the email will wait 2 full days (48 hours) and then send the next time it is 1 PM. This means, depending on when someone is added to the flow, an email triggered to send "after 2 days at 1PM" may actually send closer to 3 full days later.
After you schedule a flow email, you can always adjust the timing by clicking the small clock icon on the flow email’s timing tab. 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 and scheduled your emails, the next step is to configure their content. Click on the blue Configure Email link to update your email's sender information, the subject of the email, and add content. You can also access these settings by clicking the Manage dropdown for a flow email, and selecting Edit.
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
For each email in your flow, you'll see a colored icon with a paper airplane inside of it. This icon signals the flow email's status.
There are three email status options: Draft, Manual, and Live.
This means you're still building the email and nobody will get queued up or receive the email
This means that the email is active in your flow, but no emails will trigger automatically at send time; while we'll queue up people to receive the email, you will need to manually review and send all scheduled emails
This means the email is active in your flow and is sending automatically
When a flow email is set to manual, you will see all ready-to-review-and-send emails in a Needs Review section within the analytics snapshot to the right of the email.
If you switch the status of an email from manual to live, any emails in the Needs Review section will continue to remain there until manually reviewed and handled -- these emails will not automatically send when the email's status switches to live.
By clicking Needs Review, you can choose to Send All or Cancel All, or alternatively click Send Now or Cancel for an individual email.
If you have a flow where one or more emails are scheduled to send after a given amount of time, you will also notice a Waiting section within the analytics snapshot to the right of the email.
Trigger Filters & Flow Filters
Everyone captured by the initial trigger (i.e. Checkout Started) will be queued up to enter the flow. All trigger filters and flow filters will be applied at this time:
If someone fails the trigger and/or flow filters at this time, they will be filtered out and will not be queued up for any flow emails
- Everyone that passed the trigger and flow filters (initially) will enter the flow and be queued up for all emails at this time
When each email is scheduled to send, however, Klaviyo will apply your flow filters again (i.e. has Placed Order zero times since starting this flow) and skip anyone that fails your filters. This is why you may see people queued up for your flow in Waiting that you know shouldn't be. Flow filters will always be applied again right before each email sends.
If you explore the recipient activity for your emails by clicking on Analytics (Last 30 Days) > Recipient Activity, you will see the number of total recipients. If you click on the Other drop-down in this window, you will see the number of individuals falling into the Skipped: Fails Flow Filters bucket.
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. This feature can be found in the Manage Flow drop-down menu.
This feature will work a little differently depending on whether your flow is triggered by a list or segment, or by an event.
When a flow is triggered by an event is back-populated, we will retroactively schedule emails relative to when each past event took place and when each email in the flow is configured to send.
When a flow is triggered by someone being added to a list or segment, on the other hand, we back-populate emails based on the moment you click Back-Populate. All subscribers will be queued up to receive emails at the same time, regardless of when they entered the list or segment. That means that someone who was added to a list one year ago and someone who was added to that same list yesterday will be scheduled to receive emails at the same time.
Example: Back-populating a flow triggered by an event
If I placed an order 3 weeks ago and a flow email is scheduled to send 5 days after someone places an order, I won't get queued up to receive this flow email when the flow is back-populated. This is because it's already been 3 weeks (i.e. I already missed the 5-day mark when this email would have sent to me). If I placed an order 3 days ago, however, when you back-populate this flow, I will get queued up to receive the email. I will get scheduled to receive this email in 2 days (i.e. at the 5-day mark for me).
When a flow triggered by a list or segment is back-populated, we will retroactively schedule all emails relative to when you click back-populate. We will not schedule emails based on the date each person was added to your list or segment.
Example: Back-populating a flow triggered by subscribers/additions to a list or segment
Let's say you have a flow that is triggered by new subscribers to your newsletter list. You have your first flow email scheduled to send immediately, and a second flow email scheduled to send after 3 days. You also have 200 people already on your newsletter list when you finish creating this flow and turn it live. If you click back-populate, all 200 people will receive Email #1 immediately and will get scheduled to receive Email #2 in 3 days.
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 the start of your flow and turn it live, it will only be sent to new emails addresses going forward. Those that have already entered your flow will not retroactively be queued up for this new email.
The same would be true if you added a new email to the end of your flow -- only new people entering your flow would get queued up for the full flow series including 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 get scheduled for a newly added email, even if the new email added to the end of your flow.
If you add an email to the end of a flow that is triggered by an event, you can back-populate the flow (see section above) to make sure those recently added to the flow will receive the final email. This works because when you back-populate a flow triggered by an event, we will retroactively schedule emails relative to when each event took place and when each email in the flow is configured to send. This does not work for flows triggered by new additions to a list or segment.
To review the analytics for a given flow email, click anywhere within the Analytics (Last 30 Days) snapshot to the right of the email.
In the Overview tab, you will be able to view all relevant metrics around your email's performance. You can adjust the timeframe of the report, and also adjust the conversion metric reported.
The number of emails that hard bounced (i.e. couldn't be delivered by us)
- Successful Deliveries
The number of emails that were reported back to us as delivered (i.e. the recipient's email provider acknowledged they went through)
- Total Opens
This is the total number of times an email is opened; if someone opened the same email 4 times, he/she would be counted 4 times here
- Total Clicks
This is the total number of times an email is clicked through; if someone clicked the same email 4 times, he/she would be counted 4 times here
If you navigate to the Recipient Activity tab, you will be able to view those that have emails scheduled in Waiting, as well as those that have already received, opened, and clicked your email. This is also where you can view those that were skipped or otherwise did not successfully receive your email -- this information is in the Other drop-down menu.
The Link Activity tab here allows you to view click data related to the links you included in your email. You can toggle between a table view of this data and a visual view.
The Advanced Reports tab here includes the following:
- Performance by Email Domain
- Performance by Email Client
- Performance by Country
This gives you insight into your audience by telling you the email domains they use (i.e. Gmail, Yahoo, Outlook, etc.), where they're opening your emails, and how they're opening them (mobile vs. desktop).