APIbenchmarks
Firebase Cloud Messaging logo

Firebase Cloud Messaging

Google · Ranked #2 of 7 in Push Notification APIs

85.6/ 100
AExcellent

The free, default transport layer almost every other push platform delivers through for Android and web.

Best for

Free cross-platform push transport

Screenshot of Firebase Cloud Messaging

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.

DimensionScoreWeightContribution
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
Google
Pricing model
Free (transport)
Free tier
Unlimited (free)
Official SDKs
11 languages

Pricing

Spark (free)$0No-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 FCMPay-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

Android (Kotlin/Java)iOS (Swift/Objective-C)Web (JavaScript)FlutterUnityC++Admin SDK: Node.jsAdmin SDK: JavaAdmin SDK: PythonAdmin SDK: GoAdmin SDK: C#

Strengths & trade-offs

Strengths
  • +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
Trade-offs
  • 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 quota600,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 deviceFirebase docs, Throttling and Quotas
Collapsible message throttleBurst of 20 per app/device, refill 1 every 3 minutesFirebase docs, Throttling and Quotas
Data message payload limit4096 bytesFirebase docs, Cloud Messaging concepts
Price per message$0 (free, unlimited on Spark and Blaze)Firebase pricing page
Delivery reliability incidentsPeriodic Cloud Messaging delivery-delay incidents loggedFirebase Status Dashboard

Compare Firebase Cloud Messaging head to head

Sources

  1. https://firebase.google.com/docs/cloud-messaging
  2. https://firebase.google.com/products/cloud-messaging
  3. https://firebase.google.com/pricing
  4. https://firebase.google.com/docs/cloud-messaging/throttling-and-quotas
  5. https://firebase.google.com/docs/cloud-messaging/scale-fcm
  6. https://firebase.google.com/docs/admin/setup
  7. https://www.capterra.com/p/160941/Firebase/reviews/
  8. https://github.com/firebase/firebase-admin-java/issues/1004
  9. https://status.firebase.google.com/incidents/uqYiDbQXVpBL9P7EXduD

Figures last verified 2026-06-27. Spotted an error? corrections@apibenchmarks.com