Push Notification Delivery

What are some of the reasons Users don't receive notifications?

Push Notifications resonate with the speedy and real-time delivery of brand communications. But, often, there are instances where not all subscribers receive the notifications you send or schedule for sending.

1. The browser is not open on device

Web Push notifications appear on a subscribers screen when the browser from which they have opted in is open. They will receive your notification even if they are browsing other websites. But they will not receive if their browser is not open (this is true for both Mobile and Web Browser)

2. User has cleared site data on the browser.

When a user clears the site data on her browser, the serviceworker.js files are uninstalled. And with this your website would no longer be able send notification to that particular subscriber.

3. The user disabled background app activity.

Within Operating Systems, people can switch off background refresh for apps. One reason could be to save the mobile battery usage. And this can also forcefully disable the Chrome or Firefox App. This leads to the GCM neither overruling the token, nor notifying the Chrome server.

4. Permission denied from notification center

If your subscribers have turned off the notifications on his device under the Notification and Action Settings he will not receive any web push. However, this should get marked as unsubscribed users.

5. Subscriber status not Updated at Cloud Managers

All Web Push Notifications are sent to respective cloud managers – FCM(Firebase Cloud Manager) for Chrome, etc, which then deliver the notifications to the individual browsers.  If a user has unsubscribed from the notification using the browser settings, or if the user is not using it for a long time, the user is marked as unsubscribed.  But this unsubscribe should propagate to the cloud managers.  We do see that at times this unsubscribe is not updated at the Cloud Manager level so there may be a delay in marking subscribers as unsubscribed.It might take a while for the registration token to be completely removed from FCM. Thus it is possible that messages sent to FCM get a valid message ID as a response, even though the message will not be delivered to the client app. Example – Mozilla marks the subscribers as unsubscribed after 2 months of unreachability.

6. Subscription through Multiple Profiles

If a user subscribed through multiple profiles in a go and uses only one of them, the browser will deliver the notification to only one profile.  This will decrease the reachability of the notification.  If a user does not login into a profile in a browser, chances are after some time the Cloud managers will drop the subscription, as they often have rules to drop the subscription after long unavailability (see point above)

7. Unstable network has disconnected the user and GCM

Many times, users are not connected to the internet for a long time. The reasons could be many, from being in areas without network coverage to avoiding roaming charges. When this happens, the device sends heartbeats at an interval of 28 minutes on the cell phone network and 15 minutes on WiFi.If this heartbeat doesn’t reach the GCM server, Google continues to re-attempt the connection. So, if the push notification user is disconnected from the internet for a long duration, GCM can neither deliver the notifications nor mark them as dormant. This can either delay the delivery of the notifications or not deliver them altogether.

8. On Battery Saver Mode

If the subscribers turn on the battery saver mode in Mobile or Desktop, it force stops the apps running in the background even if the device is connected to the internet. In this case, the user tends to skip or miss the notification sent in the particular time as it forces Stop the running apps which they won’t be able to deliver notifications to the user’s device.

9. Bowser app uninstalled

When a user uninstalls a browser app, there’s a delay in GCM tagging that device as non-functioning. This results in the notification being sent to the GCM, GCM attempting to send it to the device, and failing at it.

10. Notification expires before reaching the end user

If a user has either uninstalled the browser app, disabled background activity (mobile devices) or has been disconnected from the Internet for too long, and you’ve set an expiry to your notification, then chances are that the notification will not be attempted to be delivered once that specific time lapses.

11. Firewall Issues

Firewall settings may block the notification you have just sent. This may be the case in the corporate environment where the firewall blocks the messages coming from the other sources. In this case, you might have to ask your users to check them