The back-populate feature allows you to queue people for flow actions retroactively. This is useful when you create a new flow with messages scheduled in the future. Back-populating allows you to populate contacts into your flow that would have been queued in real-time had the flow existed earlier. Note that back-populating is not necessary for date-based flows, as they will automatically check to see if and where profiles should fall in a flow's timeline.
You cannot back-populate a flow that contains dynamic coupons. If you have any dynamic coupons, please change them to static coupons before back-populating.
For example, when you create a customer re-engagement flow, you probably don't want to wait 60 or 120 days for customers to start receiving the emails or SMS. Back-populating this flow finds customers who placed an order months ago and queues them for messages as soon as the next day.
Who is queued when you back-populate a flow depends on whether your flow trigger is a metric, list, or segment, as well as the sending status of your flow actions.
Individuals will only be queued at actions when the action's status is manual or live.
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.
How a List- or Segment-Based Flow Is Back-Populated
When you back-populate a flow that is triggered by being added to a list and segment, you have two options: back-populate recipients relative to when they were added to the list/segment, or back-populate recipients relative to when you click back-populate.
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.
If you choose to back-populate your flow relative to when customers were added to the list/segment, people will only receive the messages if they fall within the time parameters of the flow.
For example, let's say you have one email in the flow that goes out immediately, and another that goes out 2 days later. If you back-populate this flow, anyone who was added to the list less than 2 days ago will receive the second email, but not the first (since they would have received it immediately).
If you choose to back-populate your flow relative to when you click Back-Populate, each person will be queued as if they had been added to the list or segment immediately.
For example, if a flow sends an SMS after 30 days and someone subscribed on January 1, back-populating the flow on March 1 would schedule them to receive that SMS on March 31. If a different person subscribed on January 15, they would also be scheduled to receive the email on March 31.
How a Metric-Based Flow Is Back-Populated
For flows triggered by an event (for example, Placed Order), messages will be queued relative when a recipient triggered a flow, and only for people who would be scheduled to receive that email within the time parameters of the flow. Because messages that are past due aren't sent, any SMS or email timed to send immediately won't back-populate.
To back-populate an event-based (i.e., metric-triggered) flow, you need to add in a time delay component — and not a flow filter to the trigger. Adding a flow filter to the trigger won't add any new people to event-based flows, as the back-population in this case is based on time delays.
For example, if a flow is triggered by someone placing an order and sends an email after 30 days, back-populating the flow on January 1 would schedule emails for anyone who placed an order between December 2 and January 1. If someone placed an order on December 3, they would be scheduled to receive an email on January 2. If another customer placed an order on December 31, they would be scheduled to receive an email on January 30.
This latter example illustrates why using the back-populate feature with flows that span several months is so powerful. You don't need to wait a long time for the flow to start sending. In fact, you can create your flow and start sending SMS and emails the same day or the next day based on historical behaviors.
Back-Populating a Flow with Conditional or Trigger Splits
Back-populating is not required to ensure those already moving down a split path get scheduled for new steps you might add to that path. For example — if Becky was already 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.
If you add new steps to extend a split path, and want those that already exited your flow to get scheduled for these new steps, you can back-populate your flow. For example — if Becky was already evaluated at a split, but has since exited the flow, you can add a new action to the end of the path she went down and back-populate to get Becky queued up for this new action. Keep in mind this will only work if Becky hasn't already missed the scheduled time point for the action; if you added an email that should send 5 days after the flow's trigger, but Becky is now 10 days post-trigger, she won't qualify to get scheduled for the email given she missed her chance to get this day 5 touch point.
When back-populating a new flow, we will insert contacts at the right point based on the timing you’ve established for each step (see sections above). If you have a split in your flow, when you back-populate, we will look back and retroactively evaluate the split as necessary to assess whether the contact would have gone YES or NO. This allows us to always insert a contact into a flow at the right step on the appropriate path.
Read this article to find out How to Back-Populate a Flow.
Learn more about flows in the following articles: