What is a Profile?
Profiles are aspects or qualities of your app users that may be included as criteria in Audiences. Profiles are simply key-value pairs that may contain text, integers, or dates, such as Gender, Subscription Status, Favorite Category, or Most Visited Page.
Localytics automatically captures several Autoprofiles which are updated every time a user has a session in order to store the most up-to-date information (ie. Last Session Date).
Additionally, Custom profiles may be set by you via the SDK (iOS or Android), the Profile API, or the Profile Import API.
It’s worth noting that unlike Events which are timestamped when they are recorded and stored, Profiles only reflect the current state of each user.
So, for example, when a user purchases an item your app would record an Event called Purchase to record each occurrence, while simultaneously your app would update the Last Purchase Date Profile in order to keep that information up-to-date.
Profile Attribute Scope
In cases where there are multiple apps with which a single user may interact (ie. on their phone, tablet, and laptop), it is possible to scope Profile Attributes across all of your apps or to a single app. These are referred to in the dashboard as "Org scope" and "App scope" respectively.
Demographic information such as Language, Age, or Hometown is typically scoped at the org-level since it won’t vary based on which app your end user is using. Conversely, information such as "Last App Version" or "Location Enabled" is specific to one app so they are scoped at the app-level.
Auto vs. Custom Profiles
Localytics automatically collects a few Attributes to help power your engagement.
Here’s a full list of all of the information we track out-of-the-box:
Scope | Profile Attribute | Description |
---|---|---|
App/Org | User type | Localytics detects whether a Profile is Known or Anonymous. |
App/Org | Last session date | Localytics detects the last observed Session per Profile. |
App | Last CustomDimensionName | For each Custom Dimension tracked by your app, Localytics will preserve the last observed value per Profile. |
App | Last app version | For the last logged Session per Profile, Localytics captures the app version. If a user updates the app subsequently without recording a Session, this Attribute may not reflect current app version. |
App | Last OS Version | Localytics detects the last OS Version being used by a Profile. |
App | Total sessions | Localytics computes the total number of observed Sessions per Profile. |
App | First session date | Localytics detects the first observed Session per Profile. |
App | Push enabled | For the last observed Session per Profile, Localytics detects whether push messaging was enabled or disabled. If a user updates this subsequently without recording a Session, this Attribute may not reflect current status. |
App | Last push opened date | For the last push opened, Localytics detects the date the Profile opened it. |
App | Last in-app displayed date | For the last in-app displayed, Localytics detects the date the Profile opened it. |
Org | Last country | Localytics detects the last country a Profile was in. |
Org | Last time zone | Localytics detects the last time zone a Profile was in. |
Org | Last city | Localytics detects the last city a Profile was in. |
Org | Language | Localytics detects the last language a Profile was using. |
It’s worth noting per the Last CustomDimensionName mentioned above that Localytics automatically tracks a Profile of the most recent state of each Custom Dimension. Custom dimensions are captured with every Session and Event, so the Profile is updated each time a value changes.
You may also store any number of Custom Profiles (ie. information not available out-of-the-box) about a user. Some common examples are Number of Videos Shared, Last Item Purchased, and Subscription Status.
Known vs. Anonymous Profiles
Profiles are specific to each individual user of your app, so they are associated with an identifier called the Customer ID.
When Localytics sees a new device using your app for the first time, the SDK creates a random alphanumeric identifier with which the information is stored.
Then, when users log in and identify themselves, your app may set the customer ID to a specific value such as their email address, username, or a CRM identifier already being used by your team. This makes it easier to merge data with any other systems of record using your main identifier as the common key.
The two types of customer ID’s are referred to as Anonymous and Known, respectively.
It’s worth noting that a new Known customer ID will not automatically inherit the previous Anonymous identifier—it is necessary to ensure that your app resets any relevant values at that time.
Targeting User Profiles
Profiles help you create more targeted and personalized engagement based on your users’ current Profile values. To better use these profiles, you’ll want to understand the available filters and their uses.
Filter | Use | Example |
---|---|---|
is one of | Selects all users whose Profiles match one of the selected values | People where Favorite is one of shoes, purses, jewelry |
is none of | Selects all users whose Profiles do not match any of the selected values | People where Favorite is none of shoes, purses, jewelry |
< | Selects all users whose Profiles data is less than the selected value | People where Value < 100 |
<= | Selects all users whose Profiles data is less than or equal to the selected value | People where Active Minutes <= 100 |
> | Selects all users whose Profiles data is greater than or equal to the selected value | People where Level > 10 |
>= | Selects all users whose Profiles data is greater than or equal to the selected value | People where Purchases >= 1 |
is between | Selects all users whose Profiles data is between two values | People where Subscribe Date is between 2015-01-01 and 2016-01-01 |
is defined | Selects all users who have defined the Profiles key | People where Favorite Category is defined Shoes |
is not defined | Selects all users who have not defined the Profiles key | People where Subscription Date is not defined |
Personalization via Profiles
You'll get a better return on the messages you send if they're personalized. Localytics powers personalization by allowing you to store individual user Profiles such as First Name, Favorite Category, or Items in Cart.
Personalization utilizes the open-source templating language Liquid. Check out our article all on using Liquid in your Push Messages.
Once your Profile Attributes have been communicated to Localytics, personalizing messages is simple. Click the Profile icon at the top right of the message builder to access the Insert Profile Field menu.
You can select any available Profile Attribute to insert it into your message. The scope is set automatically.