One of the key features of Klaviyo is the ability to create flows, which are automated email sequences triggered by specific actions or events. In this article, we'll dive into the details of Klaviyo flows and how they can help you improve your loyalty email marketing campaigns.
What is a Flow?
Klaviyo flows are automated email sequences that are triggered by specific actions or events. For example, common flow triggers can include when a customer signs up for a newsletter, makes a purchase, or abandons their cart. Flows can be used to send a series of emails over a period of time, with each email building on the previous one to create a cohesive and effective email campaign.
Klaviyo flows are made up of a series of "triggers," "filters," and "actions." Triggers are the events that start a flow, filters are the conditions that determine whether someone should receive an email, and actions are the emails that are sent as part of the flow.
Benefits of Klaviyo Flows
There are several benefits to using Klaviyo flows in your email marketing campaigns. The two biggest reasons to utilize flows for your loyalty marketing efforts are:
Personalization: Klaviyo flows allow you to create personalized email campaigns that are tailored to your customers' behavior and preferences. By using triggers and filters, you can ensure that each customer receives emails that are relevant to their specific situation.
Automation: Klaviyo flows are completely automated, which means that you can set them to run in the background, freeing up time and resources for other tasks. This means you can focus on other areas of your business while your marketing campaigns continue to run and generate results.
The elements of a Flow
Trigger
Triggers are the events that start a flow. There are several different triggers that can be used in Klaviyo, like: signup, abandoning a cart, placing an order, and more.
You can also use easyPoints properties to trigger flows, as we’ll review in a bit.
Filter
Filters are the conditions that determine whether someone should receive an email as part of a flow.
Filters can be based on a variety of factors, including the customer's location, the items they've purchased, their behavior on your website, and more. For example, you might use a filter to send a specific email only to customers who have made a purchase in the past year.
Action
Actions are generally the messaging that is sent as part of a flow. For example, an action represents a specific email that is sent at a specific time. You might send a welcome email when someone signs up for your newsletter, followed by a discount code a few days later, and a reminder to use the code a few days after that.
There are additional actions you can include in a flow:
SMS - you can send text messages to subscribers; however, keep in mind that this service is only available in the US, UK, and Canada currently.
Updated profile property - have Klaviyo create, modify, or remove a property
Notification - send a notification email or SMS message to yourself or your team when a specific event occurs in your flow
Webhook - trigger an HTTP request to an external web service or application, enabling you to integrate Klaviyo with other tools and automate tasks.
Timing
The Timing Delay action in Klaviyo flows allows you to add a delay or pause between actions in your flow. This is useful for creating a more natural and personalized customer journey, as well as for spacing out your communications to avoid overwhelming your customers with too many messages at once.
To use a Timing Delay action in Klaviyo, you simply drag and drop the action into your flow and set the desired delay time. You can choose to delay the next action by a specific number of minutes, hours, days, or weeks, or you can choose to delay until a specific date and time.
IMPORTANT: Keep in mind that if you set a consistently updated Date Property as your flow trigger, you can’t set a timing delay after the update has gone through as Klaviyo will consider the flow trigger no longer active.
Logic
The Conditional Split and Trigger Split are two types of branching actions that you can use in Klaviyo flows to create more personalized and targeted customer journeys. They’re available under the “Logic” menu for flows.
Conditional Split:
The Conditional Split action allows you to split your flow based on specific conditions or rules that you set. For example, you might use a Conditional Split to route customers down different paths in the flow based on their location, their purchase history, or their engagement with previous emails.
To set up a Conditional Split, you'll define the conditions that you want to use to split the flow, such as if a customer has purchased a certain product or if they have clicked on a specific link in a previous email. You can then create multiple paths in the flow, each with its own set of actions and content, depending on the conditions that the customer meets.
For example, you might create a Conditional Split in an abandoned cart flow that routes customers down different paths depending on the value of their abandoned cart. Customers with a cart value below $50 might receive a discount offer, while customers with a cart value above $50 might receive a personalized product recommendation.
Trigger Split:
The Trigger Split action allows you to split your flow based on an external trigger, such as when a customer makes a purchase or fills out a form on your website. This can be useful for creating highly targeted and timely customer journeys that are triggered by specific actions or events.
To set up a Trigger Split, you'll define the external trigger that you want to use to split the flow, such as when a customer makes a purchase or fills out a form on your website. You can then create multiple paths in the flow.
For example, you might create a Trigger Split in a welcome flow that routes customers down different paths depending on whether they have made a purchase or not. Customers who have made a purchase might receive a personalized thank you message and a discount offer, while customers who have not made a purchase might receive a series of emails
How to create a flow in Klaviyo
Creating a flow in Klaviyo is a simple process that can be broken down into four steps:
Choose a trigger: Choose the event that will trigger your flow. This could be a sign up, an abandoned cart, a specific product being added to a cart, or any other event that you want to use as a trigger.
Set up filters: Set up any filters that you want to use to determine who should receive your emails. For example, you might want to send a specific email only to customers who have made a purchase in the past year.
Create your actions: Create the messaging that will be sent as part of your flow and position them appropriately within the flow. Accommodate various journeys within a flow by building branches with splits.
Activate your flow: Once you've set up your trigger, filters, and emails, you can activate your flow and start sending emails to your customers.
Now that we’ve covered the basics of flows, let’s actually put some together for easyPoints!
Earning Points + Birthday Reward
If you want to tell customers when they’ve received birthday points in their account, you can easily create a flow triggered by a point allotment!
Using the metric "Credited Points" as your flow trigger, you can now set up a flow that sends out an email to customers when they’ve earned points.
However, you can break down point allotments based on specific types if you want to. A popular example would be birthday rewards!
Let’s modify the flow to now only send an email when a customer receives birthday points.
But what if you wanted both: to send out general point notifications, but send a specific birthday-focused email when the allotment is birthday points?
In this case, we can split our flow based on a trigger. More specifically, we’ll be building on our initial trigger for the flow by defining a property of it. Once this is done, our flow will now send point deposit emails to subscribers with a specific point allotment email being sent for birthday point deposits.
Tier Notice
When tiers update, you can send a notice to customers of their current tier rank post-update. To this, simply set the flow’s trigger to be `Tier Status Updated.` Regardless of whether their tier rank has stayed the same or not, the notification email will go through.
If you do want to split the messaging so that those whose tier did not change receive a separate email (or no email at all), you can do so with the trigger split. Keep in mind, however, that this would segment those whose tiers did and did not change — it cannot figure out if someone’s tier changed upwards or downwards.
To make this split, use the `$tier_changed?` property and change the type to Boolean (this property will only work as Boolean and can’t be used as any other type).
Now you can modify the flow as needed. In the below example, those whose tier did not change will not receive an email while those who did get their tier changed, will.
Tier maintenance notice (rank down warning)
Another common loyalty flow is the rank down notification. Here, you would be warning customers who would be ranking down after the next tier update. In other words, they’re currently on track to lose their current tier unless they spend the necessary amount to maintain it.
For this flow, the trigger is the easyPoints Date Property for the tier maintenance deadline. We’ve configured an example with two email alerts, the first of which is sent out one week before the customer will rank down and is narrowed down by their current tier rank. There is an additional filter added to ensure only those whose maintenance amount is not at ¥0 are added to this flow.
After the first email is sent, the flow waits for 5 days (or 2 days before the deadline) then checks if the customer’s tier maintenance amount is over ¥0 (or, in other words, they have not yet met the tier maintenance spend requirement). If this is true, the customer receives a second email alert of the upcoming rank down to encourage them to spend the needed amount to maintain their rank.
Tier upgrade notice (rank up motivation)
The last loyalty flow we’ll take a look at is the rank up flow. This flow is targeting customers who have already spent enough to maintain their current tier rank, so we will instead send them messaging to encourage unlocking the next highest tier.
Just like the rank down flow, the trigger for this flow will be a Date Property, although this time it will be tier advancement deadline.
Similar to the rank down flow example, we are setting filters for the trigger to include only people within a specific tier who still have to spend more to unlock the next tier.
A first email is sent out to all these customers, then the flow waits for 5 days. Depending on how many tiers you have for your program, the conditional split can change. In the above example, we will assume there’s only one tier your customers can advance to. As such, the conditional split only checks to make sure the customer still needs to spend more to unlock the next tier.
But what if there is more than one tier down the line for a customer to unlock? In this case, it’s best to then add a secondary property to the conditional split.
In this case, we’ve added another condition that the customer’s tier is still the same as from the start of the flow. This prevents the customer from getting an alert to unlock a tier they’ve already unlocked.
From here, Klaviyo will determine if a customer matches the conditions and sends a second email alert for ranking up.