Chapter 5
Real-world journey orchestration patterns for trial conversion, churn prevention, feature adoption, expansion, and enterprise onboarding. Journey structures, trigger configurations, and outcomes from SaaS teams using Courier.

Last updated: May 2026
Customer journey orchestration turns product data into coordinated, multi-step communication. Instead of sending notifications based on time alone ("send email on day 3"), orchestrated journeys respond to what users actually do: which features they activate, where they get stuck, whether they come back.
The patterns below represent common B2B SaaS journey types with concrete structures. Each journey is built in Courier's Journeys builder using the node types described in this guide.
The trial-to-paid conversion journey is where most product-led growth investment concentrates. The goal is helping users reach the activation milestones that predict conversion before the trial expires.
| Day | Trigger/Condition | Action |
|---|---|---|
| 0 | trial_started event | Welcome email: personalized by {{data.use_case}} |
| 1 | Check: has user logged in? | No → login reminder via push or SMS |
| 3 | Branch: feature activated? | Yes → next-step education / No → "getting started" help |
| 5 | Check: team members invited? | No → invitation prompt with team value messaging |
| 7 | Fetch engagement score | High → expansion talk + sales Slack alert / Medium → usage tips / Low → CS outreach |
| 10 | Trial age check | 4 days remaining → urgency message with feature highlights |
| 13 | Final day | Conversion-focused message + offer if configured |

The branching at day 3 and day 7 is where behavior-driven journeys outperform static sequences. Users who activated a feature get different messaging than users who didn't log in again. By day 7, the journey has enough behavioral data to make confident routing decisions.
LaunchDarkly routes developer users toward API documentation and SDK guides while routing dashboard users toward UI features. The product sends the same event (feature_activated) but with a feature_type property that the journey branch node reads.
When users convert before the trial ends, cancel the journey using the run ID from the original invocation. Send a post-conversion onboarding journey instead.
Churn prevention journeys identify at-risk accounts before they cancel and route them to the appropriate intervention.
The most reliable early signals are engagement drops, not explicit intent to cancel. Define risk tiers based on behavioral data:
Each tier routes to a different intervention. High-risk accounts go to direct CS outreach. Medium-risk accounts get product education focused on the dormant features. Low-risk accounts get feature discovery nudges.
Copied!
[Trigger: daily_risk_calculation event]→ Branch: risk_score→ "high" → Send CS alert to Slack + assign outreach task → Wait 3 days → Check if CS contacted → Escalate if no→ "medium" → Email with usage tips + feature highlights → Wait 7 days → Check if usage recovered→ "low" → Feature discovery email → Wait 14 days → Check engagement

Churn prevention journeys should cancel when the account upgrades, when CS marks them as "contacted," or when usage recovers. Running a churn prevention journey at someone who's actively using the product creates friction.
New features often launch with announcement emails and limited follow-through. Feature adoption journeys provide sustained education delivered at the moment users encounter the relevant context.
The difference between useful feature education and spam is timing. "You can use our export feature" sent three days after signup is noise if the user hasn't generated any data to export. The same message sent when a user creates their first report and tries to share it is directly useful.
Structure feature adoption journeys around context signals:
Track the feature_activated event for each feature being promoted. Journey analytics show what percentage of recipients activated the feature within the journey window. This distinguishes adoption journeys that work from ones that generate clicks without actual adoption.
Expansion journeys identify accounts showing signals of growth and route them to the right conversation at the right time.
For per-seat pricing, monitor seat fill rate. When an account reaches 80% of their seat limit, route a notification to the account owner showing their current utilization and the path to upgrading. Don't wait until 100%: accounts approaching limits without a conversation tend to churn when they hit the wall.
Copied!
[Trigger: seat_utilization_update event where utilization >= 0.8]→ Check: has expansion conversation happened in last 30 days?→ No → Email account owner + Slack alert to CSM → Start 7-day follow-up sequence→ Yes → Suppress (avoid repetition)
Advanced features often indicate readiness for enterprise plans. When accounts activate multiple advanced features, route a targeted message about the capabilities they're approaching that require a plan upgrade. Frame it as capability expansion, not upsell pressure.
Lattice, used by 5,000+ companies for performance management, coordinates communications between HR administrators, managers, and employees during performance cycle launches. When a performance cycle opens, the journey routes cycle details to HR admins, reminder sequences to managers to complete their reviews, and employee notifications when their reviews are available. Each party receives relevant information on the right timeline.
Enterprise accounts require coordinated onboarding across multiple stakeholders. A single onboarding sequence sent to one contact misses the technical, administrative, and executive stakeholders who each need different information.
Map contacts to roles at account setup:
Each role's journey follows its own timeline with its own content. Courier's tenant architecture keeps each enterprise customer's configuration isolated while sharing journey logic.
Enterprise onboarding success depends on completing specific technical milestones: SSO configured, first integration active, user provisioning set up, initial training completed. Track each milestone as a product event. Journey steps check milestone completion before advancing. Incomplete milestones trigger escalation to the CSM after defined deadlines.
Track completion rates (what percentage of users reach the journey's goal event) and drop-off points (which steps see the highest exit rates). Compare converted users' journey paths to non-converted users: where do they diverge? Courier's message logs show delivery, open, and click data per step. Layer this on top of product analytics that track the goal event. A journey that generates clicks but no feature activations is measuring the wrong thing.
Use journey conditions to check whether a user has already completed the goal event before starting. For trial journeys, check whether the user is already on a paid plan. For feature adoption journeys, check whether the user has already activated the feature. Cancellation handles cases where the goal is reached mid-journey. Frequency throttling prevents re-entry within a defined window even if the trigger fires again.
Courier doesn't impose a per-user limit on concurrent journeys, but practical limits exist. Users in more than three or four active journeys simultaneously are likely receiving more notifications than any single journey would generate alone. Set cross-journey frequency caps in Courier's throttle configuration to limit total daily notifications per user across all active journeys. The cap applies at delivery time, suppressing lower-priority sends when the daily limit is reached.
After a defined number of sends with no engagement, transition to a low-frequency maintenance mode rather than continuing the same cadence. For trial users who haven't opened any emails after day 7, shift to one final message at day 13 rather than continuing the mid-journey sequence. For churn risk accounts that don't respond to automated outreach, route to CS for direct contact. Continuing to send to disengaged users damages deliverability and provides no value.
Start building journeys in Courier. The free tier includes 10,000 notifications per month and full access to the Journeys builder. Or request a demo to walk through your journey requirements.
© 2026 Courier. All rights reserved.