In-app notifications are messages shown to a user while they're actively using the app — as opposed to [[push-notification]]s, which reach users when the app is closed. Because they appear in-session, they require no OS-level permission and always reach 100% of active users, making them a core surface for onboarding, feature discovery, conversion prompts, and announcements.
In-app vs push
In-app notifications vs push notifications
| In-app | Push | |
|---|---|---|
| Reaches user when | Actively using the app | App is closed/backgrounded |
| Permission needed | No | Yes (opt-in) |
| Job to be done | Guide & convert in-session | Bring the user back |
| Audience | Already engaged | Lapsed or absent |
They're complementary, not competing: push re-opens the app, in-app messaging steers what happens once the user is inside.
Where in-app notifications shine. Because they target users who are already engaged, they convert well for contextual actions: prompting a paywall at the right moment, surfacing a new feature, nudging a quota-limited user to upgrade, or collecting a review after a success moment. The discipline is the same as push — relevance and frequency control. Over-messaging in-session interrupts the experience and erodes [[retention]]; well-timed, contextual messages lift conversion and engagement.