Skip to main content
Wait steps pause the journey for a specified duration before proceeding. Use them to space out messages appropriately.

Configuring Wait Steps

Duration

Set how long to wait:

Available Units

How Waits Work

When a contact reaches a wait step:
  1. System calculates next_step_at = current time + duration
  2. Contact pauses at the wait step
  3. Background job checks for contacts past their next_step_at
  4. Matching contacts proceed to the next step
The journey executor polls every 5 seconds. A “wait 1 hour” may have up to 5 seconds of variance.

Safety Limits

To prevent runaway journeys, the following limits are enforced:
  • 1,000 max step executions per enrollment — if a contact exceeds this, the enrollment is terminated
  • 30-day max enrollment duration — enrollments older than 30 days are automatically expired

Best Practices

Spacing Recommendations

Avoid Over-Messaging

Too many messages too quickly leads to opt-outs:

Consider Subscriber Fatigue

After 5-7 messages, engagement typically drops. Either:
  • End the journey
  • Increase wait times significantly
  • Transition to regular campaigns

Wait Until Step

The wait_until step type is different from a regular wait. Instead of pausing for a duration, it holds the contact until a specific time of day:
This waits until the next occurrence of 9:00 AM UTC. If the contact reaches this step at 7:00 AM UTC, they wait 2 hours. If they reach it at 10:00 AM UTC, they wait until 9:00 AM UTC the next day.
Wait Until times are evaluated in UTC. The backend does not currently convert to the contact’s local timezone for Wait Until evaluation. Plan your times accordingly.
Use wait_until when you want messages to arrive at a consistent time of day regardless of when the contact entered the journey or completed the previous step.

Time-of-Day Considerations

Regular wait steps don’t account for time of day. A message sent at 3 AM may not be ideal. Current behavior: Wait steps pause for a duration from whenever the previous step completed. Tip: Use a wait_until step to ensure messages are delivered at an appropriate time of day (e.g., wait until 9:00 AM before sending).

Wait + Campaign Interaction

Contacts in journeys may also receive scheduled campaigns. Use frequency capping to prevent overlap:
This prevents a journey message right before/after a campaign.

Editing Wait Duration

You can change wait duration on active journeys:

Examples

Short Welcome (Aggressive)

3 messages in ~30 hours. Best for time-sensitive offers.

Standard Welcome

4 messages over ~11 days. Balanced approach.

Slow Nurture

4 messages over ~7 weeks. Gentle, long-term relationship building.

Monitoring Wait Steps

In the journey dashboard, see:
  • Contacts currently in each wait step
  • Average time in wait
  • Contacts that exited during wait (unsubscribed)

Troubleshooting

Check:
  • Is the job server running?
  • Is next_step_at in the past?
  • Are there database issues?
The journey executor polls every 5 seconds. Variances should be minimal (under 5 seconds).
Use the wait_until step type to hold contacts until a specific HH:MM time before proceeding.

Next Steps

Journey Examples

Common patterns

Building Journeys

Full setup guide