Getting started with Push Notifications
Push notifications are a powerful tool to keep users engaged, or to extend your coverage with a direct and real-time channel.
There are two main categories of push notifications:
- App Push is used to trigger notifications from applications on the user’s mobile device (both when the app is in-use or not)
- Web Push is used to trigger notifications on the browser of the user when they are visiting your website, another website or using their desktop in general.
Actito's offer
To enable you to use push notification in your multi-channel strategy, Actito is directly integrated with the Notificare platform, which was acquired by Actito in April 2024. This allows you to benefit from the Notificare technical expertise, while being able to build your full push notification marketing from your Actito license.
When you activate the Actito push notifications, the set-up is therefore divided into 2 sides:
- Your technical team needs to configure your app or your website, guided by the developers kit provided by our team.
- The Actito team will activate the push notification channel in your license and build the model of your channel.
Architecture of the Push channel
The integration involves a connection between your system and Actito, with the profiles (or end-customers) being known by each platform through the devices identified when they subscribes to push notifications on your app or your website.
'Opted-in devices' are recorded and synchronized with Actito. They are imported in a different table depending on whether they are identified or not.
- Identified subscribers means that the opted-in device is associated to an end-customer Id. This is done when a visitor authentifies themselves on your website or your app (for instance, when they connect to your customer space or register in your app).
These devices are associated with the profiles of your central database connected to Push and all your other channels.
- Anonymous subscribers means that the owner of the opted-in device is not identified, because they are not logged in, for instance, so the scripts installed on your website/app cannot tie them with an ID.
These devices are associated with a separate profile table, where anonymous users are automatically created and stored while they remain unidentified.
About profiles and devices
While in Actito, a profile is associated with only one e-mail address or only one mobile phone number, it is a bit different with push notifications.
Indeed, a single profile may own different devices (a smartphone, a tablet, a desktop computer with different browsers,…). The profile may interact with your website/app with all these devices and opt-in (or not)
As the result, when you send a push campaign from Actito, the profile receives push notifications on each of these opt-in devices.
- In this example, 1 person = 3 devices
- To be contactable, the profile has to allow notifications on the app/browser of a device.
Viewing device information
You can view the devices linked to each profile in the Linked Data tab of their profile file.
Device information is stored on a dedicate Linked Data table named “Push devices {Integration name}”. You have access to the following information for each device:
- Device id (deviceId)
- State of the subscription (is subscribed)
- Type of platform (Web, Android, iOS)
- Language attached to the device
- The moment when the device is registered
In addition, when a device is transferred from the anonymous DB to the identified one, 4 specific fields are updated. They are identified by the 'Moved' prefix and display information related to the original profile.
- Moved was subscribed: specifies whether the device was opted-in when it was transferred
- Moved Moment: specifies when the device was transferred, namely when the profile became identified
- Moved User Id: specifies the user id of the profile to which the device was previously associated
- Moved Profile Table: specifies the DB in which the above user id was present
While the 'Moved' attributes are especially used for transfer between the anonymous and the identified tables, they can also be useful when a device is transferred between 2 identified profiles.
Indeed, when a device is shared between different users (a computer owned by a couple, for instance), the device will be tied to the last profile who logged in the website (or app).
About the end-customer ID
The end-customer ID is what 'identifies' a profile. It will be defined by your system (ex: your CRM).
The assignation of the end-customer ID to a device will occur when a profile opts in for push notifications while being known to your system (for instance: being logged into your website/app).
The same end-customer Id must be available in the Actito profile table, to be able to connect the profiles across the different systems.
Assigning the end-customer ID to a device is a specific step of the set-up.
About data synchronization
Data synchronization is required between your system and Actito to push the profiles (identified by the end-customer ID). As these profiles must be authenticated on your website or your app, they should be known by your system and pushed into your normal data flows as usual.
When a profile subscribes to push notification on your website or your app, an opted-in device will be synchronized with Actito: a specific subscription will be updated on the profile matching the end-customer ID of the subscriber.
Indeed, as part of the integration, specific subscriptions for the Push channel are defined: a Web subscription and/or an App subscription (depending on your set-up).
These subscriptions will be automatically updated in real-time when a profile (known by his end-customer ID) gives or removes his authorization to be contacted on your app/ your website, depending on the type of device they are using.
A profile can subscribe to push notifications on multiple devices/multiple browsers. As long as they remain opted-in on one browser, their Web subscription value will be True. As long as they remain opted-in to the app on one mobile device, their App subscription will be True.
Example: a profile opts in on Firefox and opts out on Chrome. Their Web subscription remains True. If the profile opts out on both Firefox and Chrome, their Web subscription will be automatically updated to False.
A profile might not exist yet in Actito when they give their consent on your app/your website.
In such a case, an anonymous profile will be created (see below).
When new profiles are imported in your database, Actito will check if a matching end-customer ID is already tied to an opted-in device and will update the subscriptions accordingly.
Depending on the OS, uninstalling the app might not immediately unsubscribe the profile from the push optin. But the next time a push campaign will attempt to contact them, they will be recognized as uncontactable and unsubscribed automatically.
The same will occur if the device becomes permanently out of order and cannot reply to contact attempts.
When a profile switches their devices (for example, they've got a new phone or a new laptop), they will need to visit your website/install your app and opt in again to receive notifications.
At first, they will remain opted-in on their old device. But in time, they will be reported as inactive by their OS and will be unsubscribed from their old device.
Please note that this is a one-way synchronization, because the optin status is directly managed by the profile on your website/your app.
This subscription value should not be modified in Actito, because the changes will not be reflected in the device.
About the anonymous table
When the owner of an opted-in device cannot be identified through an end-customer ID, a profile is created in the anonymous table.
If the end-customer ID of a device is known when they subscribe to push notifications, but it does not match an existing profile in the identified table, an anonymous profile will be created.
The structure of this table is very basic:
- The language of the profile, based on the language in the settings of the device.
- An id, based on the id of the device.
- App and Web subscriptions, which are identical to those in the identified table.
Just like for the identified table, a Linked Data table is created to store the devices of the anonymous profiles (see above).
Because the id is based on the device, multiple anonymous profiles can be created for the same person if they are using multiple devices anonymously.
Identifying anonymous profile
What happens when an anonymous profile get identified?
For instance, this can happen when:
- A visitor who subscribed to push anonymously creates an account in your website, allowing you to tie an end-customer ID to their device
- A profile is imported in your database after it was created in the anonymous table (as their end-customer ID did not match an existing profile at subscription time because your data flows are asynchronous).
When a profile becomes 'identified' like in the above cases:
- The anonymous device will be transferred to the identified profile in your main DB, while keeping a trace of the anonymous profile thanks to the 'Moved' attributes.
- The relevant subscription (App or Web) will be transferred to the identified profile if the device was opted-in. If the user opted-out before becoming identified, the device will be transferred but only in an 'unsubscribed' state.
note
Devices are transferred with exactly the same information/status as previously recorded in the anonymous tables.
- The device and the subscription will be removed from the anonymous profile. They won't be contactable anymore in anonymous campaigns.
Anonymous profiles without any active device are deleted automatically from the anonymous table, guaranteeing that you do not contact profiles who are now present in your identified DB through your anonymous campaigns.
Definition of the Integration
The Actito team will set-up the integration in your license.
One integration covers one existing profile table in Actito, linked to one website and one mobile app. As explained above, once the integration is created, an anonymous profile table will be created.
If you do not have a mobile app, it’s possible to setup only one website (and vice versa).
By one mobile app, we consider that one app for Android platforms and one app for iOS count as only one app.
If you want to link your table to multiple websites/apps, have a pre-prod environment or if you have multiple profile databases, it is possible to have more than one integration.
Viewing your integrations
Your integrations will be visible when you create Push campaigns.
You can view the definition of the integration by clicking on View details.
Apart from the name of the integration, the important parameters are:
- The Actito Database used for identified profiles (and the entity on which it is stored).
- The profile attribute defined as end-customer ID, which is the key for the synchronizations between your profiles and their devices.
- The name of the Web and App subscriptions, which are automatically synchronized when a profile opts in to push notification on your website/app.
Setting up your app or website
If you can see the Push Notification channel and your Integration, it means that the configuration on Actito's side is done.
However, before using Push notification with Actito, your app or your website will need to be configured as well.
The technical set-up on your part for Web and App Push can be summed up in 4 main actions:
- Retrieve the right Software Development Kit (SDK) according to the type of platform
- Add the SDK on the website and/or the apps
- Add the function to the script in order to assign a user id when the end-customer logs on the website or the app
- Setup the prompt to get subscriptions
To do so, your technical team will need to use the Notificare SDK.
It will sent to you by the Actito team.