Understanding how contacts move through a flow

Last updated at:

You will learn

Learn how contacts move through a flow which is an automated workflow in Klaviyo that is set in motion by an initial trigger and then includes one or more steps. Flows can be built to send timely communications to recipients, or they can simply apply certain actions, like updating a specific field on a profile.

This guide explains how contacts will move through a flow, including:

  • How recipients are scheduled for flow messages
  • What happens when you update a time delay in an active flow
  • How adding a new step affects flow recipients
  • What happens when you reorder the steps in an active flow
  • What happens when you delete a step in an active flow

How recipients are scheduled for flow messages

When someone new enters a flow after qualifying based on the flow's trigger, they will immediately be scheduled for the first step in the series.

This first step could be an action, like an email, or it could be a logic assessment, like a conditional split. 

  • If there is no time delay before this first step, you will see the recipient quickly move through the step and be scheduled for the next step.
  • If you have a time delay before this first step, the recipient will remain in a Waiting area until the scheduled time arrives. The "scheduled" state for a recipient is the Waiting state. 

A recipient is only scheduled for one step in a flow at a time if the flow is live. 

Let's say your flow is set up to send Email #1 in a flow after 1 hour, and Email #2 after 1 day. Someone new entering the flow will be in the Waiting bucket for Email #1 until an hour passes.

After this person receives Email #1, they will immediately be scheduled for Email #2. Only after this person moves past Email #1 will you see him/her will move to the Waiting bucket for Email #2.

An example of a basic flow with a 1 hour delay followed by Email #1, then a 1 day delay followed by Email #2

If you have an integration that doesn't sync immediately, note that qualified profiles will still be scheduled for the first step in a flow as long as the information for the triggering event is synced into Klaviyo within four hours of the event occurring or, if a time delay is the first step after the trigger, as long as the sync falls within the timeframe of the time delay — whichever comes last. If the difference in the synced (i.e., recorded) time and the actual time for an event is greater than both the four-hour default window and the time delay, they will be skipped from the flow. Refer to this article for details on how often your integration syncs data into Klaviyo

How a message in manual affects a recipient's progress

If a message is in manual, it does not stop the recipient from moving through a flow. For instance, say your flow setup is similar to the one shown below, with the first message in manual mode, followed by a five-day time delay and then the second message. 

An example of a flow with the first message after the trigger set to Manual status followed by a 5 day time delay and a second message

In this case, once recipients hit the Needs Review stage for the first message, they'll continue in the flow. Thus, after five days, they'll receive the second email — even if you haven't sent them the first yet. 

Updating the time delay in an active flow

If you update the time delay before a step, those already in the flow who haven't made it to that step yet will automatically be scheduled according to the updated timing when they do get there.

Let's say you have a flow where Email #1 is set to send after 2 days, and Email #2 is set to send 5 days later.

An example of a flow where Email #1 is set to send after 2 days, and Email #2 is set to send 5 days later

Becky enters a flow and is waiting to receive Email #1 the next day. While she's scheduled for Email #1, you update Email #2 to send 2 days later (instead of 5 days later). As soon as Becky receives Email #1, she'll be scheduled for Email #2 according to the updated timing and receive this email 2 days later. 

An example of a flow where Email #1 is set to send after 2 days, and Email #2 was changed from 5 days to 2 days later

For this same flow, however, Joe entered a few days before Becky and is already in the Waiting bucket for Email #2. When you update the time delay before this email, Joe will not be rescheduled to receive the flow sooner. He will still receive this second email 5 days after the first because he was scheduled for this second email before you made the timing update.

If you update the time delay before a step, those already scheduled in the Waiting bucket will not be rescheduled.

Note that if you set a time delay component to wait until a specific day, you will not be able to view the expected number of days for any emails and SMS that come after this delay. Suppose you have a time delay that waits for 5 days and only sends on a Monday or Friday. In this case, Klaviyo cannot determine when a recipient will receive the following message, as each person in the flow is going to have a different number of days before they are sent the message. 

Adding a new step into an active flow

If you add a new step to an existing flow series (e.g., an email, an update profile property action, a split, etc.), recipients currently scheduled at any previous step will automatically be scheduled for the new step in the sequence.

For example, let's say you have a welcome series with 3 emails spanning 1 week after someone subscribes. You want to make this series longer and add 3 more emails at the end. Now, the flow spans 2 weeks after someone subscribes.

Recipients currently in your sequence will automatically be scheduled for the new emails. You do not need to back-populate your flow or take any other action. This is only true for recipients who are still moving through the flow.

Recipients who already exited the flow prior to these new emails being added will not be scheduled to receive them. In this case, you would need to back-populate the flow in order to ensure that those who already exited the flow, but are still within the proper timeframe for your newly added emails, receive the new emails in the proper sequence.

Reordering steps in an active flow

Contacts are scheduled for all steps in a flow one-at-a-time, and they must move through one step before being scheduled for the next.

This means for those moving through a flow, any changes made to steps still ahead of them will impact their journey.

However, if someone is already scheduled (in Waiting) for a given step, they will remain scheduled for that step even if you move it elsewhere in the sequence. Additionally, say they are scheduled (in Waiting) for a first email or SMS, and you adjust the flow to add steps before this first touch, they will not receive these steps above unless you back-populate them.

For example, let's say you have a flow series with four emails:

  • Becky received Emails #1 and #2, and is currently scheduled for Email #3. While Becky is still scheduled for Email #3, you drag this email to the top of the flow.
  • New contacts entering the flow will get this email first, but Becky will still get it at her originally scheduled time.
  • After Becky receives Email #3, we will attempt to schedule her for the next step (Email #1). If a contact has already moved through a step in a sequence and arrives at it again because you've reordered the steps, the contact will not be scheduled a second time. In this case, you placed Email #3 before Emails #1 and #2, but because Becky already received Emails #1 and #2 she won't be scheduled for them again.
  • Becky will be scheduled to receive Email #4 because it is the next email in the sequence that she has not already received.
  • The only way that Becky can receive any new emails added before the next email she is scheduled for, is to back-populate.

Deleting steps in an active flow

If you delete a step that has contacts waiting, those contacts will move to the next step in your flow. When deleting a step from your flow, you will also be deleting any data associated with that step as well. For emails or SMS, you can keep that data by setting the message mode to Draft. Contacts will not be scheduled for messages in draft mode, and will move on to the next step in your flow. 

The only exception to this is if:

  • The step being deleted is a split (conditional or trigger)
  • There's no delay directly before the split

In this case, when the split is deleted, any contacts in waiting will be removed from the flow. Otherwise, they'll continue on to the next step. 

Additional resources


Was this article helpful?
128 out of 169 found this helpful