Firebase Cloud Messaging
Google · Ranked #2 of 7 in Push Notification APIs
The free, default transport layer almost every other push platform delivers through for Android and web.
Free cross-platform push transport

Overview
Firebase Cloud Messaging (FCM) is Google's cross-platform push-notification and messaging service, part of the broader Firebase/Google Cloud platform. It delivers notification messages and data messages (up to 4096 bytes) to iOS, Android, and web clients, and is the de-facto default transport for Android push because it sits on top of Google Play Services. Targeting works three ways, by individual registration token, by device group, or by topic subscription (with boolean topic conditions of up to five topics). It is fully free with no per-message charges or message-count caps on both the Spark and Blaze plans, which makes it the baseline choice for startups, indie developers, and any team that already lives inside the Google/Firebase ecosystem.
Where FCM wins is reach, price, and ecosystem gravity: zero cost at any scale, tight integration with Google Analytics (notification funnel analysis, conversion tracking), A/B testing of notification variants, BigQuery export for delivery data, and first-party Admin SDKs across Node, Java, Python, Go and C# plus a clean HTTP v1 REST API. Where it loses is the engagement layer. FCM is plumbing, not a marketing suite, the console composer and dashboard are widely criticized as thin, there is no built-in segmentation/journey tooling, and rich features that competitors like OneSignal bundle (advanced segmentation, in-app, email/SMS orchestration) are absent. Delivery is best-effort: the docs make no uptime/SLA promise for FCM specifically, the default project quota is 600k messages/minute (429 RESOURCE_EXHAUSTED above that), and developers regularly report delayed or dropped notifications, especially on iOS (where APNs limits apply) and on Android devices with aggressive battery/Doze optimization.
Net: FCM is the right default if you want free, reliable-enough, broadly-supported push and are willing to build your own segmentation and analytics on top, or pair it with a higher-level CEP. It is the wrong choice if you want turnkey lifecycle messaging out of the box, or need contractual delivery-latency guarantees. Most teams either use it raw for transactional/data pushes or wrap it inside a managed engagement platform that uses FCM as the underlying delivery channel.
How this score is derived
The APIbenchmarks Index is a weighted sum of four dimensions, each scored on an absolute 0–100 reference scale. See the methodology for every mapping.
| Dimension | Score | Weight | Contribution |
|---|---|---|---|
| Documentation & DXExtensive, well-structured official Google docs covering client setup per platform, server protocols, quotas, scaling best practices, and a dedicated troubleshooting/FAQ guide. | 82 | 30% | 24.6 |
| ReliabilityGenerally available and battle-tested at Google scale, but FCM publishes no specific SLA, delivery is explicitly best-effort, and the status dashboard logs periodic Cloud Messaging delay incidents. | 92 | 25% | 23.0 |
| Ecosystem & SDKsDeeply embedded in Firebase/Google Cloud and Android (Play Services), with Analytics, A/B Testing, BigQuery export, and first-party Admin SDKs in five server languages. | 88 | 25% | 22.0 |
| AccessibilityFree to start with no billing required on the Spark plan and a console-based notification composer, though the dashboard is limited and advanced use requires SDK/API coding. | 80 | 20% | 16.0 |
| APIbenchmarks Index (ABI) | 85.6 | ||
Table 1. Derivation of the ABI for Firebase Cloud Messaging. Contribution = score × weight; the index is their sum.
At a glance
- Vendor
- Pricing model
- Free (transport)
- Free tier
- Unlimited (free)
- Official SDKs
- 11 languages
Pricing
| Spark (free) | $0 | No-cost plan; FCM messaging is fully free and unlimited with no per-message charge or message-count cap. |
| Blaze (pay-as-you-go) | $0 for FCM | Pay-as-you-go plan with a linked Cloud Billing account; FCM itself remains free, you only pay for other Firebase/GCP services you use. New upgrades may receive $300 in free Google Cloud credit. |
Key features
- •Notification messages and data messages (up to 4096 bytes payload)
- •Targeting by registration token, device group, or topic subscription
- •Topic conditions with boolean AND/OR logic across up to five topics
- •Cross-platform: iOS, Android, web (JavaScript), Flutter, Unity, C++
- •FCM HTTP v1 REST API with OAuth2 authorization
- •Notification composer in the Firebase Console
- •Google Analytics integration with notification funnel analysis
- •A/B testing of notification variants
- •BigQuery export of message delivery data
- •Collapsible/non-collapsible messages and message priority controls
Official SDKs
Strengths & trade-offs
- +Completely free with no per-message charge and no message-count limit, even at large scale
- +Native, default push channel for Android via Google Play Services plus broad iOS and web support
- +Three flexible targeting modes: individual token, device group, and topic subscription with boolean conditions
- +Tight integration with Google Analytics, A/B testing, and BigQuery export for delivery/engagement data
- +First-party Admin SDKs (Node, Java, Python, Go, C#) plus a clean HTTP v1 REST API
- +High default throughput ceiling of 600k messages/minute covering 99%+ of projects
- –No published SLA or delivery-latency guarantee; delivery is explicitly best-effort
- –Reported delayed or dropped notifications, especially on iOS and battery-optimized/Doze Android devices
- –Console and notification dashboard are limited, with no built-in segmentation or lifecycle/journey tooling
- –Collapsible messages throttled to a burst of 20 per device, refilling 1 every 3 minutes
- –Per-device send limits (e.g. ~240/min, 5,000/hour on Android) and 4096-byte data payload cap
- –Tied to the Google/Firebase ecosystem; richer engagement features require building your own layer or a third-party CEP
What developers say
Firebase (overall): Capterra 4.6/5 (764 reviews), G2 4.5/5 (266 reviews)
Developers praise FCM as a free, easy-to-integrate, cross-platform push channel, while criticism centers on a limited dashboard and inconsistent/delayed delivery on iOS and battery-optimized Android.
“It's probably the finest out there for straightforward push notifications without complexity and easy g-suite integration.”
Key figures
| Default project send quota | 600,000 messages/minute (covers 99%+ of projects) | Firebase docs, Throttling and Quotas ↗ |
| Per-device send limit (Android) | 240 messages/min, 5,000 messages/hour to one device | Firebase docs, Throttling and Quotas ↗ |
| Collapsible message throttle | Burst of 20 per app/device, refill 1 every 3 minutes | Firebase docs, Throttling and Quotas ↗ |
| Data message payload limit | 4096 bytes | Firebase docs, Cloud Messaging concepts ↗ |
| Price per message | $0 (free, unlimited on Spark and Blaze) | Firebase pricing page ↗ |
| Delivery reliability incidents | Periodic Cloud Messaging delivery-delay incidents logged | Firebase Status Dashboard ↗ |
Compare Firebase Cloud Messaging head to head
Sources
- https://firebase.google.com/docs/cloud-messaging
- https://firebase.google.com/products/cloud-messaging
- https://firebase.google.com/pricing
- https://firebase.google.com/docs/cloud-messaging/throttling-and-quotas
- https://firebase.google.com/docs/cloud-messaging/scale-fcm
- https://firebase.google.com/docs/admin/setup
- https://www.capterra.com/p/160941/Firebase/reviews/
- https://github.com/firebase/firebase-admin-java/issues/1004
- https://status.firebase.google.com/incidents/uqYiDbQXVpBL9P7EXduD
Figures last verified 2026-06-27. Spotted an error? corrections@apibenchmarks.com
