SolisReach
← Journal
Mobile Apps7 min read

A push notification strategy that won't get your app deleted

Written by the SolisReach team

Push notification opt-out and app deletion rates spike hardest right after a poorly calibrated notification strategy launches. Users grant notification permission expecting genuine value and revoke it, or delete the app entirely, the moment it feels like noise instead.

The permission itself is a form of trust extended before any value has actually been delivered, which makes it unusually fragile compared to most other product decisions. A user who's mildly annoyed by a confusing screen inside the app might shrug it off; a user who's actively irritated by an unwanted notification interrupting them outside the app entirely tends to react far more decisively, often by disabling notifications for good or removing the app altogether.

Ask for permission at the right moment, not immediately

Requesting notification permission the instant someone opens the app for the first time, before they've experienced any value, gets a much lower opt-in rate than asking after a meaningful first action, completing a booking, finishing onboarding. We build a deliberate delay into the permission request timing on every app we ship.

On both iOS and Android, a denied permission request is genuinely costly to recover from, since re-prompting a user who's already said no requires them to manually change a setting rather than simply tapping allow a second time. That asymmetry is exactly why the timing of the very first request matters so much: a well-timed ask that lands after a user already sees value gets a meaningfully higher opt-in rate than an ask fired reflexively on first launch.

Segment by actual relevance, not just by user status

A notification about a feature a user has never touched isn't relevant just because they're a registered user. We segment notification campaigns by actual behavior: someone who's booked three times gets different messaging than someone who signed up and never returned, and sending the same broadcast to both wastes the opportunity on one of them.

Set an internal frequency ceiling and respect it

We cap total notifications, across all campaign types combined, at a fixed number per week for any single user, tracked centrally so that a marketing campaign and a transactional reminder don't accidentally stack past a reasonable threshold in the same day. Without this kind of central cap, well-intentioned notifications from different teams compound into exactly the noise users delete apps over.

The centralization matters specifically because different teams inside the same company rarely coordinate on this by default. A marketing team planning a promotional push and a product team shipping a transactional reminder feature have no natural reason to check with each other before both notifications land on the same user on the same day, and from that user's perspective, the app simply feels like it won't stop buzzing regardless of which internal team is technically responsible.

Make every notification actionable

A notification that doesn't lead anywhere useful when tapped, or duplicates information already visible in the app without prompting, trains users to ignore or dismiss future notifications reflexively. Every notification we design has a clear, specific action it's driving toward, not just a general update.

Let users control granular preferences, not just an all-or-nothing toggle

A single system-level notification toggle forces a user who's annoyed by one specific type of notification to turn off all of them, including ones they'd genuinely want. We build in-app notification preference settings with meaningful categories, so a user can opt out of promotional messages specifically while keeping transactional ones, which measurably reduces full opt-outs.

A single system-level notification toggle forces a user who's annoyed by one specific type of notification to turn off all of them, including ones they'd genuinely want.

Measure opt-out rate as seriously as open rate

Most teams track notification open rate closely and ignore opt-out and uninstall rate as a lagging, less visible metric. We track both from week one, because a notification campaign with a strong open rate but a rising opt-out trend is quietly burning the channel's long-term value even while it looks successful in the short term.

The lag itself is what makes this dangerous. Opt-out and uninstall decisions often happen days or weeks after the notification that actually triggered the frustration, well after the campaign that caused it has already been marked as a success in a weekly report. We build in a longer observation window specifically to catch this delayed signal, rather than judging a campaign purely on its immediate open and click metrics.

Timing within the day matters as much as timing within the funnel

A notification that would otherwise be genuinely welcome can still feel intrusive if it lands at the wrong hour, a promotional push at eleven at night, a reminder at six in the morning before most people are awake. We schedule non-urgent notifications within a defined daytime window specific to each user's local time zone, not the company's own time zone or a single global default.

Time zone handling specifically trips up a lot of otherwise well-designed notification systems, since it's easy to schedule sends based on server time and assume that's close enough for a global user base. For an app with meaningfully international users, a badly timed batch send can mean a real share of the audience getting notifications overnight in their own local time, which does more brand damage than the notification's content alone would suggest.

Test frequency reduction as an actual experiment, not a guess

When opt-out rates start climbing, the instinct is often to simply guess at a lower frequency and hope it helps. We prefer running an actual controlled test, one cohort at the current frequency, one at a reduced frequency, comparing both opt-out rate and the underlying business metric the notifications are meant to drive, since a lower frequency sometimes costs less in engagement than a team assumes going in.

This test consistently produces a more useful answer than intuition alone, because the two outcomes teams worry about, losing engagement and losing users to opt-out, don't always trade off the way people expect. In more than one case we've run, a meaningfully reduced frequency preserved almost all of the original engagement while cutting opt-out rate substantially, which suggested the original frequency had already crossed well past the point of diminishing returns before anyone noticed.

Build a re-engagement path for people who've already opted out

Losing notification permission doesn't have to be permanent. We build a lightweight in-app path, usually a specific benefit tied to a specific feature, for asking a user who previously opted out whether they'd reconsider, rather than treating that opt-out as a closed door forever. This works best when it's tied to something concrete the user would actually miss, not a generic re-ask.

Start a project

Want this applied to your site?

We run a Core Web Vitals and SEO audit before quoting any performance marketing engagement, and we're happy to share what we'd find on yours.