Understanding how back-populating works in Klaviyo

read
Last updated at:

You will learn

Learn about Klaviyo's back-populate feature which allows you to queue people for flow actions retroactively. This is useful when you create a new flow, as back-populating allows you to populate contacts into your flow that would have been queued in real-time had the flow existed earlier.

In this article, we explain details about back-populating different flows in Klaviyo. For step-by-step instructions on how to back-populate a flow, read this article: How to Back-Populate a Flow

About back-populating

Who is queued when you back-populate a flow depends on the flow’s timeline as well as whether your flow trigger is a metric, list, or segment. Individuals will only be queued at actions when the action's status is manual or live.

Flows work in real-time, so if you add another step to a flow, you do not need to back-populate if you only want recipients who are still in the flow (i.e., have not gone through the last step yet) and who haven’t passed the new step to go through it.

Due to how they queue recipients, back-populating is not available for date property and price drop flows.

Since back in stock flows are best without time delays (and the back in stock delay functions differently), back-populating won't have any effect. If you wish to reach out to those in a back in stock report, we recommend sending a campaign.

That said, if your back in stock flow does contain a time delay, back-populating will work similarly to how other metric-triggered flows back-populate. The only difference is that with back in stock flows, someone in the waiting queue will be notified as soon as the product is back in stock.

Metric-triggered flows

When you back-populate a metric-triggered flow, recipients will move through the flow relative to when they performed the triggering action. Back-populating does not cause a flow to send out messages immediately; instead, it will simply insert recipients at the step where they would be if the flow was live when they performed the triggering action. They’ll then move through the flow like any other recipient.

Flow filters will be checked at each step of the flow during back-population similar to when a profile is moving through a flow normally. The one exception to this is the Skip anyone who has been in this flow at any time filter. This filter is only checked when someone enters the flow.

Since back-populating for metric-based flows depends on where someone falls in the flow’s timeline, you must include at least one time delay. (Adding a flow filter before back-populating will not add any new recipients.) If someone falls outside the flow’s timeline (e.g., if the flow lasts for 10 days but someone performed the action 15 days ago), they will not be added to the flow.

The back-population modal explains that back-population retroactively enters profiles into the flow.

Suppose you want to back-populate a winback flow triggered by the Placed Order event. Directly after the trigger, you have a time delay for 75 days, followed by an email, a time delay for 10 days, and then another email.

An example of a flow triggered by Placed Order with a 75 day time delay before the first email and 10 day time delay before the second email

When you back-populate this flow, Klaviyo will insert everyone who purchased from you between 1 and 75 days ago into the first time delay. Recipients will then wait until the full 75 days pass from the time they performed the action. For instance, someone who purchased 10 days ago will have to wait 65 more days before they get the first email, whereas someone who placed an order 70 days ago will only be in this time delay for five days.

Anyone who purchased between 76 and 85 ago will not get the first email and will move straight to second time delay. They’ll then wait for the rest of the 10 days before getting the second email.

If someone purchased more than 85 days ago, they won’t be added to this flow. The only way to send to them is to build a segment targeting this group and send them a campaign.

List- and segment-triggered flows

If recipients in a list-based flow are skipped for any reason, back-populating will not re-queue these recipients for the flow. Once you've entered a list-based flow you cannot be re-queued for any flow message you have already received. The best way to reach customers that have been skipped for a list-based flow is to clone the flow and back-populate the cloned flow.

List- and segment-triggered flows have two options for back-populating:

  • Schedule recipients relative to when they were added to the list or segment
  • Schedule recipients relative to when you click back-populate

Schedule relative to when recipient was added

Back-populating relative to when a recipient was added to a list or segment is similar to how metric-triggered flows back-populate. Recipients will be inserted into a flow at different points, depending on when they joined your list or segment.

Say that you have an SMS welcome series that lasts for 14 days with three messages spaced 7 days apart.

Example of a flow with a 7 day time delay after the first SMS message and another after the second SMS message

If you back-populate, anyone who subscribed to SMS in the last 14 days will be added to the flow. Those who subscribed between 1 and 7 days ago will be placed at the first time delay where they’ll wait until the full 7 days have passed. They’ll then follow the flow just like any other recipient. Those who subscribed between 7 and 14 days ago will do the same, but enter the flow at the second time delay.

Example of a list-triggered flow showing where a customer will end up in a flow relative to the 7 day time delays

Schedule relative to when you back-populate

When you schedule recipients based on when you back-populate, this treats recipients as if they just joined your list or segment. They’ll start at the very beginning of the flow and move through it one step at a time, like any other recipient.

Suppose you have a flow triggered when someone qualifies for your VIP segment. The flow lasts for 10 days and contains 3 messages spaced 5 days apart.

Example of a list-triggered flow with 3 messages with 5 day time delays in between

If you back-populate via this option, everyone who qualifies for the flow (e.g., is in your VIP segment) will start at the trigger. Those who already went through the flow will not receive the same messages again, while everyone else will start at the beginning and move through it step-by-step.

Back-populating with splits

When you back-populate a flow, Klaviyo will insert recipients at the point that aligns with when they performed the triggering action (unless you schedule recipients based on when you click back-populate). Also, when you back-populate a flow that contains any splits (i.e., a conditional or trigger split), Klaviyo will re-evaluate which path a flow recipient belongs in.

Note that if a time delay is the last component in a flow path, and you place a new message after it, you will have to back-populate. The reason is that Klaviyo uses time delays to queue recipients for the next action (SMS, email, notification, update profile property). If there's no action following the delay, recipients won't "wait" at the delay. Instead, they exit the flow, which is why back-populating is necessary. 

Let’s say that you edit an abandoned cart flow, changing a trigger split that divides recipients based on if their cart value is at least $50 to $100. When you back-populate, everyone whose cart value was between 50 and 100, and thus no longer qualifies for the Yes path, will move to the No path.

Example of a trigger split with configuration '$value is at least $100' with 4 hour time delays at the beginning of each path

Adding a new action to a flow

You do not need to back-populate if you add a new message to the end of a flow (or a single path) and want those currently moving down that path to receive that message. You would only need to back-populate to send to those who have either exited the flow or continued past the point of the new message. Let’s examine a few cases to understand how this works.

Note that if a time delay is the last component in a flow path, and you place a new message after it, you will have to back-populate. The reason is that Klaviyo uses time delays to queue recipients for the next action (SMS, email, notification, update profile property). If there's no action following the delay, recipients won't "wait" at the delay. Instead, they exit the flow, which is why back-populating is necessary.

First, let’s say that Becky was just evaluated at a split, and you add new actions to the end of the path Becky is still moving down. Becky will automatically get scheduled for the new actions in sequence without you needing to back-populate.

Example of a conditional split with a new 5 day time delay added to the NO path

John already completed the flow. If you add a new action at the end of the path John went down, you can back-populate to queue him for the new message. However, this will only work if John hasn’t already passed the new step. For instance, if you added an email to send 10 days after the flow’s trigger, and John triggered the flow 20 days ago, he will not receive the new email. On the other hand, if Kara triggered the flow 9 days ago, she will get the new email.

Example of a conditional split with a new email after a 5 day time delay added to the NO path

 

Additional resources

Read this article to find out How to back-populate a flow.

Learn more about flows in the following articles:

x
Was this article helpful?
578 out of 801 found this helpful