Contextual or short messages pushed to user's device that is the desktop, tablet or mobile browsers are known as web push notifications. If a visitor of your website subscribes to the push notification, he should be notified every time you send a push notification. The reachability should be high as push notifications are sent to subscribers in real time, and anyone online before the notification expires should get the message. There are many vendors offering push notification service. However, irrespective of the service provider, many times the reachability of push notification is an issue.
But if you notice that the reachability is not high, then here are the likely reasons –
- Permission Denied from Notification Center – If you 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.
So while calculating your actual view rate, try to subtract the unsubscribed subscribers, for the total sent. One can disable the notifications from here either from a particular website or from the browser itself
- Old Subscribers may have low reachability, or Subscriber status is not Updated at Cloud Managers immediately – All Web Push Notifications are sent respective cloud managers – FCM(Firebase Cloud Manager) for Chrome, etc, which then deliver then 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 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.
- 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 in 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 force Stop the running apps which they won’t be able to deliver notifications to the user’s device.
- 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 2. above)
- Weak Internet Connection – On sending the notification the browser might receive the signal but if the internet connection is weak or device is disconnected the browser will fail to download the notification resulting in subscribers not getting the notification.
- Device Settings – In order to receive the notification the device should be switched on, connected to the internet device and airplane mode should be disabled along with the power saver mode.
- Browser Should Atleast Run In Background (for most devices)- Even if the subscriber is not the website neither on the browser, in this case, it is important for the browser to run in the background.
- Browser Should be Active (only for few devices) – Usually, most of the devices still show the notification if the browser is running in the background. However, we have observed on devices like MI (Xiaomi) browser should be open in order to receive we push notification. This is device-specific where it is mandatory for the browser to run in the foreground.
- On using Ad blockers, Malware Blockers, or Corporate firewalls – Sometimes the ad blockers and corporate firewalls may block the URL of web push providers, due to their settings. Further, sometimes the landing page URL could be listed in a Malware or Adblocker directory and can get blocked due to that.
- Cookies and Firefox Browser – In Firefox there is a known issue that sometimes on deleting cookies, they may become unreachable. In this case, if you have users subscribing from firefox browser and if they delete the cookies they might not get the notification that you've sent. This is not a regular case but is found in our testing at times.
- Notification Tray Gets Filled – In mobile devices notifications are added to the notification tray. So, if the notification tray is full, the subscriber will not get the new notification. Similarly, in Desktop the Windows Notification tray has a limit of few notifications, and if it is filled, the notification can get dropped.
- On MI Devices – There is a glitch with MI mobile devices that is if a phone is inactive (locked) from a long time, and if you send a notification in that period the user is likely to miss that notification.
- On clearing Site Data – When the user clears the site data, the service-worker.js file gets uninstalled which is important to send and view notifications. Hence, the user does not receive the notification in this case.
- Locked Screen Notification – If the browser does not has permission to download the data when the screen is locked, the subscriber is likely to miss the notification. At times we see in the locked screen the notification Title is displayed and the message appears as Private.
- Notification Expires Before Reaching to the Subscribers – If the user is not online or connected to the internet for a long time and you've set an expiry time to the notifications, then the subscriber will miss the notification is sent in between that time period.
If you notice any other cases apart from this you can let us know by sending an email at email@example.com. We will keep the list updated.
Bonus Tip: If you see a sudden sharp drop in your views, it may be related to your configuration. One common issue we see is that other Progressive Web app plugins can overwrite the Service Worker used for Push Notifications. If you are our customer and see that get in touch with us, so we can tell you the solution to address that.