Fundamentals

Journey Builder lets you automate sequences of interactions across channels — email, SMS, push notification, advertising — based on who a customer is and how they behave. Unlike a one-off send, a journey is a living programme that contacts flow through over time.

When to use Journey Builder vs Email Studio

Use caseUse
One-off newsletter or promotionEmail Studio send
Welcome series for new subscribersJourney Builder
Post-purchase follow-up sequenceJourney Builder
Abandoned cart reminderJourney Builder
Re-engagement campaignJourney Builder
Timezone-aware scheduled sendJourney Builder (send at optimal time)
Triggered transactional emailJourney Builder or Triggered Send

Journey statuses

StatusMeaning
DraftBeing built — no contacts, not live
RunningLive — contacts can enter and are being processed
PausedNo new contacts enter; existing contacts continue their path
StoppedAll processing halted — contacts freeze at their current activity
FinishedJourney completed naturally (e.g. single-run journey exhausted)

Entry sources

Entry sources define how contacts enter the journey. The entry source is always the first block on the canvas.

Entry sourceHow contacts enterBest for
Data ExtensionContacts in a specified DE are injected on a schedule (hourly, daily, etc.)Welcome series, re-engagement, date-based triggers
API EventAn API call injects a single contact in real timeReal-time triggers (sign-up, purchase, app event)
Salesforce DataContacts enter based on Salesforce CRM object changes (requires MC Connect)Sales lifecycle journeys, CRM-triggered comms
AudienceA Salesforce Audience Studio segment enters the journeyAudience-based journeys using advertising data
CloudPagesForm submission on a Cloud Page enters the contactSign-up journeys, event registrations
Inbound ChatTriggered by a Messaging conversation eventConversational journeys

Entry schedule and re-entry

For DE-based entry sources, set how often SFMC checks the DE for new entries (e.g. daily at 8am). Configure re-entry rules:

Activity types

Message activities

ActivityWhat it does
EmailSends an email from Content Builder to the contact
SMSSends an SMS via MobileConnect
Push notificationSends a push via MobilePush
In-app messageDisplays an in-app message in your mobile app
LINESends a LINE message (Japan/APAC)

Flow control activities

ActivityWhat it does
Wait by DurationPauses the contact for a fixed time period (e.g. 3 days, 1 hour)
Wait until DateHolds the contact until a specific date (e.g. their subscription renewal date)
Wait until EventHolds the contact until they perform a specific action (e.g. click a link, make a purchase)
Random SplitRandomly assigns contacts to paths (useful for holdout groups)
Engagement SplitBranches based on whether the contact interacted with a previous message
Decision SplitBranches based on contact data attributes

Data activities

ActivityWhat it does
Update ContactUpdates a field in a Data Extension for this contact
Salesforce ActivityCreates or updates a Salesforce CRM record (requires MC Connect)
Fire EventFires an API event that can trigger another journey
Custom ActivityCalls your own web service endpoint with the contact's data

Decision splits

Splits let you branch the journey based on data or engagement. They are one of the most powerful Journey Builder features.

Engagement Split

Evaluates whether a contact engaged with a specific previous message in the journey. You configure a lookback window (e.g. opened within 24 hours of Email 1). Path A = engaged, Path B = didn't engage.

📘 Engagement Split timing

Place an Engagement Split after a Wait activity that gives contacts enough time to engage. An Engagement Split placed immediately after an Email send will show near-zero engagement because contacts haven't had time to open the email yet.

Decision Split

Evaluates contact data attributes — fields from the entry DE, computed attributes, or Salesforce CRM data. Example paths:

Decision Splits support up to 5 paths (Path A–E plus a default path).

Wait Until Event (Einstein Send Time Optimization)

A special Wait activity that holds a contact until they're most likely to engage, based on Einstein's analysis of their past behaviour. Requires Einstein Send Time Optimization to be enabled on your account.

Goals & exit criteria

Goal

A Goal defines what "success" looks like for a contact in the journey. When a contact meets the goal condition, they exit the journey immediately rather than continuing through remaining activities.

Example goals:

Goals are evaluated at each Wait activity and on a configurable schedule. Set a goal that can reasonably be expected during the journey's lifespan.

Exit criteria

Exit criteria remove contacts from the journey when a condition is met — regardless of where they are in the path. Common exit criteria:

⚠️ Goals vs Exit criteria

A Goal is a positive outcome — the contact achieved what you wanted. An Exit criterion is a condition that makes continuing the journey inappropriate. Both result in the contact leaving, but they're tracked separately in journey analytics.

Versions & updates

Running journeys cannot be edited. To make changes, you must create a new version. When you activate a new version:

💡 Version strategy

For journeys with long paths (e.g. a 3-month onboarding series), consider pausing the old version once the bulk of contacts have passed the entry point, so they don't receive an outdated experience while contacts in the new version get an updated one.

Journey patterns

These are the most common journey architectures in SFMC.

Welcome series

Entry: DE-based, runs daily. Goal: first purchase within 14 days.

StepActivityTiming
1Email: Welcome & brand storyImmediately on entry (Day 0)
2Wait: 1 day
3Email: Best sellers / top picksDay 1
4Wait: 3 days
5Engagement Split: Opened email 2?
6aEmail: Exclusive first-purchase offer (clicked)Day 4
6bEmail: Re-engagement nudge (didn't click)Day 4
7Wait: 7 days → EndDay 11

Abandoned cart recovery

Entry: API Event fires when a cart is abandoned (typically from your e-commerce platform). Exit criteria: contact makes a purchase.

StepActivityTiming
1Wait: 1 hour (give them a chance to buy)
2Decision Split: Already purchased?
3Email: Cart reminder (no purchase path)~1hr after abandon
4Wait: 23 hours
5Engagement Split: Clicked reminder email?
6aEmail: Offer/incentive (didn't click)~24hrs after abandon
6bEnd (clicked — they engaged, don't over-message)

Re-engagement

Entry: DE query runs weekly to find subscribers with no engagement in 90 days.

StepActivityTiming
1Email: "We miss you" re-engagementDay 0
2Wait until event: Click/open OR 7 days
3Engagement Split
4aUpdate Contact: Mark as re-engaged → EndIf engaged
4bEmail: "Last chance" with unsubscribe prominent → EndIf not engaged
5bUpdate Contact: Mark as sunset → suppress from future sends

Journey analytics

Each running journey has a Journey Analytics tab showing contacts at each activity, engagement rates per email, and goal achievement rates.

Key journey metrics