Why your chat notifications might go undelivered, and what you can do about it
In the early two-thousands when 3G was on the rise and mobile devices like the Motorola A830 and the Nokia 3310 reigned supreme, a lesser-known Canadian parent company called Research in Motion was working on a communication interface for their famous phone line - the BlackBerry. It was there that engineers developed Blackberry Push Email, which in effect, was the first-ever push notifications system.
Fast forward to 2020, and push notifications are everywhere! Since their conception in 2003, they’ve gone through several phases of evolution in terms of content format, trigger points, and scale. No matter their format though, they’re a necessity for your chat application, but as straight-forward as that may seem, many variables can influence their successful delivery.
In a recent 2019 report by MoEngage it was revealed that overall the delivery rate for push notifications was in the range of 14 to 48%.
Chat notifications will often struggle with competition for inbox space and their delivery rates probably fall somewhere in the middle. We've written this short piece to tell you all about the way push notifications work behind the scenes and the elements that influence their delivery. Of course, we've got some great tips to help you increase your success with push notifications for your chat app, as well.
What exactly are chat push notifications?
Push notifications are the short pop-up messages that notify you of things in a web browser or an app. Companies mainly use them in campaigns to get the attention back to their product.
But not all push notifications you send simply reach their destination. In analyzing overall delivery rates, MoEngage reported delivery rates between 14% and 48% depending on segmentation like industry and user activity.
For companies with engaged users who run modern devices the delivery rate will likely be higher but MoEngage note that even in good circumstance, sending notifications to active users running iOS 10 or later, the average delivery rate was observed to be only 85% meaning that if you successfully send notifications to 100 users, only around 85 users end up receiving the notification. This number is may even be a little skewed as it would include the millions of WhatsApp, Telegram, and Messenger notifications that are delivered successfully. We have seen results for corporate push notification delivery to be substantially lower.
How do push notifications differ on Android and iOS?
Android and iOS, together good for 97% of the mobile market, differ substantially on how they allow push notifications. Most importantly, iOS uses an opt-in system while Android uses opt-out.
The opt-in model which iOS employs doesn't allow brands and apps to send notifications until express permission has given by users to receive them. Android does it the other way around. Their users automatically receive notifications from brands and apps they install, but they can choose to opt-out at any time. An option to opt-out is given as early as on installation though.
These different approaches give Android apps an advantage in the size of the push-enabled audience they can reach. But it also comes with a risk. Sending too many push notifications, or notifications that are irrelevant or unnecessary will get users to seek out the uninstall button as easily as they'll look for the opt-out option.
Why push notifications are sometimes not delivered
MoEngage analyzed the most important reasons for push notifications not being delivered. For instance, even after your cloud messaging platform (like Google's FCM) has accepted the notification, it will fail to send it to devices that are turned off or not connected to the internet. And there's a couple more surprising factors that influence deliverability.
What is the difference between GCM and FCM? You might be wondering about the difference between GCM and FCM as these acronyms often surface together. In short, Google Cloud Messaging (GCM) was a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications. It has since been deprecated in favour of Firebase Cloud Messaging (FCM), which is is the new version of GCM under the Firebase brand. It inherits FCM’s core infrastructure to deliver messages reliably on Android, iOS, and Chrome. The more you know!
The user isn’t opted-in
According to Clevertap, the most important reason notifications can't be delivered is users opting out of receiving them on an OS level. Apps and brands on iOS can't send push notifications to users without getting express permission and resulting opt-out rates are very high at 55%.But even on Android, more and more control is given to the user and opt-out rates are around 40%. And these numbers are averages across different kinds of apps and industries. Messaging apps and on-demand apps, for instance, see a higher opt-in rate than average. One of the challenges you'll face is to find a way to get your users to opt-in and then stay opted in.
Clevertap also notes that the phone's manufacturer makes a difference in deliverability. Manufacturers like Oppo and Vivo build their own custom OS on top of Android. These flavours of Android often restrict an app's background network access as part of aggressive battery saving software. Apps that aren't able to connect to the internet are very difficult to deliver notifications to. Other devices like Samsung, Xiaomi, and Motorola have better delivery rates from 51% to 55%. The same issues arise with third-party battery saving apps which also force stop apps to increase battery life. This poses serious challenges to the delivery of notifications for most apps, especially the ones not frequently used. This is part of the reason why apps that are used more often have higher delivery rates.
Connectivity Issues with FCM
Android uses Google's Firebase Cloud Messaging (FCM) to deliver push notifications. To realize this, FCM maintains an idle socket connection from the Android device to Google servers. It is this connection that allows push notifications to be shown on the device. But this socket link can get interrupted. FCM can be unable to deliver a push notification when a user is not connected to the internet. Push notifications come with an expiration date though, known as the Time to Live (TTL). If the device doesn't connect back to internet in time, the notification will expire and remain undelivered. Another known issue happens when an app is uninstalled. Because it takes some time for the registration token to be removed completely from FCM, a notification sent while the removal is being processed can be flagged as valid even though it will not get delivered to the app anymore.
The user’s last activity
A user's last activity severely impacts delivery rates. This probably relates to background access being restricted for apps that have not been used recently. MoEngage recorded the highest delivery rates for users who were active in the last 24 hours. More than 80% of notifications were successfully delivered to these users. They also analyzed the user's app behavior prior to successful delivery and found that of the people who received notifications, 73% were active in the past 2 weeks.
Older Android OS versions
The different Android versions have also been seen to impact delivery rates, with the older versions like Lollipop, KitKat, and Jellybean showing lower delivery rates than new versions like Android Nougat and Oreo. Nougat has the highest delivery rate. These differences in delivery rates are the result of battery optimization and a change in the way Android shows notifications after they introduced notification channels.
What you can do to improve your delivery rate
Now the most important part: what can you do to improve your delivery rate? There are some issues you won't be able to influence, or you'll only be able to nudge your user in the right direction. If they're using a phone with very aggressive battery saving software, you won't be able to get them to buy a new phone that easily. Still, workarounds are available. If your app is used more often, the rate of delivery success of a notification improves noticeably.
Make sure your users opt-in
The impact of this one should be pretty clear. If users don't opt-in or eventually opt-out you won't be able to send them any push notifications. It is a good idea to use your design during the app set up to guide your users to opt-in. You'll also want to clearly state why it's advantageous for your user to receive notifications. Marketplaces will want to explain that missing a notification might mean missing a sale. Medical business will want to point out the urgency of the notifications they send. In any case, your users should feel that the notifications they are opting-in for are in their best interest. Check out how Slack and Monzo tells their users about what to expect from their notifications.
Slack even make it a little less natural to opt-out by putting the exit button in the top-left. Sneaky.
It is even possible to detect when a user hasn't opted-in initially. Facebook Messenger detects when notifications are disabled and shows a little banner at the top. Snapchat does something similar by showing a notification badge next to your Bitmoji:
Another page you can borrow from Messenger is only asking for permission after the user has created an account or logged in. It makes sense that more people will opt in after taking a positive action in your app rather than if you surprise them with notification requests the moment they open your app.
Allow users to configure which notifications they receive
Push notifications can be incredibly useful, but sending the wrong notifications, or annoying users by sending too many of them will result in users opting-out of receiving them entirely. A solution to this is to give your users more control over which notifications they receive, which can help you send only relevant notifications. Doing this will allow them to choose to only receive a certain specific type of alert, rather than opt-out entirely. Dating apps nowadays often give a lot of options concerning push notifications. They let their users choose whether they want to be notified of profile visits, of matches, of received messages, and in addition to those, also allow them to decide whether they want to receive offers for paid plans. We show you how to give your users control over their notifications when coding an Android chat app in this tutorial.
Send email notifications
For some businesses, engagement is just an important metric, but for others it's a critical part of their product. Think of marketplaces like Airbnb for example. If one of their hosts misses a message, it directly results in a lost business opportunity. But there is increasing competition for home screen space and many users just outright opt-out of receiving notifications in an attempt to reduce noise. That’s where email chat notifications can help. Sending an email notification about recent chat activity can be incredibly powerful in increasing retention and making sure your users never miss their most important messages.
We recently partnered with SendGrid to make it easier and more reliable for you to upgrade your product with email notifications. You can learn more about our email notification extension here.
Send SMS notifications
Just like email notifications, SMS notifications are another way to notify your user of missed activity. When building a chat application with CometChat, SMS notifications can be enabled through the SMS notification extension.
Use an app inbox as a fallback channel
There are even ways to reach the users who have not yet opted in or who have opted out. To reach these users you should use fallback channels like a dedicated app inbox which ensure a 100% delivery rate of push notifications inside of your app. An app inbox is also a great tool for brands when they send messages that need to stay with their users for a longer period of time. They are best suited for cases where you want to encourage users to do something. Think of giving out a discount code that doesn't expire for a gym membership, or information about personalizing screens without too much manual coding, compared to native.
Nowadays, you won't find a chat application without push notifications, but only using push notifications doesn't guarantee 100% delivery rates. If you are serious about using notifications to increase retention and engagement, which we highly advise you are, you should also be looking at fallback delivery options like an app inbox, email notifications, or SMS notifications. Spending some time on designing a compelling user experience can educate and guide your users about push notifications and will increase opt-in rates. Once you've got your deliverability sorted, you can expand the process by considering how many people interact and engage with your push notifications. For more insights on that, follow us on Twitter @CometChat.