Step 1: Create the Journey
- Navigate to Journeys
- Click New Journey
- Enter a name: “Welcome Series - Main List”
Step 2: Configure Triggers
Triggers define when contacts enter the journey.Trigger Type: List Membership
The most common trigger—enter when joining a list:Trigger Type: Custom Field
Enter based on a field value. Theoperator field is required:
| Operator | Meaning |
|---|---|
eq | Equals |
ne | Not equals |
in | Value is in a list |
not_in | Value is not in a list |
exists | Field exists on the contact |
contains | Field contains substring |
Multiple Triggers
Triggers are organized using aJourneyTriggerGroup structure that supports nested logic:
JourneyTriggerGroup has:
operator:ANDorOR— how to combine the conditions and nested groupsconditions: Array of individual trigger conditionsgroups: Optional array of nestedJourneyTriggerGroupobjects for complex logic
Step 3: Add Steps
Click Add Step to add each journey step.Send Message Step
Deliver a message:- Click Add Step > Send Message
- Select a creative or define an inline message
- Optionally select an offer binding
{{brand_name}}, {{linkN}}).
Wait Step
Pause before the next step:- Click Add Step > Wait
- Set duration and unit
Condition Step
Branch based on behavior:- Click Add Step > Condition
- Configure the condition
- Define Yes and No branches
Wait Until Step
Wait until a specific time of day before proceeding:- Click Add Step > Wait Until
- Set the target time (HH:MM)
wait_until holds the contact until the next occurrence of the specified time (e.g., 9:00 AM).
Set Custom Field Step
Set a custom field value on the contact’s ListContact record:- Click Add Step > Set Custom Field
- Specify the field key and value
Unsubscribe Step
Unsubscribe the contact from the list:- Click Add Step > Unsubscribe
Exit Step
End the journey:- Click Add Step > Exit
Step 4: Connect Steps
Steps flow sequentially by default. Use conditions to create branches.Linear Flow
Branching Flow
Step 5: Review and Activate
Preview
Before activating:- Click Preview
- Review the flow visually
- Check trigger conditions
- Verify creatives are correct
Activate
- Click Activate
- Journey starts enrolling new matching contacts
- Existing contacts are NOT enrolled (only new matches)
Example: Simple Welcome Series
Let’s build a 3-message welcome:Editing Active Journeys
You can edit active journeys, but be careful:| Change | Effect |
|---|---|
| Add step at end | Safe - affects future enrollees |
| Change creative | Affects enrollees who haven’t reached that step |
| Change timing | Affects future waits, not in-progress waits |
| Change trigger | Only affects new enrollments |
| Delete step | ⚠️ May break in-progress enrollments |
Monitoring Journeys
Enrollment Stats
View in the journey dashboard:- Total enrollments
- Active enrollments (in progress)
- Completed
- Exited early
Step Performance
See metrics per step:- How many reached this step
- Conversion to next step
- Drop-off rate
Troubleshooting
Contacts not entering
Contacts not entering
Check:
- Is the journey active?
- Do contacts match trigger conditions?
- Are they already enrolled (one enrollment per journey)?
Messages not sending
Messages not sending
Check:
- Is the contact still subscribed?
- Is the creative active?
- Are there sending list issues?
Stuck in wait step
Stuck in wait step
Wait steps process on schedule. Check:
- Is the job server running?
- Is
next_step_atset correctly?
Next Steps
Conditions
Add branching logic
Wait Steps
Timing best practices