Localytics is a powerful analytics tool and as such, requires a little bit of training to get up and running. This guide is intended to give you a primer on what kind of data we collect, how we collect it, and how to you can understand it within the dashboard.
At the highest level, Localytics has analytics data for these features:
Click into any of these sections for more information on how to use these features.
How Localytics Understands Data
There are three types of metrics Localytics tracks:
- Session - how an end user interacts with your app
- Events - what types of actions that user takes
- Profiles - who the user is
To understand Localytics data, it helps to start with a simple analogy. Suppose you want to track statistics for a baseball player named Joe.
You'll want to know certain game-level metrics, like the duration of games and number of games. You'll also want to know each time Joe accomplishes a particular action within each game, like a hit or a home run. This allows you to easily know total home runs or total games in which Joe had a home run.
Localytics has a similar model, but instead of evaluating games we look at app Sessions and in-game actions are called Events. Additionally, just as you'll want to capture context about Joe's games and actions, like the opposing team, Localytics captures information about Events and Sessions called Event Attributes and Dimensions.
Finally, certain properties about Joe aren't easily represented using just the game and action approach, like Joe's hometown or birthday. Localytics allows you to create a user Profile to store user-level properties.
Data Types
As explained in the above analogy, Localytics ingests a lot of different data about how your end users are interacting with your app. Let’s define some of the most common types of data.
A Note about Privacy
It’s important to be aware out what is considered Personal Data to your end users. All of the data outlined below including events, attributes, session dimensions, or profile data may be, depending on your unique application and privacy requirements, considered Personal Data.
Great care should be taken to ensure your end users’ privacy rights are protected. Review the Privacy section for tools and more help on getting your integration up to your specific privacy standards.
Session Opens and Session Closes
Every time a user launches an application, Localytics creates a timestamped Session Open record identifying that a Session has started. Every time a Session is completed, Localytics creates a separate timestamped Session Closed record marking the same Session as closed.
This way, Localytics can report on:
- The number of sessions
- The duration of a session
- The length of time elapsing between sessions
- The number of sessions per device (which helps us report on retention, and distinguishes new and returning users)
Localytics captures these Session Open and Session Close records automatically. Read more about how Localytics manages session handling in the section below.
Events and Event Attribute
Events are exactly what they sound like—time-stamped records that capture important actions typically performed by an end user while using your app. These can be customized to collect additional information called Event Attributes.
Sample Event | Sample Corresponding Event Attribute |
---|---|
Changed settings | Which setting was changed |
Logged in | Type of login |
Read an article | Article name |
Keep in mind, every Event can have up to 50 Attributes unique to that event.
When Events occur within the boundaries of a Session, Localytics will connect the observed Event and all related Attributes to the Session during which the Event took place. This allows Localytics to report on the quantity of Events as well as the quantity of Sessions during which a given Event occurred.
The instructions for how and when to create a timestamped Event are encoded into your app by your developer team using Event tags. When a user travels through a particular part of the code that triggers a tagged Event, Localytics will create a timestamped record.
Your developer assigns a name to this timestamped record. They can also optionally associate Event-specific Attributes to provide additional context and/or associate a value with the Event that can be used for LTV reporting in Localytics. For details and best practices, see Tagging Events (e.g. for iOS & Android) and Tracking Revenue (e.g. for iOS & Android).
Lifetime Value (LTV)
Some Events have monetary value (or other measures of value) to your business. You can measure value-related Events through a special Event Attribute called Lifetime Value (LTV).
You should determine the best measure of value for your app. For some apps (for example, eCommerce apps), monetary value is easy to determine—but other measures of value may include credits purchased, articles read, or in-app ads viewed.
Dimensions and Custom Dimensions
Similar to how Event Attributes are properties of an Event, Dimensions are properties of a Session. Dimensions are attached to every Session Open, Session Close, and Event record. They can be used to split or filter any report in Localytics and can be used to create more targeted Audiences for marketing engagements. By default, Localytics automatically captures about 20 Dimensions as detailed in the table below.
Dimension | Description |
---|---|
Day | Date of usage broken down by day |
Week | Date of usage broken down by week |
Month | Date of usage broken down by month |
Hour | Date of usage broken down by hour |
Daypart | Hour in the day of usage |
New vs. Returning | Whether this is the user's first session or not |
Country | Country of usage |
Language | Language device is set to |
Device | Type of device |
Platform | Device platform |
App version | Version of the application |
Carrier | Network carrier as resolved by IP Address |
OS version | Version of the operating system |
Jailbroken | For iOS devices, whether they were jailbroken |
Push Enabled | Whether this user has opted in to receive Push Messages |
Acquisition source | For native app users acquired via campaigns, the channel of the campaign (e.g.Facebook or Twitter) |
Acquisition campaign | For those native app users, the specific campaign (e.g. “Christmas Home Run Derby”) |
Acquisition adset | For those native app users, the specific adset (e.g. “East Coast Millennials”) |
Acquisition ad | For those native app users, the specific ad (e.g. “Red Creative”) |
Monthly Cohort | The month in which this user had their first session |
Weekly Cohort | The week in which this user had their first session |
Custom Dimensions are identical in form and function to default Dimensions, except that your app can flexibly populate these. For example, you may configure your app to assign a Custom Dimension called "Logged In" that takes a value of "Yes" when users are logged in and "No" otherwise. You could then view which Events are most popular, splitting by whether the user was logged in versus not.
Custom Dimensions are useful because your app only needs to set the value once, and then that value will be associated with all subsequent Sessions and Events. Localytics provides up to 20 Custom Dimensions, depending on your subscription plan. For details and best practices, see Setting Custom Dimensions (iOS and Android).
Screens
Localytics can also be used to capture the flow of Screens that a user passes through during a Session. Keep in mind, Screen views aren’t individually time-stamped, as their purpose is to power the Flows report. Screens are simply collected as an ordered set.
Screen views do not increase your app's data point consumption, but Screen views cannot be used in same way as tagged Events to power Funnels, Segments, or marketing campaigns.
If you intend to use a Screen view to power anything other than the Flows report, consider additionally tagging the behavior as an Event. For example, a common practice is to have a "Screen Viewed" Event with an Event Attribute called "Screen Name". For details, see Tracking User Flow (iOS and Android) and Tagging Events (iOS and Android) in the Developer Docs.
User Profiles
So far we’ve talked about how users interact with your app—what their behaviors are. Events and Sessions record what a user did. But some information about your users goes beyond their behaviors. This might be a simple trait of the user (like their hometown) or a summary of their behaviors over time (like total sessions). These are better represented as user-level properties. And that’s where Profiles come in. Profiles describe who a user is.
Localytics allows your app to optionally assign an identity to a user, which we call the user's Customer ID. If your app has actively assigned a Customer ID, Localytics refers to this as a "known" Profile. If your app is either not assigning a Customer ID or the user is using the app with an unknown identity (e.g. not logged in), Localytics will assign a random identifier to which you can associate user-level properties.
For details and best practices, see the Profiles Overview.
Session Handling
To track user engagement and retention, Localytics automatically tracks Session data for your app. It’s important to understand that the definition of a Session is flexible. For example, Localytics SDK can intelligently handle when a user navigates in and out of your app if they’re backgrounding and foregrounding. If we reported every foreground as a unique Session, your app’s data would be likely distorted.
To account for this and prevent inflated Session counts, Localytics includes a session timeout interval. The default session timeout interval is 15 seconds. This means that if a user starts a session and the backgrounds the app for more than 15 seconds, the original session will be closed and a new session will initiate if/when the user returns to the app.
Since we automatically track session lifecycle, we can derive session length, session interval, session counts, session trending, and a number of other core metrics for exploration in the Localytics Dashboard.
For more information, check out the developer docs on Session Lifecycle:
And for more information on how developers can customize the session timeout interval, see Manual Integration:
Device and User Identification
In Localtyics analytics reporting, a User is a unique device. The Localytics SDK identifies unique devices by creating a proprietary device ID which is generated using a combination of identifiers found on the device. The resulting unique device ID gets attached to all Event and Session data—and it’s therefore what we count as a User. This ID will stick around through reinstalls—so you don’t have to worry about counting the User multiple times if they delete and reinstall your app.
Keep in mind, Localytics only becomes aware of users when a user opens a version of the app that has Localytics installed. So we won’t be able to detect any users on versions of your app before you installed Localytics.
We consider a user New during the user’s first session and Returning for all subsequent sessions. You can also optionally identify users by assigning them a Customer ID. This allows you to connect observed behavioral data collected by Localytics with a user identity familiar to you.
Keep in mind, collecting this data might be considered Personal Data to your end users. Read more about how to better equip your app to handle privacy in our Privacy section.
Customer IDs can be used to power marketing campaigns, but are not used to count users in analytics reports. For more, see User Profiles.
Location Tracking
The Localytics SDK collects available location data to power the Location report. Keep in mind, granual location data is only available under certain conditions, so some sessions will naturally have no locations assigned.
We give preference to the highest-fidelity location data available. This means GPS latitude-longitude coordinates are considered the highest-fidelity and network country is the lowest.
In order for Localtyics to collect and report on latitude-longitude data, your app must first receive permissions from the user and the operating system. This information must then be configured to hand off to Localytics. For more details, check out the respective developer docs for iOS and Android.
In the absence of lat-long data, Localytics will look for an IP address, which is typically available if users are connected via WiFi. If neither lat-long nor IP address is available, Localytics will report at the country-level using the network country.
A Note About Privacy and Location
Depending on your unique privacy requirements, Location may be considered personal data. This means that consent might be required prior to collecting location data. Localytics expects customers to solicit consent as appropriate to their unique privacy requirements.
Collecting GPS coordinates must be configured and relies on your application obtaining appropriate permissions to access the OS GPS data.
IP addresses are not stored in any Localytics databases, but the location data generated by an IP lookup is, by default, collected and stored. This data includes country, region, state, city/metro if available.
Read more about end-user privacy in our Privacy section.
Analytics Reports and Custom Dashboards
To learn more about understanding the anatomy of an analytics report in Localytics, check out our article.