In-app messaging (IAM) is targeted messaging shown to users while they're actively in your app — banners, modals, full-screen takeovers, inline cards, slide-ups. Different from push notifications (which arrive outside the app and require opt-in) and email (which is asynchronous and requires the user to leave the app). In-app messaging reaches 100% of users who are currently in the app at the moment a message triggers — no opt-in required, no notification fatigue.
Common in-app message formats
- Modal — full-overlay message that requires user dismissal. Highest attention, most disruptive. Use sparingly.
- Banner — top or bottom of screen, non-blocking. Lower attention but doesn't interrupt user flow.
- Full-screen takeover — entire screen replaced by message. Highest impact, highest risk of annoyance.
- Inline card — message embedded within content feed (between articles, products, etc.). Native-feeling, contextual.
- Slide-up / slide-in — small message that appears with animation. Less disruptive than modal.
- Bottom-sheet — modal but with smaller surface area than full takeover.
Use cases
- Announcements — new feature launches, app updates, version-specific news.
- Upsell / monetization — surfacing premium features to free users, paywall surfaces, sale notifications.
- Feature education / discovery — showing users features they haven't tried.
- Retention nudges — daily-streak reminders, content-update notifications shown when user opens app.
- Onboarding completion — surfacing onboarding step the user hasn't completed.
- Survey / feedback — asking active users about their experience.
- Permission requests — requesting push, location, ATT, contacts permissions at strategic moments.
- Critical communications — service-status updates, terms-of-service changes, etc.
Major in-app messaging platforms
- Braze — enterprise-leading customer engagement platform with strong in-app messaging.
- Iterable — comparable to Braze, popular at growth-stage companies.
- Customer.io — SMB / mid-market, developer-friendly.
- OneSignal — broader push + in-app messaging platform.
- CleverTap — strong in-app messaging + analytics combination.
- Firebase In-App Messaging — Google's free product, integrated with Firebase Analytics.
Most mature apps use the same platform for push notifications and in-app messaging — unified orchestration matters more than best-of-breed tools.
Best practices
- Trigger on user behavior, not generic schedules — show messages relevant to what the user is doing right now.
- Frequency capping — too many in-app messages feel spammy. 1-3 per session is a reasonable ceiling.
- A/B test design and triggers — message designs can have wildly different conversion rates.
- Don't block critical flows — never show a modal during a purchase or core workflow.
- Respect "don't show again" — users who dismiss a message shouldn't see it again the next session.
- Track engagement and conversion — every in-app message should have clear success metrics (clicked, dismissed, converted-to-paid, etc.).