Push Notification Delivery Rate Estimator
How many notifications actually reach your users?
Enter your subscriber count, platform mix, payload size, and user engagement tier. The estimator projects FCM delivery rate, expected delivered count, and estimated open count — so you can plan campaigns and set realistic success metrics before you send.
Campaign configuration
What affects FCM push notification delivery?
FCM is not a guaranteed delivery service. Multiple layers between your server and the user's screen can silently drop notifications — and most apps have no visibility into exactly where delivery failed.
Stale tokens silently fail
FCM tokens expire after 270 days of inactivity and when apps are uninstalled. When you send to an expired token, FCM returns UNREGISTERED — but only if you check the batch response. Many apps accumulate months of dead tokens and over-report their subscriber count by 20–40%. Clean your token database monthly using FCM's registration token management API.
Doze mode, battery saver, and notification channels
Android Doze mode (introduced in Android 6.0) restricts network access for idle apps. FCM high-priority messages bypass Doze but normal-priority messages can be delayed by hours. On iOS, APNs delivery is also affected by Low Power Mode. Notification channels (Android 8+) let users disable channels per app — if your notification channel is disabled, delivery silently drops to zero.
4,096 bytes is the hard limit
FCM limits total message payload to 4,096 bytes for Android and iOS. Data messages (background) have the same limit. Large payloads approaching the limit are more likely to be dropped on low-memory devices during message queue processing. Keep notification payloads under 1 KB for maximum reliability. For rich media, send a URL and have the app fetch content on tap.
iOS opt-in rate is the starting constraint
iOS requires explicit notification permission grant. Industry opt-in rates average 43–55% on iOS. This means nearly half your iOS users will never receive push notifications regardless of FCM configuration. On Android 13+, explicit permission is also required. The permission grant rate is the first and most important funnel stage — before delivery rate even becomes relevant.
FCM delivery rate benchmarks (2026)
| Scenario | Delivery rate | Open rate |
|---|---|---|
| Android — high-engagement, fresh tokens | 90–97% | 5–12% |
| Android — mixed engagement, typical list | 70–85% | 3–8% |
| Android — dormant list, stale tokens | 40–65% | 1–3% |
| iOS — high-engagement, users opted in | 88–95% | 4–10% |
| iOS — mixed engagement | 68–82% | 2–6% |
| iOS — after accounting for opt-in rate (~50%) | 34–41% of installs | 1–3% of installs |
Industry benchmarks from Firebase documentation, OneSignal state-of-push reports, and Airship notification benchmarks. Delivery rate = messages received / messages sent to valid tokens. Open rate = user taps / messages delivered. Rates vary widely by vertical, content quality, and timing.
How to use this estimator
Use active tokens, not total registrations
Pull your FCM token count from your backend or from Firebase console → Cloud Messaging → Campaigns. Use tokens seen in the last 90 days for a realistic active count. Total registrations since launch over-estimates your reachable audience by 2–5×.
High = weekly actives. Low = users who haven't opened in 60+ days
Engagement tier proxies token freshness, Doze mode exposure, and channel disable rate. High-engagement users check the app frequently, keeping connections warm and tokens valid. Dormant users are more likely to have disabled notifications or have the app deep in memory-kill range.
Leave blank for industry benchmarks, or enter your own
If you have historical open rate data from Firebase console or your push provider, enter it in the override field. Industry benchmarks vary by category: gaming 5–12%, e-commerce 3–7%, news 2–5%, utility apps 4–9%. Personalised notifications typically achieve 2–4× the open rate of broadcast blasts.
Compare estimates to live FCM data
After sending, the Firepulse app shows Cloud Messaging delivery stats across your Firebase projects in real time. Compare your estimate to the actual delivery count and open rate to calibrate future campaigns. A significant gap suggests token hygiene issues or notification channel problems worth investigating.
FAQ
What is a typical FCM delivery rate?
FCM delivery rates vary significantly by platform, token health, and device state. Active Android devices with fresh tokens see 85–97%. iOS devices see 88–95% but are subject to the iOS opt-in rate (~43–55% of installs). A mixed real-world list including lapsed users and stale tokens typically delivers at 60–80% overall.
Does payload size affect delivery rates?
Yes. Payloads over 2 KB are more likely to be dropped on low-memory devices. FCM enforces a hard limit of 4,096 bytes. Keep notification payloads under 1 KB for maximum reliability — for rich media content, send a URL and fetch on user tap.
What causes FCM token expiry?
FCM tokens expire when: the app is uninstalled, app data is cleared, the user reinstalls on a new device, or the token hasn't been used in 270+ days (FCM auto-expires inactive tokens). Prune tokens older than 90 days from your database to maintain accurate subscriber counts and delivery rate measurements.
Is my data saved when I use this tool?
All calculations happen locally in your browser. Inputs are saved to localStorage under fp-pushnotificationdeliveryestimator-v1. Nothing is sent to any server. Click "Reset" to clear.
Related Firepulse tools
Track FCM delivery live — on your phone
Firepulse monitors Cloud Messaging, Crashlytics, and Analytics. Daily push digest. Home-screen widgets. No laptop needed.