The Time Delay component in the flow builder is used to create delays – or wait periods – between emails or other components in your flow series.
If components are back-to-back, without any time delays, they will all occur simultaneously. For this reason, you will likely always want to ensure you have a Time Delay component between consecutive emails.
Add a Time Delay
To add a new time delay into a flow, drag the Time Delay component from the sidebar and drop it where you would like to create this waiting period. After you drop the time delay into your flow, you will be able to configure the details in the left-hand sidebar.
Configuration options for a time delay include:
- Wait __ Minutes
- Wait __ Hours
- Wait __ Days
- Wait __ Days and delay until a specific time of day
When you choose to create a waiting period of X days, each day will be calculated as a 24-hour period. If you choose to wait X days but specify a certain time of day, however, each day will be calculated as a calendar day to avoid prolonged wait periods depending on when a recipient enters your flow. To explain this further, consider the following scenario.
Let's say you want to have a time delay set to "Wait 1 Day, until 3PM" and then send an email:
- Person A enters your series at 2PM. Waiting 1 day (24 hours) would land your recipient at 2PM the next day and the email would send 1 hour later at 3PM. The total amount of time between when they trigger the flow and when they receive the first email is 25 hours.
- Person B enters your series at 4PM. Waiting 1 day (24 hours) would land your recipient at 4PM the next day. In order to send at your specified time of 3PM, we'd need to wait another 23 hours. This means Person B would receive your email almost a full day later than Person A. What happens instead is that Person B will receive the email at 3PM the following day, 23 hours after they triggered the flow.
To avoid the above problem, we'll only wait X "calendar days" instead of X "24-hour days" when your time delay includes a specific time of day. With this behavior, using the above example, Person A and Person B will both get the email at the same time.
Delay Until a Specific Time
You may want to control what time of day recipients receive a specific flow email in your series. This can be useful when you want to normalize the time of day people receive your emails, for instance, if you know your audience typically opens emails at a certain time.
Within the settings for a Time Delay component, you can choose, "Delay until a specific time of day." If you have an email following this time delay, this will establish the send time for that email.
After choosing a time of day, you can then select a timezone. You can choose Recipient's Local Timezone in order to ensure each recipient receives your email at your preferred time, regardless of where they are located.
One benefit to choose the "Wait __ Days" option, without selecting a set time, is that each recipient will then receive the email at the same time they took the flow's trigger action -- the time someone took the trigger action is one data point that tells you the recipient was online engaging with your business at that time, and thus it might be a time they're typically active online.
Delay Until a Specific Day of the Week
If you only want a flow email to send on specific days of the week, you can add a Time Delay component before it in your series and use the "Delay until a specific day(s) of the week" option.
Selected days (in blue) are the days of the week when the message does send. Unselected days (in gray) are the days of the week when the message does not send.
For example, let's say John enters your flow on a Tuesday:
- You have a delay after the trigger to "Wait 2 Days," but delay until a Monday, Wednesday, or Friday.
- John enters the flow on a Tuesday, we wait 2 days, and now it's Thursday. Because you only want emails to send on Monday, Wednesday, or Friday, however, we'll delay one more day until it's Friday.
Timeline from the Flow Trigger
As you build out your flow, you will want to keep two different timing considerations top-of-mind:
- The time between components (as represented by time delays)
- Timeline of each component from the trigger
Each flow represents a targeted customer experience. In order to build a series with timely touchpoints, it is important to think about the timing of each action in your flow relative to the activity or behavior that set the flow in motion.
For example, in a winback flow, you may have the first email send after 35 days. The second email may wait another 25 days, which brings the total number of days elapsed since the last purchase (the flow's trigger) to 60.
To help you keep track of how far your flow is stretching from the trigger, you will notice "hints" on the Time Delay sidebar as well as below each action card on the canvas. Below, you will see the same winback example -- notice the hint in the sidebar that appears as the time delay is configured, as well as the "Day 60" hint below Email #2.
There are certain situations when we can't determine an email's exact timing from the trigger. These situations arise specifically when you mix the following two Time Delay components in the same flow:
- Wait __ Days
- Wait __ Days and delay until a specific time of day
As explained above, when you specify "Wait X Days" and then provide a specific time, each day will be calculated as a calendar day and not a fixed 24-hour day. This means the exact delay period (in terms of hours) is not predetermined. This will vary depending on when someone enters the flow.
If you mix the two above triggers, you're combining one delay period that always has a fixed number of hours (Wait __ Days) with a delay period that has a variable number of hours (Wait __ Days and delay until a specific time of day) and we can no longer accurately calculate how many days a given email will send relative to the trigger.
Time Delays & Conditional Splits
A conditional split in a flow allows you to create two parallel paths for recipients based on a definition you establish. A conditional split can be defined based on any recipient properties or activity. After you drag in and set the condition(s) for your split, it functions as a decision point -- when recipients reach this split they are evaluated as "yes" or "no" and are sent down the appropriate path.
If you add a time delay right before a conditional split, recipients will wait at the split until it's time for them to be evaluated. The time delay you set before a split is important, because a split is a point-in-time evaluation.
For example, let's say your conditional split is has Placed Order zero times over all time -- those where this is true (non-purchasers) will go down the YES path and those where this is false (existing customers) will go down the NO path. It's possible, at any point, that someone in this flow may purchase from you and become a customer, so the timing of when this split is evaluated in your series is important.
If you intend to place emails on both the YES and NO paths of a conditional split, we recommend setting these emails to send immediately after the split itself by not adding time delays directly after it. This way, right after your split is evaluated, recipients will receive a relevant email. If you put an additional time delay after a split, before an email, it's possible that, after this additional wait period, the recipient will no longer qualify for that path.
In the below example of an abandoned cart flow, the goal is to send shoppers an email 4 hours after they initiated a checkout if they didn't end up completing the order. Here, we want to create two parallel paths based on whether or not this cart-abandoner has ever purchased before in the past. To achieve this, we add a Time Delay component to wait 4 hours after the trigger but, before we send a first abandoned cart reminder email, we added a Conditional Split to evaluate whether or not someone moving through this flow has bought before. After 4 hours, someone will either get email #1a or #1b depending on whether or not they bought at least once in the past.