In App Messages vs Email
Which channel suits each onboarding job, based on session timing, reach and interruption cost, plus rules for pairing both without saying the same thing twice.
On this page 6 sections
The short answer
In app messages reach users who are already present, email reaches users who are not. Setup guidance, feature discovery and limit warnings belong in app because the user is one click from acting. Dormancy recovery, trial expiry and anything aimed at a user who has stopped returning belongs in email. Pairing both works only when each channel owns a distinct job and a shared suppression rule prevents duplicate nudges.
Key points before you start
One principle settles almost every version of this argument. In app reaches users who are already present. Email reaches users who are not. Every onboarding job belongs to one of those two states, and most channel disputes are really disagreements about which state the user is in.
Start there and the mapping writes itself.
Mapping onboarding jobs to channels
Here is the assignment we would defend in a planning meeting, with the reason attached to each row rather than left implicit.
| Job | Channel | Why | Failure if you get it wrong |
|---|---|---|---|
| Setup guidance, first session | In app | User is present and one click from acting | Email sends them back to a screen they already left |
| Connect an integration | In app, email as fallback at 48h | Action happens in product | Email only means the returning users never see it |
| Feature discovery | In app, contextual | Relevance depends on where they are | Broadcast email teaches features nobody needs yet |
| Day two dormancy | User is not there by definition | In app message waits forever, unread | |
| Trial expiry warning | Email, mirrored in app | Deadline driven, must reach non users | In app only misses the people most likely to lapse |
| Usage limit warning | In app first, email backup | Upgrade path is one click from the blocked action | Email arrives after they worked around the limit |
| Product announcement | Email plus changelog | Not urgent, interruption cost is high | Modal interrupts a task for something that could wait |
| Milestone celebration | In app | Emotional weight is highest in the moment | Email a day later feels automated, because it is |
| Win back after churn | No product access | Nothing to show, no session to interrupt | |
| Seat expansion prompt to an admin | In app, targeted at admins only | Requires permissions and context | Email to all users creates an internal request the admin ignores |
The pattern that falls out: in app owns the present tense, email owns the absent. The two rows with a mirror, trial expiry and limit warnings, are the ones where the deadline is external and missing it costs money.
A useful smell test
If you are writing an onboarding email that explains how to use a screen, ask whether the screen could explain itself. Most of the time it could, and the email is papering over an interface problem you have decided not to fix.
The reach maths nobody runs
This is where the argument usually ends. An in app message can only reach the fraction of the cohort that returns and lands on the targeted screen.
Take 1,000 signups. Forty five percent never come back after day one, which is inside the normal band for self serve B2B products. Of the 550 who do return, maybe 70 percent visit the screen your message is anchored to within the targeting window. Your day three in app nudge reaches 385 people.
The same message by email reaches roughly 980 inboxes, of which perhaps 40 percent open in a B2B onboarding context. That is 392 people who saw it, from a group that includes the 450 who never came back. Those 450 are the entire problem you are trying to solve.
385 of 1,000
Realistic reach of a day three in app message on a self serve cohort with 45 percent day one drop off
saas-marketing.net panel modelling
The conclusion is not that email wins. It is that in app is a high conversion channel with a structurally capped audience, and email is a lower conversion channel with full reach. Use in app where conversion matters more than reach, email where reach is the point. The sequencing detail is in Activation Email Sequences.
Newsletter launch list
The Friday SaaS Marketing Brief
Join the list for the upcoming SaaS Marketing Brief. Get the marketing planning worksheet immediately.
Orchestration rules that prevent the duplicate nudge
Most teams eventually run both. The failure is not choosing wrong, it is saying the same thing twice in two voices two days apart, which teaches users to ignore both channels.
Six rules for running both channels
- One job, one owner
Every onboarding job is assigned to exactly one primary channel in a written doc. You know this is working when nobody asks 'should we also email this'.
- Completion suppresses everywhere
When the underlying action is completed, cancel the nudge in both channels. Test by completing the action and confirming silence.
- Exposure suppresses the mirror
If the in app message was shown and the user then acted, the email never sends. If it was shown and they did not act, the email sends at the fallback window.
- Cap total nudges per week
Three commercial interruptions across both channels is a reasonable ceiling for onboarding. Count modals as interruptions.
- Never interrupt a paid action
Suppress all in app messaging during checkout, data import and any multi step flow with a save at the end.
- Review the pair quarterly
Export every active in app guide and every active email and read them side by side. There will be duplicates you did not authorise.
The technical prerequisite for all of this is a shared event stream. If your in app tool and your email tool have separate definitions of “connected an integration”, the suppression rules will disagree and users will get both messages. Piping product events through Segment into both systems is the standard fix and it is worth the setup week.
The duplicate we see most
An Appcues checklist prompting ‘invite your team’ running alongside a day four email with the subject ‘Invite your team’. Both fire. Neither knows about the other. The user concludes that nothing in either channel is worth reading, and your open rate drops for every later message.
Editable working copy
Download this template
Save an editable working copy of the framework on this page. Add your own owners, evidence and decisions.
Tooling, briefly, because it matters least
Pendo is the strongest choice if you also want product analytics in the same system and you are buying at a company wide level. Appcues is easier to ship with and cheaper to start, and non technical marketers actually use it. Userflow sits between them and is the one we would pick for a 30 person company building its first guided onboarding. Intercom makes sense when support and messaging should share a surface and a person, which is common in products where onboarding involves a human.
On the email side, the pairing question is covered in HubSpot vs Customer.io. What matters more than either vendor is whether both tools read from the same event definitions.
The honest trade off with in app tooling: every one of these products adds a script to your application, costs page weight, and creates a surface where marketing can ship changes into the product without engineering review. That last one is a feature until it is an incident. Agree in advance who can publish a modal to all users.
Where each channel genuinely fails
In app fails on reach, as covered, and it fails on anything with a deadline the user might miss while absent. It also fails when the message needs nuance; a 400 word explanation does not belong in a slideout.
Email fails on timing. You cannot reliably reach someone at the moment they hit a wall, and the gap between the moment and the email is where most of the conversion leaks. It also fails on context: an email cannot know which screen they are on.
Both fail the same way when they substitute for product work. If users cannot find the export button, neither a modal nor a nurture sequence fixes that, and the honest version of this page says that the best onboarding email programme is the one that got smaller because the product got clearer. Teardowns of sequences that do this well sit in SaaS Onboarding Email Teardowns, and the full inventory of what a product sends is in SaaS Email Types.
What to do this week
Take your current onboarding sequence and mark each email with the job it does. Then check whether the product already does that job in app. Delete the overlaps, which for most teams is two or three emails, and move the freed attention budget into the dormancy and trial expiry sends where email has no competition.
Then write the suppression rules down. If you want a starting structure, the sequence architecture is in The SaaS Onboarding Email Sequence and the templates are in SaaS Onboarding Email Templates. For what happens after activation, Churn Prevention Email Campaigns and Product Qualified Lead Email Plays pick up the thread, and our frequency data lives in the SaaS Email Frequency Study. The cluster overview is at SaaS Email Marketing.
Editable CSV worksheet
SaaS Email Marketing planning worksheet
A practical email planning worksheet: decisions, owners, evidence and next actions.
Frequently asked questions
Should SaaS onboarding use in app messages or email?
Both, for different jobs. In app handles anything a user can act on during the session they are already in: setup steps, feature discovery, limit warnings. Email handles anything aimed at a user who is not currently present: day two dormancy, trial expiry, re engagement. Assigning each job to exactly one channel is more important than which tools you use.
What percentage of a signup cohort does an in app message actually reach?
Only the returning fraction. If 45 percent of signups never come back after day one, an in app message scheduled for day three reaches at most 55 percent of the cohort, and less once you account for people who return but never visit the screen the message targets. Email reaches the inbox of everyone who gave you a valid address.
Do onboarding emails still work if the product has good in app guidance?
Yes, but the email volume should shrink. Strong in app guidance removes the need for 'here is how to connect your data' emails. What remains is dormancy recovery, milestone celebration, trial expiry and anything requiring a reply from a human. Teams with excellent product tours typically cut their onboarding sequence from eight emails to four.
How do you stop users getting the same nudge twice?
Write a suppression rule per job, not per channel. When the in app message for 'connect your first integration' is shown or the action is completed, suppress the matching email for that user. This needs a shared event stream, which is why teams piping product events through Segment into both tools have an easier time than teams with two separate data models.
Which in app messaging tool should we use?
Pendo and Appcues are the strongest for no code tours and guides, Userflow sits between them on price and flexibility, and Intercom is the right pick if you want messaging and support in one system. The differences matter less than whether your product events are clean enough to target on, which is the real constraint.
When is an in app message the wrong choice even though the user is present?
When the user is in the middle of a task with a deadline attached, or when the message needs more than about 30 words to be honest. Interrupting someone mid workflow to announce an unrelated feature costs more goodwill than the announcement is worth. Put it in the changelog and mention it in email.
The saas-marketing.net editorial team Research and editorial
We research, write and maintain every page on this site. The library explains marketing decisions through practical frameworks, explicit assumptions and references. Corrections can be requested through the contact page.
Published September 11, 2026. Last updated .