Sign up

cloud messaging

Google Cloud Messaging (GCM): What Is It, and How Does It Work?

Angela Stringfellow

Last updated on

Steve Jobs brought about the mobile device revolution with the introduction of the iPhone in 2007. Another overlooked innovation, again from Apple, is push notifications. It was not a new innovation per se, but it was packaged in a manner that was understood by consumers. Apple also provided tools such as the Apple Push Notification Service (APNS) for developers to harness the power of push notifications.

The Android operating system, acquired by Google, emerged as the major rival for the iPhone ecosystem. To match the services from Apple, well, apples to apples, Google had to create its own push notifications system for Android. The first service from Google was called the Android Cloud to Device Messaging (C2DM) service. This service was discontinued after the introduction of Google Cloud Messaging (GCM).

Later the services offered by Google Cloud Messaging were integrated with Firebase, a powerful platform from Google for creating mobile and web applications. Google Cloud Messaging was rebranded as Firebase Cloud Messaging (FCM).

What is Firebase Cloud Messaging (FCM)?

FCM is a simple backend solution that developers can use to send push notifications and messages to user devices. It’s a cross-platform tool for sending messages to applications in different ecosystems. A simple and free service, Firebase Cloud Messaging can be used by developers to act as a one-stop destination for all their messaging needs. FCM can be set up to integrate with:

FCM comes with a variety of tools that developers and marketers can use to send messages to their users. We’ll take a closer look at those tools below.

Sending Messages

Sending messages is the core functionality of Firebase Cloud Messaging. Two types of messages can be sent to the users with FCM: notification messages and data messages. Notification messages are pushed to user devices and displayed in the notification center. These notifications can have a title, some text, and multimedia content. Notifications can also direct users to particular content within the application.

Data messages have custom key-value pairs with no reserved key names that can be sent to the client applications. The client application is responsible for processing and displaying data messages. FCM offers customization options for both types of messages from the console.

Versatile Targeting

A single application has different kinds of users that respond to the same messages in different ways. It’s best to send messages that resonate with the right users. FCM allows sending messages to individual users, all the users, or different groups of users. Marketers can segment the userbase into different buckets according to demographic information, user experience monitoring data, and interests. Different messages can be sent to different user segments to provide more targeted, relevant messaging that they’re more likely to engage with.


Every user and their interactions with applications generate vast amounts of data that can be used to gain actionable insights. Analyzing these large sets of data can give you insight into how users respond to your notifications and interact with your product. Firebase Cloud Messaging is integrated with the Google analytics platform, or you can export data from FCM campaigns to other analytics platforms.

A/B Testing

A/B testing is a methodology to test the efficacy of various approaches, such as subject lines and copy. A/B testing is tightly integrated with Firebase and FCM, allowing you to conduct A/B testing to identify the best formulas for notifications for distinct user groups.

In-app Messaging

While push notifications can be sent to different sets of users, they cannot be used to send context-based messages. In-app messaging with Firebase Cloud Messaging can be used to send messages with context. These types of messages can be used to guide users in using the app or to prompt some specific action from the user.

Data Sync Messaging

An application or web-based service needs to sync a lot of data with the server where the application is hosted. This includes content, multimedia, messages, emails, and other data. The prompt to sync data can be sent using Firebase Cloud Messaging, previously Google Cloud Messaging, so that the client application is always up to date.

A single application has to synchronize a lot of different messages from the application server through different channels. These include:

These different messages end up in different applications like the email application, messaging app, etc. This is an inconvenience to the user to collate data of the same application across different avenues.

Integrating your application with an inbox solution like MagicBell allows users to access all messages in one place. MagicBell also has additional functionality to let users select the types of messages they want to receive. By reducing information overload and alert fatigue, you’ll benefit from better user engagement and retention.