Technology behind push notifications is different than the other ones we use for communicating to customers (emails, or sms).
If for SMS and email we can determine if the user can receive the message, for push we don’t always have this feedback.
How batch push really works:
When a user subscribes and gives permission to receive push notifications 2 things happen:
- we receive a unique token that we save for the user to identify the browser he is using. One user can have multiple tokens if it subscribers from different browsers.
- we subscribe this token to a root concept of let’s call it list. All push subscribers are connected to this virtual list when they subscribe
Now, communication to those users can happen through the list or individually (using transactional/newsletter or workflow campaigns).
Also, validity of a push message is 2 hours. If device is closed (like computer browser) or mobile device conditions do not allow receiving push while being locked, the push message is lost.
Sending a PUSH campaign
Sending a push is the fastest way to send the same message to all subscribers.
When you only have the condition to be web push subscriber it to the whole list at once. This is a specific feature only available for push campaigns that do not have user personalization.
Sending individual PUSH
Any other conditions that will need to segment users will send individual push to every user.
By doing this we receive an immediate feedback if the subscription token is still valid and user can receive the message. If it’s not valid anymore, we delete the token from the user.
Why tokens are invalidated and users can not receive the messages
Data confidentiality it’s a topic for multiple browsers. Depending on browser configuration, extensions used or manual actions done by the user, the token can be deactivated.
In some use cases, this can happen right after the user closed the browser with the session that received it’s permission.
Therefore, when a token is invalid, the browser won’t receive the push notification. We will only know when a one-to-one push message was delivered.
Possible issues
Because of the above steps, the following will certainly happen. Based on our experience, it happens to every customer.
The number of PUSH subscribers you see in your dashboard will always be higher than the number of users who can receive a PUSH message.