Back to notes

May 5, 2026 · 5 min read

Rewriting an Onboarding Email Sequence Cut Time-to-Value in Half

A generic five-email onboarding sequence was getting decent open rates and doing almost nothing for activation. A rewrite built around one specific action cut time-to-value in half.

Case StudyEmail Marketing

The original onboarding sequence for a SaaS client was five emails over two weeks, each covering a different feature of the product with decent open rates around 38%. Time-to-value — the median days until a new user completed the action that correlated most strongly with long-term retention — sat stubbornly at 11 days despite the emails technically being opened.

Why covering five features didn't help

We'd previously identified, through a retention cohort analysis, that users who completed one specific action in the first week — connecting a second data source — retained at nearly double the rate of those who didn't. The onboarding sequence covered that action in email three of five, buried alongside four other features presented with equal weight, none positioned as more important than the others.

An onboarding sequence that treats every feature as equally important is giving the user no actual instructions, just a tour.

The rewrite

  • Collapsed the sequence to three emails, all explicitly oriented around getting the user to connect a second data source as the single goal.
  • Email one sent within an hour of signup instead of the next day, directly prompting the specific action.
  • Email two, sent only to users who hadn't yet completed the action, addressed the most common blocker identified from support tickets.
  • Email three, sent only after completion, introduced the next feature — sequencing by actual behavior instead of a fixed calendar schedule.

Median time-to-value dropped from 11 days to just under 5. Open rates on the new sequence were actually slightly lower than the old one, which would have looked like a worse campaign by the old reporting standard — proof that the metric marketing had been optimizing for the whole time wasn't the one that mattered.