Use case
Build user onboarding journeys
Model onboarding as a journey graph: nodes for each step, transitions fired by product events or timers. AscendKit sends the email at each step and can drop in an activation survey, all keyed to the same user record so you see exactly where users stall.
How it works
- 1. Map the milestonesDefine the activation moments for your product and emit an event for each.
- 2. Build the graphAdd journey nodes and connect them with event and timer transitions in the portal's journey visualizer.
- 3. Attach messages and surveysSend a templated email or trigger a survey at any node, then watch per-node conversion in journey analytics.
What should a SaaS onboarding email sequence contain?
Fewer emails than most templates suggest, each tied to something the user has or has not done. A five-part sequence that ignores behaviour is a newsletter with a countdown.
The useful shape is one message on signup, then messages conditional on progress: a nudge if the core action has not happened by day three, a next-step message if it has, and a check-in around the point where people typically stall. What those points are is specific to your product, and product events are how you find them.
Time-based-only sequences fail in a specific way — they keep telling people to do things they already did. That is the clearest signal to a new user that nobody is paying attention.
| Time-based | Behaviour-based | |
|---|---|---|
| Trigger | Days since signup | Product event or its absence |
| Message to someone who finished setup | Sent anyway | Skipped |
| Message to someone stuck | Same as everyone | Targeted at the blocker |
| Needs product state | No | Yes |
| Where that state lives | Pushed into the email tool | The same user record |
Why does the user record matter for onboarding?
Because every useful condition depends on product state. "Has not connected a data source" requires knowing whether they connected one, and that knowledge lives in your product rather than in an email tool.
On a split stack that state is pushed across as contact properties, which introduces a lag between the product changing and the messaging tool knowing. The result is the exact failure above: a nudge to do something the user completed twenty minutes ago.
When journeys read the same record as auth and product events, conditions evaluate against live state. Nothing to push, and no window in which two systems disagree about what someone has done.
FAQ
Can a journey send both email and surveys?
Yes. A node can send a versioned email template or trigger a survey, since email, surveys, and journeys share one user record.
How do I know where users drop off?
Journey analytics report conversion and drop-off per node, so you can see which onboarding step is losing users.
Related guides
- AscendKit vs Loops — when a marketer-owned lifecycle tool is the better fit.
- Re-engagement email journey — what to do when onboarding did not stick.
- Add a waitlist to your SaaS — where onboarding starts if you launch in waves.
- Journeys CLI reference — defining triggers, timers, and branches.
Start with one API key
Auth, email, surveys, and journeys share one user record, so you ship this without stitching vendors together.
Start free