Configuring Wait Steps
Duration
Set how long to wait:Available Units
| Unit | Use Case |
|---|---|
| Minutes | Testing, urgent follow-ups |
| Hours | Same-day follow-up |
| Days | Standard spacing |
How Waits Work
When a contact reaches a wait step:- System calculates
next_step_at= current time + duration - Contact pauses at the wait step
- Background job checks for contacts past their
next_step_at - 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
| Journey Type | Typical Spacing |
|---|---|
| Welcome series | 1-3 days between messages |
| Onboarding | 2-5 days |
| Re-engagement | 3-7 days |
| Educational | 1-2 weeks |
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
Thewait_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:
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.
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 await_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:Editing Wait Duration
You can change wait duration on active journeys:| Scenario | Effect |
|---|---|
| Increase wait | Contacts currently waiting may wait longer |
| Decrease wait | Contacts may proceed sooner |
| Contacts past wait | Not affected, already moved on |
Examples
Short Welcome (Aggressive)
Standard Welcome
Slow Nurture
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
Contacts stuck in wait
Contacts stuck in wait
Check:
- Is the job server running?
- Is
next_step_atin the past? - Are there database issues?
Waits not accurate
Waits not accurate
The journey executor polls every 5 seconds. Variances should be minimal (under 5 seconds).
Want time-of-day control
Want time-of-day control
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