Need evidence that data structure matters? Consider a simple example with an exercise app: You want to know the number of sessions from a given day and, of those, how many contained a completed exercise. You need a platform like Localytics with the concept of a session natively built in. Many tools don't offer this, so you can't answer simple questions about sessions and can't power downstream marketing campaigns based on session history.
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.
Session Opens & Session Closes
Every time a user launches an application, Localytics creates a timestamped Session Open record identifying that a Session has started and every time a Session is completed, Localytics creates a separate timestamped Session Closed record marking the same Session as closed. This allows Localytics to report on the quantity of Sessions, as well as the duration of Sessions and interval of time elapsing between Sessions. Moreover, Localytics keeps track of how many sessions have been observed on a given device, which allows Localytics to report on retention and distinguish between new and returning users.
Localytics captures these Session Open and Session Close records automatically. As noted in the Session handling section below, Localytics has logic to intelligently handle scenarios where users background and foreground the app. Specifically, Localytics will not mark a session as closed until either the app is hard-closed or it remains consistently backgrounded for longer than the session timeout interval (set to 15 seconds by default, but adjustable). This allows Localytics to treat multiple uses of the app that are separated by only brief backgrounding as a single session for reporting purposes.
Events, Event Attributes & Lifetime Value
Events are timestamped records that capture important actions typically performed by the user while using the application. These can optionally have additional connected information called Event Attributes. Events may include behaviors like changing settings, logging in, or reading an article. Event Attributes may include additional context such as whether a particular setting was modified, the type of login, or an article's name. Every Event can have up to 50 Attributes unique to that Event.
Some Events have monetary value (or other measure of value) to your business. You can measure value-related Events through a special Event Attribute called Lifetime Value. 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.
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 developers using so-called Event tags. When a user interacts with your app, the user effectively travels through the app's code base and Event tags are like digital tripwires that can be located by your developers. When a user travels through a particular part of the code that triggers an Event tripwire, Localytics will create a timestamped record. Your developer assigns a name to this timestamped record and can optionally associate Event-specific Attributes to provide additional context and can also optionally 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).
Dimensions & Custom Dimensions
If you read the sub-sections above, you know that Localytics creates a timestamped record for every Session Open, Session Close, and Event. If you think of these timestamped records as rows, we also enrich these with additional columns of data to provide added context which enhances downstream reporting and marketing. We call these additional columns Dimensions.
Similar to how Event Attributes are properties of an Event, Dimensions are properties of a Session. Because Dimensions are attached to every Session Open, Session Close, and Event record - again, like columns connected to every row - 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.
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 unless or until you change it. Localytics provides up to 20 Custom Dimensions, depending on your subscription plan. For details and best practices, see Setting Custom Dimensions.
Default Dimensions include details about the user, activity, and device:
|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|
|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|
Localytics can also be used to capture the flow of Screens that a user passes through during a Session, which can be visualized in the Flows report. Screen views are unique in that they are not individually timestamped and their only purpose is to power the Flows report. Localytics keeps track of the order in which tagged screens have been viewed and then attaches the sequence of Screen views to the Session Close record. As such, Screen view data can be thought of as an additional column associated with the Session Close record. This means that tagged Screen views do not increase your app's data point consumption, but it also means that Screen views cannot be used in same way as tagged Events to power Funnels, Segments, or marketing campaigns.
Because mobile apps typically offer immersive experiences with multiple paths for the user to accomplish an action, Screen view order is usually less meaningful for native mobile apps than for webpages. 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 and Tagging Events in the Developer Docs.
The data elements outlined above can all be described as behavioral in the sense that they either capture, or are connected to, a specific timestamped behavior in real-time. Events and Sessions record what a user did. But some information about your users isn't well-represented within the behavioral model, e.g. because the user information doesn't have a timestamp associated with it (like "Hometown") or because the user information summarizes behaviors over time (like "Total Sessions"). These are better represented as user-level properties. To support this, Localytics has the concept of user Profiles. 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. Your app can be configured to associate Profile Attributes with Customer IDs. Profile Attributes can be used in combination with behavioral data to create and customize marketing campaigns. They are not available for analytics reporting, since analytics reports are powered by the timestamped behavioral data captured by Localytics.
For details and best practices, see Identifying Users and User Profiles.
Localytics automatically tracks user engagement and retention by tracking Sessions in your app. The definition of a "Session" is flexible. By default, the Localytics SDK includes logic to intelligently handle scenarios where the user navigates in and out of the app by backgrounding and foregrounding. If Localytics reported a unique session every time the app was backgrounded and subsequently foregrounded, the number of sessions would probably exceed your expectations by a wide margin. This is because each foreground of the app would be treated as a discrete session, even if the user only briefly backgrounded the app then returned.
To account for this and prevent inflated Session counts, Localytics includes what is called a session timeout interval. The default session timeout interval is 15 seconds, which means that if a user starts a session and then 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. Due to this automatic session lifecycle tracking, Localytics is able to derive session length, session interval, session counts, session trending, and a number of other core metrics for exploration in the Localytics Dashboard.
For additional details, see developer documentation for Session Lifecycle (iOS) (Android) (Web). For details on how your developers can customize the session timeout interval, see Alternative Session Management (iOS) (Android).
Device & user identification
In Localytics analytics reports, 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 is what we use to count users. This ID is designed to persist through reinstalls. For example, if a user uses the app, uninstalls the app, and reinstalls the app, Localytics will by design treat that as a single user. Localytics only becomes aware of users when a user opens a version of the app that has Localytics installed. In other words, if a user downloads the app but has not yet opened it, Localytics cannot yet be aware of that user.
Localytics considers a user as "New" during the user's first session and "Returning" for all subsequent sessions. Localytics achieves this by using the sophisticated session-tracking logic (described above) which allows Localytics to keep track of how many sessions have occurred on a given device.
Localytics additionally enables your app to 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. Customer IDs can be used to power marketing campaigns, but are not used to count users in analytics reports. For more, see User Profiles in the Messaging section.
The Localytics SDK collects available location data to power the Location report. Importantly, granular location data is only available under certain conditions, so some sessions will naturally have no location assigned. Localytics gives preference to the highest-fidelity location data available, with latitude-longitude being the highest-fidelity and network country the lowest.
In order for Localytics to collect and report on latitude-longitude data, your app first must receive permission to collect this from the user and operating system, and then must be configured to hand this off to Localytics. For more details, see Tracking Location. In the absence of lat-long data, Localytics will look for a high-confidence IP address, which are 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.
Places & geofences
The Localytics Places feature can report analytics and trigger messaging based on real-world geographic behavior. Unlike Location reports, which depend on session data, Places triggers fire in the background even if your app isn't currently running. Places can be individually configured to report Events when a user enters or exits the geofence — or can be used for Places campaign triggering only.
In order for Localytics to trigger and report on geofence data, your app first must receive permission to collect background location from the user and operating system, and then must be configured to hand this off to Localytics. For more details, see the Places developer documentation (iOS and Android). Places is available in Localytics SDK 4.0.1 on iOS and 4.0.0 on Android.
Places must not be confused with Location tracking as they are two separate features of Localytics. As mentioned above, Location reports depend on session data where Places occurs in the background of an app. See the table below for a comparison:
|When is data captured?||When the user opens the app||On geofence enter/exit whether the app is open or not|
|Where does it work?||Anywhere in the world||Within the app's defined geofences only|
|How precise is it?||Down to the DMA (market area) level||Down to individual geofence accuracy, as low as 100m|
|Can you send real-time messages?||Historical targeting and audiences only||Send real-time messages as they enter or exit a geofence|
A geofence is a virtual fence placed around a real-world location. Geofences can be small (less than 100m in radius), large (many miles in radius), or anything in between. Most geofences are placed around specific locations, such as an individual store. Geofences are circular in shape and are defined by a center point (latitude/longitude) and a radius (in meters). Localytics can manage up to 10,000 active geofences simultaneously per app.
Localytics can trigger realtime campaigns on geofence enter/exit, and can also collect automatically-tagged Events. Events can be tagged at enter - captured when the user comes inside the boundaries of the geofence; or exit - captured after the user leaves the geofence along with the dwell time (length of visit).To illustrate:
The Places management screen can be found by clicking on the Places icon in the left-hand Marketing navigation. Here you can edit your previously uploaded geofences, upload more geofences, as well as navigate to analytics on specific geofences already collecting Event data.
To create a single geofence, click the green plus icon on the Places management screen and specify your lat/long or simply drop a pin on the map where you want the center of your geofence to be. Then, adjust the radius of the geofence via the slider which is represented by a red circle on the map around your dropped pin. Once honed in, provide the remaining information: Identifier, Description, Labels, and Analytics preferences. Definitions of these fields can be found in the table below.
Geofences can also be managed via a CSV (comma-separated) file to allow for easy bulk upload of data. To get started, you can download an example CSV file from the Upload screen and use it as a template to get started. When finding lat/long for multiple locations we suggest using Google Maps. Instructions for finding these coordinates can be found in our help article. For Excel, Google Sheets, and most other spreadsheet tools can read and write to CSV format. Here’s a breakdown of the information needed on the CSV:
|Identifier||A unique ID (such as a store number).|
|Description||The address or name of the location (i.e. store address)|
|Latitude and Longitude||The geographic coordinates for the center of the geofence, formatted as decimal degrees (e.g. 42.359690).|
|Radius||The geofence’s radius in meters.|
|Send Events||Specifies if an event tag should fire when the user enters and/or exits the geofence. This controls whether analytics events are collected for this geofence, but realtime Places campaigns can be triggered regardless of this setting.|
|Labels (optional)||Used to group geofences together. Labels make it fast and easy to add multiple geofences to a campaign, and are not visible to users.|
|Event Attributes (optional)||Add a column for each custom event attribute you want to add when the event tag fires for this geofence. Custom attribute names must first be defined from the dashboard (click the gear icon on the Upload page). These might include things like the type of location, store ownership (franchise/corporate), or any other information you may want to split analytics or target messaging on later.|
|Active (optional)||Whether or not the geofence should be monitored by devices. This value is true by default and when set to false will not count toward your geofence limit.|
All data in the Localytics dashboard comes from a user's device to Localytics and goes through our sophisticated data processing pipeline. Understanding how data transmission and processing work will help you interpret your data and appreciate how network connectivity affects reporting.
Localytics is instrumented into your app to collect data when certain things happen. As noted above, the Localytics SDK automatically detects Session Start and Session Close and your developers insert Event tags to make Localytics aware when certain behaviors occur in the app. Initially, these records are stored locally on a user’s device. The device periodically uploads data to Localytics servers based on instructions encoded into your app. For each of these, Localytics creates a timestamped record.
If your app uses the default setup, Localytics includes automatic instructions to upload data at the end of every Session. If your app includes custom setup, your developers are responsible for inserting upload commands to instruct Localytics when to transmit the data to our servers. Once data is transmitted, it proceeds through our data processing pipeline and is generally reported in the Localytics Dashboard within minutes (we conservatively suggest 10 minutes).
The notable exception to this rule is if behaviors occur while a device is offline, or if the upload can't complete due to idiosyncratic conditions like network speed or a user force-closing the app. Localytics handles these scenarios gracefully. The Localytics SDK tracks offline behaviors and stores records locally on the device, then uploads the data at the next available opportunity (generally the next time the user opens the app while connected). Each tracked behavior is timestamped according to when it originally occurred (not when the data was uploaded). This means that you may observe historical counts increase slightly as "offline-generated" data is received. This is not only the intended behavior, but is a sophisticated processing feature that not all platforms offer.
Anatomy of an analytics report
There are a number of tools that can help you customize, structure, and get the most value from Localytics reports. The table below summarizes these. We recommend reading the previous section on Key Concepts to ensure the terminology is clear and understandable.
|Chart||Reports include a primary chart to visualize your data. In most, you can set the Y-axis to report on Users, Sessions, or Event Occurrences and you can set the X-axis to include any Dimension or Custom Dimension.|
|Filter||You can always limit reports to include a subset of data by applying a filter. You can filter using Dimensions, Custom Dimensions, or Segments. If viewing an Event-powered report, you can also filter using Event Attributes.|
|Split||Just as you can filter data, you can apply a split which visually groups the results by the Dimension or Custom Dimension that has been selected.|
|Date Range||As noted in the section above, all Session and Event data is timestamped. The date range selector in the top right allows you to limit the report to include records for a given date range. The maximum date range that can be visualized is 396 days.|
|Summary Statistics||In addition to visualizing the primary chart, most reports include summary statistics below that summarize data over the full date range.|
|App Selector||Reports in Localytics are app-specific. The app selector in the upper-left hand corner allows you to navigate between different apps.|
|Saving & Exporting||Reports can be exported to CSV or PDF and can also be added to a Custom Dashboard or set up to email to you on a daily, weekly, or monthly basis.|
|Report Annotations||If you are viewing a report with date on the X-axis, you can navigate below the dates where you will be able to click an annotation bubble. You can use annotations to provide details that inform your reporting (e.g. "Version 3 released").|
The Usage report provides a summary of Users or Sessions observed over a specified time period. For more details on how Localytics counts Users and measures Sessions, see Device & User Identification and Session Handling. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
Consider using the Usage report to:
- Keep a pulse on your app's active user base and growth metrics. Consider using the "Export" feature to add to a Custom Dashboard or send daily, weekly, or monthly emails.
- Split by New vs. Returning, by Country, or by Acquisition Source to quickly gain insights on the makeup of your user base.
- Split by Monthly Cohort to visualize adoption and retention patterns over time.
The Engagement report provides session-level detail over a specified time period. For more details on how Localytics measures Sessions, see Session Handling. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
Consider using the Engagement report to:
- Monitor the average and median duration of sessions in your app.
- Split by App Version or OS Version to watch for trends or anomalies in session durations.
The Events report provides a summary of Event behavior observed over a specified time period. For more details on how Localytics captures Events, see Events, Event Attributes & Lifetime Value. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project. To rename, hide, or disable Events, consult our section of documentation on Events found in Settings & Billing.
The Event groups functionality can be used to combine a set of Events to see aggregate analytics of behavioral data from those Events. To illustrate, please see this Help article explainng how to use this feature.
Consider using the Events report to:
- Know which behaviors are most popular in your app. Apply splits and filters to look for meaningful trends or outliers using any Event Attribute, Dimension or Custom Dimension.
- Measure and monitor key performance indicators (KPIs). Identify Events that constitute KPIs and consider using the "Export" feature to add to a Custom Dashboard or send daily, weekly, or monthly emails.
The Retention report summarizes the number of users that were first observed using the app on a given day/week/month and, of those, how many returned exactly X days/weeks/months later. For more details on how Localytics identifies and counts users, see Device & User Identification. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
Every row in the Retention report includes users whose first Localytics-observed session occurred during the specific date range (day/week/month) indicated in that row. Percentages to the right indicate the share of those users that returned exactly X days/weeks/months later. For example, if 100 users were acquired on January 1 and 40 returned on January 2, Day 2 retention would be 40%. If 30 of the original 100 users returned on January 3, Day 3 retention would be 30%. The denominator in this example will always be 100 and the numerator will be the number of users that returned during the date range specified in the corresponding column.
Localytics also allows you to view Event-based retention. This is similar to Session-based retention, but the rows are organized to include users that first performed the Event-of-interest on a given day/week/month rather than those that were first acquired on that day/week/month. The percentages to the right indicate, of those users, the share that returned on the specified date to perform the second Event-of-interest.
Consider using the Retention report to:
- Evaluate retention across different versions of your app (by applying a filter) to measure whether product enhancements drive improved engagement. Add multiple Retention reports to a single Custom Dashboard so you can view them side by side.
- Evaluate which acquisition sources draw the most loyal users. Again, consider adding these to a Custom Dashboard so you can view them side by side.
- Look for patterns or anomalies in the data. Do you acquire more loyal users on weekends or weekdays? Do holidays draw particularly loyal users?
- Use Event-based retention to determine how long users are taking to move through conversion funnels. For example, from "Onboarding Start" to "Onboarding Complete".
The Funnels report allows you to measure how users advance through an ordered collection of Events. For more details on how Localytics captures Events, see Events, Event Attributes & Lifetime Value. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
The building blocks for Funnels are Events. That is, every step in a Funnel is represented by an Event and each step can optionally be further focused by selecting specific Event Attributes, Dimensions, or Custom Dimensions. The default view reports the percent of users that converted from one step to the next over the selected date range. Funnels are retroactive and respect the same filters and date ranges as other screens, so it's possible to experiment with many different funnels and see changes over time. Localytics follows a few rules when computing funnels:
|Chronology||To complete a step, a user has to perform that step's event after performing all the previous steps. If a funnel is defined as A > B > C, then a user must perform A then B then C.|
|Sequencing||Any number of events may occur in between funnel steps. Therefore, if a funnel is defined as A > B > C and a user performs A > B > D > E > F > C, then the user will be counted as successfully completing the Funnel.|
|Session Boundaries||Funnels span session boundaries, so a registration funnel which takes three sessions over four days to complete is valid.|
|Date Range||All steps in the funnel must occur within the date range specified.|
Next, the Step A to Step B Details chart divides users into two groups: blue users, who successfully completed the current step in the Funnel, and red users, who failed to complete this step and therefore abandoned the Funnel. This defaults to reporting by Monthly Cohort, but is adjustable. Finally, the Converted Users and Lost Users charts identify what actions precede conversion and abandonment, which can help you identify the behaviors that lead to conversion and those that lead to abandonment.
Consider using the Funnels report to:
- Measure and optimize onboarding flows by including one Event for each step in the process. Examine which steps cause the greatest abandonment and evaluate which behaviors precede abandonment to identify areas for improvement.
- Measure and optimize conversion processes, like purchases, by evaluating how users move from exploration (e.g. "Product Viewed") to completion (e.g. "Purchase Completed").
- Split the Step A to Step B Details chart by acquisition source, product, or country to understand which sources have the highest conversion rate, which products are most attractive, and which countries are most successful.
The Flows report shows the most common patterns of screen views in your app. For more details on how Localytics tracks and reports on screen views, see Screens. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
Consider using the Flows report to:
- Look for instances where a screen has a large number of sessions that end abruptly, indicating friction in key flows.
- Look for loops in common paths. If users have to move between two screens many times, invest in making the process faster.
Maps provide a visualization of where your users are located when they are using the app. For more details on how Localytics captures Location, see Location Tracking. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
By default, the Location report is based on IP address, which is generally only available if a user is connected via WiFi. If your app has permission from the user and the operating system to collect GPS data and your app is configured to communicate this data to Localytics (e.g. see instruction for iOS and Android), then Locations can optionally be visualized using GPS data. To enable this feature please submit a Support Ticket to request access.
Consider using the Location report to:
- Review top cities and countries.
- Toggle between the Sessions and Users view to get a richer overall picture of use by location.
- Click the map to focus on a particular area.
Segments is a utility that can be used to create behavioral cohorts of users which can then be used as a filter in other reports. For more details on how Localytics captures Events, see Events, Event Attributes & Lifetime Value. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
Segments can be created using up to two Event conditions. The first condition must be defined as a positive, i.e. users who did complete Event X. The second condition can be defined as either a positive or negative, but either way will be evaluated sequentially relative to the first Event, i.e. users who then did complete Event Y or then did not complete Event Y.
Consider using Segments to:
- Define a Segment of power users and apply this to the Events report to surface the most common behaviors amongst successful users.
- Define a Segment of users that abandon activation or conversion process to surface the behaviors associated with unsuccessful users.
The data in the LTV report is communicated to Localytics via Event tags with values attached. For more details on how Localytics captures Events, see Events, Event Attributes & Lifetime Value. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
The LTV report provides various metrics. These are defined as follows.
|Average Revenue per User||Computed as revenue / unique users, where revenue is the sum of all value increases observed over the selected date range and unique users is the count of unique users that performed an Event during the selected date range.|
|Average Revenue per Paying User||Computed as revenue / paying users, where revenue is the sum of all value increases observed over the selected date range and paying users is the count of unique users that performed an Event with an associated value increase during the selected date range.|
|Cumulative Revenue per User||Computed as total cumulative revenue / unique users, where total cumulative revenue is the sum of lifetime revenue through the end of the selected date range for users active during the selected date range and unique users is the count of unique users that performed an Event during the selected date range.|
|Cumulative Revenue per Paying User||Computed as total cumulative revenue / paying users, where total cumulative revenue is the sum of lifetime revenue through the end of the selected date range for users active during the selected date range and paying users is the count of unique users that performed an Event with an associated value increase during the selected date range.|
|Paid Users||The count of unique users that performed an Event with an associated value increase during the selected date range|
|Revenue||The sum of all value increases observed over the selected date range|
|Revenue Per Transaction||Computed as revenue / transactions, where revenue is the sum of all value increases observed over the selected date range and transactions is the count of Events that occurred during the selected date range with a value attached.|
|Transactions||The count of Events that occurred during the selected date range with a value attached.|
|Transactions Per Paying User||Computed as transactions / paying users, where transaction is the count of Events that occurred during the selected date range with a value attached and paying users is the count of unique users that performed an Event with an associated value increase during the selected date range.|
- Split LTV by Country, Acquisition Source, or other Dimensions to identify populations of Users that drive the most value. Consider adding these to a Custom Dashboard so you can view them side by side.
- Evaluate patterns and timing of in-app purchases to understand which days or times drive the most transactions and most revenue.
- Keep track of key performance indicators related to revenue, such as how much revenue was generated yesterday, last week, or last month. Consider using the "Save" feature to schedule as a daily, weekly, or monthly email.
Custom Dashboards are fully customizable, snapshot views of your app's activity. You can easily add multiple charts from multiple apps to a Custom Dashboard, then re-order and re-size as desired. You can make Custom Dashboards visible to only you, or to specific team members, or to your entire organization. For more on how to get the most out of your dashboards, consider one of our Localytics Projects.
Adding charts to a Custom Dashboard is easy. Simply click Save next to any chart and select Add to Dashboard.
Consider using Custom Dashboards to:
- Create different dashboards for each business function. For example, create a dashboard for Growth & Acquisition, Product, or Engineering.
- Create cross-app dashboards that combine charts from different apps to allow you to quickly see metrics across your app portfolio.
The Welcome Screen tells you how your app is performing at-a-glance. Everytime you log in to Localytics, we will present key performance metrics you should be paying attention to. We’ll be adding more detail about key campaigns and KPIs over the coming months. For each day, we currently report:
|Welcome Screen Metric||Definition|
|Daily Active Users||Number of users who had a session|
|New Users||Number of users who had a session for the first time|
|Churned Users||Number of users who have gone 30 consective days without a session|
|Reactivated Users||Number of users who had a session after being inactive for 30 days or longer|
Query Builder can be used to generate custom reports. For more details on how Localytics captures data, see Key Concepts and to more deeply undertand the Query API, see Query API. If you're uncertain about the data you're seeing, consider reviewing help articles published in our Answers portal. If you're exploring ways to drive value with Localytics, consider trying a Localytics Project.
Query Builder allows you to specify the Metrics you want to report on, the Dimensions you want to split by and the Date Range and Apps over which you want to query. For example, you may want to report on User (Metric) by Day and Acquisition Source (Dimensions), from January 1 to January 31 (Date Range) for all apps (Apps).
Consider using Query Builder to:
- Generate custom reports that query across multiple apps or query for multiple metrics in a single report. For example, query for all Users and Sessions across all apps.
- Generate custom reports that split by more than one Dimension. For example, Users by Country and Acquisition Source.
Every Event, Session Open, and Session Close captured by Localytics is timestamped and recorded as a unique data point with additional fields for Dimensions, Custom Dimensions, and Event Attributes. If you have an Enterprise subscription, or pay for Raw Data access, this Raw Data is available for export. For more details on how Localytics collects this data, see Key Concepts. For access to this data, you should submit a Support Ticket and be prepared to share your 12-digit AWS Account ID. If you already have paid for access, follow the instructions to access your S3 bucket. For more information on field descriptions and the Localytics data format, check out our doc on log exports.
Every Event and Session that is recorded by Localytics is timestamped and written to as an individual record. This data is written in JSON format and is published hourly as log files to a dedicated bucket in Amazon S3. (Note that the data in the Dashboard is updated more frequently, nearly in real-time). Due to the nature of mobile applications and the on-device caching of app data, the log file for a given hour may contain data from previous hours or days. For more, see Data Processing.
One common approach is to export data from Amazon S3 into a service like Amazon Redshift which allows traditional SQL-like queries. Similar services like Hadoop, Hive, or Spark may also be used. Localytics provides read access to the Raw Data.
Consider using Raw Data to:
- Evaluate user-level behaviors or execute custom queries
- Connect to business intelligence tools and perform cross-app reporting
- Unify or integrate Localytics data with other company data