How to automate a welcome email sequence: this is onboarding
A welcome sequence is the onboarding of people who have not yet succeeded with your product. Branching on what they did, the first-week window, and the messages worth sending.
On this page
- What we'll cover
- Timetable versus behaviour
- Defining the moment that matters
- Branching on what they did
- Building it with CodeWords
- The first message
- Messages worth sending after it
- Going quiet, and the handover
- What the sequence tells you about the product
- Making it survive
- Limits worth knowing about
- What to build first
- Frequently asked questions
- Related reading
A welcome sequence is usually built as marketing: five scheduled emails introducing the company, the team, and a selection of features. That is the version that gets unsubscribed from, because it arrives on a timetable that has nothing to do with what the recipient is doing.
The version that works is onboarding. It branches on what the person has actually done, it addresses the specific thing standing between them and the product working for them, and it goes quiet when they no longer need it. That is a different design, and most of the difficulty is in the branching rather than the writing.
What we'll cover
- Timetable versus behaviour
- Defining the moment that matters
- Branching on what they did
- Building it with CodeWords
- The first message
- Messages worth sending after it
- Going quiet, and the handover
- What the sequence tells you about the product
- Making it survive
- Limits worth knowing about
- What to build first
- Frequently asked questions
Timetable versus behaviour
A scheduled sequence talks past people. Day three's email about an advanced feature reaches somebody who has not completed the first step.
It also insults the ones who succeeded, who are told how to do something they did on the first afternoon.
Behaviour is available. You know what they have done in your product, which makes the timetable an odd thing to use instead.
Time still matters as a backstop — a person who has done nothing for four days needs a different message from one who signed up an hour ago.
Combine them: behaviour decides which message, elapsed time decides whether to send anything at all.
Fewer, better-targeted messages outperform a longer scheduled series, and they cost the list less.
Defining the moment that matters
Name the point where the product has demonstrably worked for this person — data imported, first automation running, first invoice sent, whatever it is for you.
It is specific and it is not signing up. Account creation is the beginning of the problem, not the end.
Everything before it is the sequence's job, and everything after it belongs to a different lifecycle.
Check the definition against churn. If people who reach it churn at the same rate as people who do not, it is the wrong moment and the sequence is optimising for nothing.
It may differ by segment, and two definitions applied correctly beat one applied to everybody.
Publish it. Product, marketing and support disagreeing about what activation means is a common and expensive confusion.
Branching on what they did
Nothing at all since signing up, which is the largest group and the one most worth solving.
Started and stopped, at a known step, which is the most addressable case because you know exactly what to talk about.
Completed setup but has not used it, which is a different problem — they built something and never came back.
Succeeded quickly, who should exit the sequence and receive something more useful.
Invited colleagues, which is a strong signal and deserves acknowledgement rather than the standard next message.
Ran into an error, which should produce a message about that error rather than the scheduled content, and is the branch most often missing.
Building it with CodeWords
CodeWords connects to more than 3,000 integrations, so the product events, the email platform and the CRM can meet in one automation.
- Open CodeWords and start a new automation.
- Describe what should happen in plain language to Cody, the automation builder: the branches, the activation definition, and the exit conditions.
- Authorize the connections — your product's event source, the email platform, and the CRM.
- Describe the exceptions: an account that activated immediately, a user invited by somebody else, a trial that has already converted.
- Run it against last month's signups and check which branch each person would have received.
You describe the outcome; Cody builds it, connects it, and deploys it. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows; details are on the pricing page.
The first message
Send it immediately, since it is opened at a rate nothing else in the sequence approaches and the attention is never this high again.
One action, the next one, not a tour. A list of six things to try is a list of six things not done.
Confirm anything they need, such as which account or which plan, because this message gets kept and searched for later.
Set the expectation for what else will arrive and how to stop it.
From a person who replies, since a proportion of new users will reply with the question that is actually blocking them, and those replies are the best product feedback available.
No attachments and minimal images, which both keeps it out of promotional folders and makes it read like a note rather than a campaign.
Messages worth sending after it
The unblocking message for somebody stalled at a known step, referencing that step specifically.
The alternative route. If the usual path is not working for them, there is often a simpler one — an import, a template, a call.
A worked example relevant to what they appeared to be trying, which does more than a feature list.
The check-in from a human, actually from a human, for accounts worth it.
The honest last message for somebody who never did anything: a single line asking what got in the way, which produces a surprising amount of useful information.
Nothing at all for people who activated, other than an exit into whatever comes next.
Going quiet, and the handover
Exit on activation, immediately, since continuing to send onboarding to somebody using the product reads as not paying attention.
Exit on unsubscribe, obviously, and propagate it everywhere.
Exit on silence. Somebody who has ignored three messages is not going to read the fourth, and continuing costs your sending reputation.
Hand over deliberately to the ongoing lifecycle rather than simply ending, so there is no gap and no overlap.
Suppress against everything else running, since a new user receiving onboarding and a product newsletter and a sales sequence simultaneously is a common and visible failure.
Record why somebody exited, since the distribution of exit reasons is the most useful report this system produces.
What the sequence tells you about the product
The most valuable output of a behaviour-driven welcome sequence is not the emails. It is the map of where people stop, which nothing else in the business produces as clearly.
The branch distribution is a funnel in disguise. If most people land in "started and stopped at step two", step two is the product's problem, not the email's.
Watch which branch converts. A branch with high volume and low activation is where a product change would pay most.
Read the replies systematically. People answering the first message are telling you what blocked them, unprompted and in their own words.
Compare branch sizes over releases, since a shift after a deploy is a much faster signal than waiting for the activation metric to move.
Share it with product, not just marketing, because this report answers a product question and usually lands nowhere near the people who could act on it.
Retire branches that empty. A branch nobody enters after a fix is evidence the fix worked, and keeping it is clutter.
Making it survive
Handle the missing event. If your product event pipeline breaks, the sequence should hold rather than treat everybody as inactive.
Make it idempotent so a retry cannot resend a branch.
Respect a global frequency cap across all automated email to that person.
Check consent for anything beyond the transactional messages, which in several markets is a separate permission from signing up.
Report the outcome: signups entered, branch distribution, activation rate by branch, and exits by reason.
Limits worth knowing about
Event data lags, sometimes by minutes, so a message can be sent to somebody who has just done the thing it asks about.
Multi-user accounts complicate everything, since the person who signed up may not be the person using it.
Consent for marketing is separate from consent to receive service messages, and conflating the two is a common compliance error.
Attribution is awkward. Activation improving after a sequence change may reflect a product change shipped the same week.
The sequence cannot fix a product problem. If people stall at the same step regardless of messaging, the step is the problem.
What to build first
The stalled-at-a-known-step branch, with one message naming that step and offering a concrete alternative. It is the most addressable group — you know exactly what they were trying to do — and it is where a single well-aimed message changes the outcome more than anything else in the sequence.
Two habits make the difference. Define the activation moment explicitly and check it against churn, since a sequence optimising towards the wrong moment does nothing however well written it is. And exit people the moment they activate, because continuing to send onboarding to somebody who is already succeeding is the clearest possible signal that nobody is paying attention.
Frequently asked questions
Why do scheduled welcome sequences underperform?
Because they talk past people. Day three's message about an advanced feature reaches somebody who never completed step one, and simultaneously insults the person who finished everything on the first afternoon.
What should a welcome sequence branch on?
What the person has actually done: nothing since signing up, started and stopped at a known step, completed setup without using it, succeeded quickly, invited colleagues, or hit an error.
What is the activation moment?
The point where the product has demonstrably worked for this person — data imported, first automation running, first invoice sent. It is not signing up, and it should be checked against churn to confirm it is the right moment.
What belongs in the first email?
One action, not a tour. It is opened at a rate nothing else approaches, so a list of six things becomes six things not done. Send it immediately, from a person who replies.
When should the sequence stop?
On activation, on unsubscribe, and on silence after about three ignored messages. Continuing past any of those costs your sending reputation and reads as inattention.
What should the last message to an inactive user say?
A single line asking what got in the way. It produces a surprising amount of useful information, and it performs better than another attempt at the same instructions.
Is consent to receive a welcome sequence implied by signing up?
Service messages generally, marketing messages often not — in several markets that is a separate permission. Conflating the two is a common compliance error.
Can a better sequence fix poor activation?
Only up to a point. If people stall at the same step regardless of messaging, the step is the problem and the sequence is compensating for it.
What does the branch distribution tell me?
Where people stop, more clearly than any other report. A branch with high volume and low activation is exactly where a product change would pay most, and a branch that empties after a release is evidence the fix worked.
Who should see the welcome sequence report?
Product, not only marketing. It answers a product question — where onboarding fails — and it usually lands nowhere near the people who could act on it.