Push Notifications Done Right: Strategy & Implementation Guide
Push notifications have a 90% open rate — or they get disabled in 48 hours. The difference is strategy. Here's how to build notifications users actually want.
Push notifications are the most powerful direct communication channel in mobile. They also have the highest abuse rate of any marketing channel. Getting this right separates apps with 80% retention from apps that get uninstalled in week two.
The Data on Push Notifications
- Average push notification open rate: 7-15% (vs email’s 20%)
- But for transactional notifications (order updates, messages, alerts): 40-60%+
- 26% of users disable push notifications within the first week of installing an app
- Apps that send more than 5 notifications per week see opt-out rates jump 40%
The pattern is clear: transactional and time-sensitive notifications get opened. Marketing and engagement notifications get disabled.
The Two Types of Push Notifications
Transactional (Always Send)
These are notifications the user asked for by taking an action:
- Order confirmation and shipping updates
- Message received from another user
- Booking confirmation
- Payment received/failed
- Your content was published
Users expect these. Not sending them is a failure. These should never be opt-out.
Marketing/Engagement (Earn the Right)
These are notifications you’re initiating without a specific user trigger:
- Sale announcements
- Re-engagement (“You haven’t visited in 7 days”)
- New content or products
- Feature announcements
These need to be earned. Send them only when you have something genuinely valuable to say.
The Implementation Stack
For React Native apps, we use Firebase Cloud Messaging (FCM) as the delivery layer — it handles both iOS (via APNs) and Android.
Architecture
Backend → Firebase Admin SDK → FCM → APNs (iOS) / FCM Direct (Android) → Device
Token Management
- Request notification permission at the right moment (not on first app open)
- Store device tokens in your backend tied to the user account
- Refresh tokens on every app open (tokens expire)
- Clean up invalid tokens when FCM returns
UNREGISTEREDerror
The Permission Timing Problem
68% of users grant push notification permission when asked in context — after they’ve seen value from the app. Only 32% grant it when asked immediately on first launch.
Best practice: Show a custom in-app prompt explaining the value before triggering the system permission dialog. “Enable notifications to get updates on your matches” → then trigger system dialog.
Notification Design Best Practices
Title (50 characters max)
The title must communicate the key information even if no one reads the body. “Your order has shipped” is better than “SportX360 Update.”
Body (100 characters max — mobile cuts off more)
Specific and actionable. “Your Nike Air Max order #8472 is out for delivery — tap to track” is 10x better than “Your order is on the way.”
Deep Linking (Critical)
Every notification should deep link to the relevant screen:
- Order shipped → Order detail screen
- New message → Conversation thread
- Match starting → Live match screen
Nothing kills the notification experience like tapping a notification and landing on the home screen.
Rich Notifications
iOS and Android support images in notifications. Use them for:
- Product images in e-commerce apps
- User avatars in messaging apps
- Match thumbnails in sports apps
They increase open rates by 25-45%.
Segmentation: The Key to Not Getting Disabled
Not every notification should go to every user. Segment by:
- User lifecycle: New users vs power users vs dormant users need different messages
- User behavior: A user who buys sports equipment vs a user who only books courts
- Time zone: Don’t send at 2am (seems obvious — many teams get this wrong)
- Engagement level: Users who frequently open notifications can handle more frequency
The most sophisticated push strategy we’ve implemented tracks user engagement with notifications per category and automatically reduces frequency for users who don’t engage.
Frequency Guidelines
| Notification Type | Max Frequency |
|---|---|
| Transactional | Unlimited (triggered by user action) |
| Real-time (chat, live events) | Unlimited (expected by user) |
| Personalized recommendations | 1-2 per week |
| Marketing/promotions | 2-3 per month |
| Re-engagement | 1 per week max, stop after 3 ignores |
Analytics You Must Track
For every notification:
- Delivery rate — Did it reach the device?
- Open rate — Did the user tap it?
- Conversion rate — Did the user complete the intended action?
- Opt-out rate — Did the user disable notifications after this?
A notification with a 15% open rate but 0.5% opt-out is successful. A notification with 30% open rate but 5% opt-out is destroying your long-term channel.
The One Rule That Changes Everything
Treat your notification channel like a valuable asset, not a broadcast medium. Every time you send a notification that doesn’t add genuine value to that specific user at that specific moment, you’re spending future open rates.
The best push notification strategy is restraint.
If you’re building a mobile app and want to get the notification architecture right from day one, let’s talk.