Mobile Audience Profiling
Core Concepts
Mobile application profiling is an important part of your customer engagement. Each connected app install can be personalized to a particular customer, assigned additional customer preferences, and used to track customer behavior.
Mobile customer profile is synced with the Infobip Target (People) module and forms a unified profile of a single customer across devices, platforms, and available channels. With mobile audience profiling, you can reach out to your customers in the right moment with relevant content which drives your audience engagement.
Each application install on a device receives unique install ID - pushRegistrationId.
pushRegistrationIdis a permanent ID assigned to the app once it’s launched up until the moment it’s uninstalled from the device. Each installation has default attributes (device model, OS, app version, etc.) although you can define additional custom attributes.
To target a specific customer with a personalized message, you need to go through the identified Person. Such process is called identified Person. Identified Person is a profile in Target module (People) which has at least one unique identity: externalUserID, phone number, email.
Personalized profile (identified Person) can have several devices connected to it. Data can be shared across devices as well. For example, you can set a subscription on your mobile device and it will be synced on your tablet. For security reasons, you can enable the option which shows all connected devices right in the customers mobile application.
Profiling Phases
Here’s how the profiling process looks like:
Install – Anonymous > Personalized > Depersonalized > Uninstall
The diagram below shows the application lifecycle overview on the Infobip platform.
Personalization
In case your application supports login functionality and/or you want your users to receive notifications targeted by any person attribute, you need to personalize the installation.
Each person can have phone numbers, emails, and/or external user ID, the fields that uniquely identify a person on the Infobip web interface and provide the capability to personalize any application registration with a person profile.
Personalization of mobile applications can be performed through:
- Mobile SDKs for native platforms
- Plugins for cross-platform frameworks
- API (opens in a new tab)
When personalizing the Install, keep in mind that personalized profile can have several devices linked to it, but single device can be linked to a single profile only.
Updating Person Attributes
After the Install is personalized you can update standard and custom person attributes in Target module with your mobile application:
- Mobile SDKs for native platforms
- Plugins for cross-platform frameworks
- API (opens in a new tab)
Synced attributes will be available for your audience Segmentation.
While updating standard attributes: phone numbers, emails, and externalUserId, Infobip web interface automatically adds uniqueness of these attributes to prevent unintentional merge of profiles.
Depersonalization
In case your application supports the logout functionality, you need to depersonalize the install when the user is logged out which will prevent the user from receiving notifications targeted with any person attribute.
Depersonalization can be done with:
- Mobile SDKs for native platforms
- Plugins for cross-platform frameworks
- API (opens in a new tab)
Application Install Default System Data and Standard Attributes
Installation system data
Name | Type | Description |
---|---|---|
pushRegistrationId | string | Unique ID which identifies application instance and specific device. |
platform | string | Possible values are Android or iOS. |
sdkVersion | string | SDK Version which can be found on GitHub: |
osVersion | string | OS Version. |
deviceManufacturer | string | Device manufacturer: |
deviceModel | string | Device model, for example, iPhone 12, iPhone 13 |
applicationVersion | string | Application version |
pushRegistrationEnabled | boolean | Whether push notifications are enabled on the device. Set to true to only target users who have push registration enabled. For more details refer to iOS SDK Wiki and Android SDK Wiki. |
registrationsEnabled | boolean | Set to true to only target devices where notifications for the mobile application are turned on by the user. |
geofencingEnabled | boolean | Is the Geofencing SDK set and are tracking locations enabled by the user. |
deviceSecure | boolean | Is touch ID or passcode set for the device. |
osLanguage | String | Set language on a mobile device. Parameter can be overridden by application logic. |
notificationsEnabled | Boolean | End user enabled push notifications on lock screen. OS permission. |
appVersion | String | Application version installed on mobile device. |
Installation standard attributes
PrimaryDevice | boolean | Targets the user’s primary device in case the user has more than one device.Parameter management can be performed from the Mobile SDK: |
Preferences and Subscriptions
Preferences and subscriptions are managed with Profile Custom attributes. Custom attributes are key-value pairs, where the value can be string, number, boolean or date types. Depending on the business logic of your application, you can choose from:
- Per user preferences – implemented as person custom attributes and affect all devices connected to identified Profile.
- Per device preferences – implemented as Installation custom attributes and affect the single device only.
Preferences can be managed with:
- Mobile SDK:
- iOS device preferences (opens in a new tab) and personal preferences (opens in a new tab)
- Android device preferences (opens in a new tab) and personal preferences (opens in a new tab)
- Cordova device preferences (opens in a new tab) and personal preferences (opens in a new tab)
- React Native device preferences (opens in a new tab) and personal preferences (opens in a new tab)
- HTTP API personal preferences (opens in a new tab)
Tags are always associated with Person profile and can be managed with:
- Mobile SDK:
- HTTP API (opens in a new tab)
All the synced data is available for your audience Segmentation and automated communication with Flow.
Cross device synchronization
All personal preferences and subscriptions are automatically synchronized between all devices linked to a single Person profile.
For personalized Profile you can:
- List all devices linked to the Profile and expose it to your mobile app customer in application UI.
- Set some devices as primary (opens in a new tab) and force the platform to target primary devices only (opens in a new tab).
- Give control to your customer to manage unified data preference data across devices. Changing the person attributes on one device of single customer will be synced to other person’s connected devices.
Behavioral Events
Behavioral events can the end user activity in mobile application and you can use this data in real time engagement or historical events segmentation. By tracking mobile events, you can better understand your audience and trigger relevant communication at the right moment. Additionally, you can audit details on single person profile changes in People (opens in a new tab).
All synced events data for your audience is available using Segmentation and the communication is automated using Flow.
Event Categories
Mobile SDKs include a set of standard events and have special methods for custom events where you can define specific scenarios and data points.
Standard and custom events have the following metadata associated with the event that is recorded automatically:
- Timestamp – Timestamp when the event was tracked by Infobip platform
- Event definition ID
- Event properties (if any)
Standard Events
Once standard events are enabled, the Mobile SDK starts tracking it without any additional configuration.
Event | Details |
Install | Once a mobile app is installed on a device, an event is merged with the identified person from the anonymous Person if device was personalized. |
Uninstall | Event that identifies when an uninstall was performed on a device. It remains in the history events in the identified Person profile. |
Personalize | Event that tracks when an end user registers in your mobile app. The event is based on personalized methods. Event is merged with the identified Person from anonymous person.Remains in history of events in the identified Person profile. |
Depersonalize | Event tracks when an end user logs out from the mobile app. Remains in history of events in the identified Person profile. |
App Launch | Events tracks if a mobile application was opened by the end user. Remains in history of identified and anonymous Person profile. |
Please note that the App Launch event will be logged in case the previous App Launch event happened more than 30 seconds ago. In case the mobile app was launched, closed and then launched once again in less than 30 seconds, the first App Launch event will be logged only.
Standard Event Properties
The following properties are associated with all standard event:
- appCode – Application Code of the application
- pushRegId –
PushRegistrationId
assigned to the installation of the mobile app - The following Install system data and standard attributes:
- applicationVersion
- deviceManufacturer
- deviceModel
- osLanguage
- osVersion
- platform
- sdkVersion
Custom Events
Custom events are events that you have to define yourself and then track via Mobile SDK.
Here's how to track custom events with a mobile app:
- Create event definition in the web interface (opens in a new tab).
- Implement events tracking functionality: