Some end users are not receiving the notifications sent by MoEngage customers. The notifications are successfully sent to Google Cloud Messaging (GCM), but they are not delivered to the end users.
The probable reasons for this issue are as follows:
- Users can block notifications at the operating system (OS) level: Operating systems allow users to block the notification for a particular app. The problem with this implementation is that GCM does not invalidate the token nor does it inform the app server about this temporary de-activation. Also, some battery-saving apps force-stop the running apps, which does not deliver notifications to the user’s device.
- Device-specific issues: Some devices do not receive notifications when apps are not running either in the foreground or background. The device manufacturers are resolving this issue in new updates but the problem persists in older versions. For Lenovo 6000 series, the failure rate is around 98%–99% that is, MoEngage can only deliver to 1 out of 100 devices.
-
Users are not connected to GCM due to network issues: A lot of customers are not connected to the Internet for a long time and hence GCM cannot deliver notifications to them as well as cannot mark them inactive. GCM works by maintaining an idle socket connection from an Android device to Google's servers. To make sure that the connection remains active, Android will send a heartbeat every 28 minutes (which has recently changed to a dynamic value based on Google I/O 16) on a mobile connection and every 15 minutes on Wifi. If this heartbeat is not received, the connection is considered broken and Google attempts to re-establish it.
Google suggested that nearly 15% of users are not connected to GCM in general and hence might not receive notifications at the right time. This in turn results in the following problems:
- Delay in messages
- Non-delivery in case the user is still out of network
- Time to Live (TTL) expires before notification delivery: It might so happen that GCM was not able to connect with the device within the TTL time hence GCM won’t deliver the notification if the TTL is expired at the time of delivery.
- Gap from GCM in marking token as in-active: There is a gap between the time device is uninstalled and GCM marking the device as inactive. Google documentation states: “Note that it might take a while for the registration token to be completely removed from GCM. Thus it is possible that messages sent to GCM get a valid message ID as a response, even though the message will not be delivered to the client app.” As a result, MoEngage might successfully send the notification to GCM without knowing the install status of the app on the user's device but the message won’t be delivered.
- Other issues: Many times in corporate setups, the outer firewall rejects the incoming packets due to security settings. Check another blog here which mentions a similar problem and suggested solution.
Push Benchmark Report
The following is the benchmark report for Push campaigns that can help you understand the trend for the standard metrics such as Delivery rate, Click-through rate (CTR), and conversion rate (CVR):
info |
Information Delivery Rate benchmarks for iOS in this report do not consider impression tracking and opt-in status of the device. |
The image above shows the data from Q3'2020 [1st Jul 2020 - 30th Sep 2020]. Last updated on 2nd Nov 2020.
MoEngage not only tracks sent numbers but also captures the notification impressions from clients' devices. MoEngage executed an analysis across our clients and divided the analysis into the following themes:
- User Activity: To understand if there is a correlation between the user activity (how recently your user visited your app) and notification deliverability
- User Device: To understand if there is a correlation between device model (mobile device used by your users) and notification deliverability
User Activity
Of all notifications sent to All Users and successfully accepted by GCM, many notifications are not actually delivered to users. The following image shows the break-up of notifications that were successfully sent but not received by the end users.
Though MoEngage could not establish direct causality, there is a high correlation here. As the duration of inactivity increases, reachability decreases that is, GCM might not be able to reach and deliver notifications to these users.
MoEngage executed the same analysis for users who received these notifications which also indicated that recency increases reachability.
User Devices
info |
Information The following analysis covers the Android platform. After MoEngage hands over notifications to GCM servers and they successfully accept the message for a particular user, MoEngage servers don’t have the visibility on the reasons why the message was not delivered. Hence the following reasons are just hypotheses that MoEngage cannot validate in the absence of data. |
Most of the time, some device models do not receive notifications sent by MoEngage customers. MoEngage got this hypothesis after executing the numbers across multiple campaigns for a few clients.
- In Lenovo A6020 and Lenovo A6000, the failure rates were high around 98%-99%.
- Micromax also exhibited high failure rates around 90-95% for its canvas series.
- ASUS Z00AD, Z010D, Z008D, Z00UD, and Z00LD devices also had delivery rates lesser than 4%.
- Vivo devices (namely Y11, Y15S, Y27L, Y28, Y57L, and V1) with Iris X8 and Iris Fuel 50 also have very low delivery rates ranging from 2-3%.
- In Motorola phones, the doze mode detects when your device is not in use and it will automatically go into a deep sleep state which saves your battery. App Standby reduces the battery drain of your phone by changing your seldom-used apps into a reduced activity state which then hampers the notification delivery.
- Some end users are also facing problems on Android Marshmallow devices because of battery optimization introduced by Google with Android M that is, not delivering the notification when the device is idle.
All these devices have a substantial share (particulars vary based on genre and demographics of client apps) of the installed customer base and hence lowering the delivery rate as a whole.
Why Are Users Receiving a Simple Text Push Instead of a Rich Push Notification?
Sometimes, if you configured a rich Push notification (that is, added an image, GIF, or video), some end users received only a text notification instead of the rich content. The following are the possible reasons for this issue:
- The image size was too big and hence it failed to download while rendering the notification. The recommended image size is 25 KB with a 2:1 aspect ratio.
- The image was well under the recommended guidelines (that is, <= 25 KB), but still it failed. This could happen because of slow Internet issues on the user's device. In such cases, the text would get loaded but the image might still fail.