The Site Is Not Enough: A Guide to Mobile App Analytics
How can you ensure that your mobile app becomes popular and brings in money?
Well, you could probably try republishing the app on a new moon and chanting: "Blessed moon, rise and shine, all the customers be mine, money come, money flow, grow, my ROI, grow grow grow!". Sadly, we can’t guarantee this would work. However, what we’re 100% sure of is that mobile app analytics is a total must.
How do people find your app? How many times was it installed? How often do users run the app and what do they use it for? How many of the goals you’ve set for your app have been achieved?
Mobile analytics helps answer these questions, and a whole lot of others. Once you’ve got the answers, you’ll be able to make your app more effective: improve user experience, engagement and retention, reduce acquisition costs, etc.
In this article, we’ll explore the benefits Google Analytics provides for mobile app analytics. We’ll take a closer look at what to start with, what to consider in implementing mobile analytics, what’s the difference between mobile app analytics and website analytics, and a number of other frequently asked questions.
Why use Google Analytics
Before exploring how Google Analytics works for mobile apps, let’s first take a look at the benefits it has.
- First, Google Analytics helps track user interactions with both your website and mobile app. This is particularly important for Ecommerce businesses which use an app as another sales channel.
- Second, Google Analytics is the unrivalled leader among web analytics tools (according to the W3Techs statistics). This means that there are more guides, tutorials, and ready-to-use solutions, and more specialists you can turn to.
- Third, the tool is free.
- Fourth, it’s easy to use: Google Analytics has a number of native data onboarding integrations, including Google Adwords and Google AdSense. The paid version, Google Analytics 360, also features integrations with DoubleClick products. The data from these services (cost data, RPM Revenue per 1000 impressions , number of app downloads, etc.) can be automatically imported to Google Analytics.
What to start with
Before setting up Google Analytics, decide what key performance indicators and metrics you’re going to track. These can be, for example, number of installs, retention rate, daily active users, average revenue per user, session length, etc.
There are three ways to set up mobile app tracking:
- Using Google Analytics Software Development Kit (SDK) for Android or iOS.
- Using Google Tag Manager. First, implement Google Tag Manager SDK for Android or iOS, then add Google Analytics tags.
- Using Google Tag Manager and Firebase Analytics (a free solution for mobile app analytics). This method is convenient if you already have Firebase Analytics installed. You’ll only have to integrate Google Tag Manager and Firebase, and configure a new container for your mobile app. More information on how to do it can be found in the developer’s help for Android and iOS.
On a side note, we’re already working on an article about Firebase Analytics. Have a gander at our blog soon!
More information on how to set up mobile app tracking can be found in Google Analytics Help.
Whatever your methods and means for collecting data may be, there are universal recommendations on how to get more accurate information. For example, if you have multiple apps, it’s better to collect data from each app in a separate property, so that the data doesn’t get all jumbled. Different versions of one app, for example, iOS and Android apps, are more convenient to track in one property with multiple views for each OS.
Do you need to create separate properties for an app and a website? If you’re not using the app to sell products, then yes, yes you do. If you have an Ecommerce app, then it’s not necessary to use a separate property. There’s a possibility that your customers use multiple devices on their journey to a purchase. Create a special reporting view to track all user interactions with your website and app using User ID A unique user ID that allows you to track user actions across different devices . Please note that User-ID views only display data about authorized users. To see website data and app data separately, create two different reporting views.
There are data collection limits for both websites and mobile apps. For example, not more than 10 million hits Any unique user interaction with an app: a screen view, a button press, a transaction, etc. per month for one property and up to 500 hits per session. More information about quotas and limitations can be found in the developer’s guide for Google Analytics.
What to track and what reports to analyze
1. Track installs
Tracking app installs helps you better understand how your customers find your app. You’ll be able to discover channels which perform best at generating traffic and channels which should be optimized. Want to learn how to set up tracking for mobile app installs? Enter your email, and we’ll send a detailed guide straight to your inbox.
The Acquisition reports in Google Analytics will provide you with useful information, including, but not limited to:
- How many new users have installed your app.
- What ad placements and campaigns generate traffic.
- Which operating systems and devices your customers prefer.
- What is the share of loyal users.
If you promote your app using Google AdWords, don’t forget to link up your Google Analytics and AdWords accounts. This will enable you to see how many people have downloaded your app after clicking an AdWords ad, along with in-app actions after the installation. See our slick Google Analytics setup tutorial to learn how to link the accounts, and much more.
2. Analyze information about your customers
Get to know your customers better. Who they are, how old they are, what they like, your users, how often they use your application, how long their sessions last for. This, and other data, will help you optimize your app and target your ads.
For example, the "Overview" report in the "Audience" group of reports will help you get a general idea about how many people use your app, identify new and loyal users. You’ll be able to see, for example, how many screen views your app receives per session, and the average session duration.
In addition, from the "Behavior" group of reports, you can receive the following information:
- The number of unique users who opened your app at least once within a given period of time.
- The revenue from each user for a certain period of time. This data will help compare the total customer value generated through different channels, and understand which channels perform better.
- All the basic metrics (number of views, sessions, average session duration, etc.) for different versions of the app. By comparing them, you’ll be able to find the best performing version.
- Information about cohort behavior. Cohorts are segments of your users who share a common factor. For example, you can group your users by the first time they visited the application or made a purchase. With this data, you’ll be able to interact with your customers more efficiently. Let’s say you’ve noticed that a group of users didn’t make repeat purchases within a month after the first transaction. In this case, you can send a push message with a promo offer.
- Demographic information about your customers (age, gender, etc.), their location, the content they interact with most often. This information will help you target your ads more accurately. Let’s say you’ve noticed that most of your buyers are women aged 25 to 34. It would make sense to target your marketing and optimization efforts towards this group.
3. Analyze how users interact with your app
The "Behavior" group of reports will provide you with useful information to help improve user experience and fix technical problems. You’ll be able to answer such questions as:
- How do users interact with my app? You’ll see how many screens were viewed in total and how many per session; how much time, on average, it takes to view a screen, what percentage of exits from a screen your app has, etc. This will help find and fix bottlenecks in your sales funnel. For example, if a user exits your app after spending 1-5 seconds on the first screen, the content they see might not be interesting for them.
- In what order do users interact with app screens? Answering this question will help you optimize the funnel. If you expect your customer to take specific steps before making a purchase, and they go "astray" from the intended path, it might be worth making changes to your app’s content.
- Are there any technical errors, exceptions or crashes in my app? To track such errors as network connection timeouts or empty search queries, use the guides for Android and iOS
- What is the load speed for screens and certain elements of my app (game levels, search results, etc.)? Take for example, you’re selling plane tickets. Each time a user searches for flights to a certain destination, they have to wait for some time to see the results. With the reported data, you’ll be able to understand if this latency affects the conversion rates, for how long your users agree to wait, which destinations it takes the longest to find tickets for. To send user timing data to Google Analytics, you’ll need to implement a few lines of code (see more information in the help center articles for Android and iOS).
4. Track events
An event is essentially any user interaction with app elements (button presses, ad clicks, downloads, etc.) that can be tracked independently from a page or screen load. More information about event components can be found in this article, and guides on event tracking can be found on these pages for Android and iOS.
Event reports belong to the "Behavior" group of reports. Here, you’ll be able to see a lot of useful information, including but not limited to: the total number of events, their value, the number of unique events, the screens users interact with most often, the screens where users most often submit their email addresses, the features users don’t interact with (meaning there’s no need in them).
In the example below, you can see that users typically view product pages and product catalogs, and are least likely to add products to their wish list.
5. Set up Ecommerce tracking
If you use your app to sell products, you’ll be able to collect information about transactions, number of purchases, average cost, etc. You’ll be able to map the entire customer journey, from the first visit to a purchase, discover bottlenecks and optimize your sales funnel.
With Ecommerce reports in the Conversions tab, you’ll be able to see:
- How many users viewed a certain product and left, how many users have added the product to the cart, how many users have made a purchase. You’ll be able to see detailed data about new and returning buyers, their geographical location, etc., and segment your users for further analysis and remarketing. For example, you can create a segment of users who have left the app after adding a product to shopping cart, and then use it as a remarketing audience with your AdWords campaigns.
- What products are the most popular, and how many items of each product were sold. The number of unique purchases. The revenue from each transaction. These and other metrics will help you learn a lot about your products. For example, if your customers often add a certain black mobile phone to the cart, but rarely buy it, you might consider adding white models of the same phone to your store. If a certain product frequently runs out of stock, you probably should contact your vendor more often.
- Detailed information about each transaction: the list of ordered products, taxes, shipping costs, etc.
- The paths your customers take before making a purchase. You decide which steps are the most important for you and determine the main stages of the purchase process. They can be, for example, visiting a product page, adding a product to the cart, filling out and submitting a checkout form, and completing a purchase.
How to set up Ecommerce tracking
Navigate to Admin → View → Ecommerce Settings and enable the following options:
To see data about the shopping activities of your customers within the sales funnel, enable Enhanced Ecommerce reporting.
To start collecting Ecommerce data and send it to Google Analytics, you’ll need to add a tracking code to your app. Use Google Analytics SDK to collect Ecommerce, and don’t hesitate to contact a fellow developer should you have need of any help.
6. Set up Goals
A Goal is any in-app user action that contributes to the success of your business. These include making purchases, clicking in-app ads, interacting with the app for a certain period of time, or completing game levels. In other words, Goals help track conversions, and conversions are actions that you’ve defined as valuable to your business. Without this information, evaluating the performance of your app and marketing campaigns becomes a difficult challenge.
There are 4 types of Goals:
- Destination: Instead of web pages, mobile apps have screens. This type of goal is a certain screen view, for example, entering a "Thank you" screen.
- The monetary value of goals, if it was set up while setting a goal.
- The screens on which the most goals were achieved.
- Which screens were viewed on a user’s way to a goal. To see more information about the Goal Flow report, see Google Analytics Help.
- How many sessions on average, it takes a user to make a conversion.
Let’s take a look at how you can set a Goal to track how many users press the "Add to Cart" button in an app. Navigate to the Admin tab in Google Analytics, and select Goals in the View settings. Click +New Goal and select Custom. Set up goal type as an Event.
In the Goal details, set up the conditions under which a conversion will be counted. The first two conditions, "Category" and "Action", are mandatory. Give these conditions distinct names to see what kind of goal you’re tracking. Take for example, you can use an "Add to Cart" name for a Condition, and a "Press" name for the Action.
You can also add the "Label" and "Value" conditions at your discretion. Labels can be used to provide additional information about the event, such as names of the buttons or videos.
Each user interaction with a mobile app can have its own monetary value. These values should be calculated individually. For example, let’s assume that an average transaction value is $1,000. At the same time, purchases are made by only 30% of those who add a product to the cart. This means you can assign a $300 value to the "Add to Cart" button press goal.
When the Goal is set up, you’ll need to add the event code for the button you want to track. Don’t hesitate to ask for help from a developer.
More information about how to set up Goals can be found here: Google Analytics Help.
What are the differences between collecting mobile app and website data with Google Analytics?
First: mobile apps have screens, not pages, meaning that the ga:pageview metric is irrelevant for them. If you need to calculate the number of screens viewed by users, specify the type of hit as screenview in the hitType.
Second: mobile apps don’t collect cookie files for device identification. Instead, a unique device ID is generated upon the first launch of an app. Unlike cookies, it doesn’t change, unless the app is reinstalled or system data is cleaned. In this case, the ID will be generated again.
Third: hit data from mobile apps is sent to Google Analytics as packages, to save traffic and battery power. The interval for sending data is 30 minutes for Android and 2 minutes for iOS apps. This interval can be changed programmatically, by setting up the time you need in the app code.
The code for iOS looks as follows:
// Set the dispatch interval in seconds.
// 2 minutes (120 seconds) is the default value.
[GAI sharedInstance].dispatchInterval = 120;
The code for Android looks the following:
// Set the dispatch period in seconds.
On devices with Google Play Services installed, hits are sent every 2 minutes, and each time the app goes to the background. This interval can’t be changed.
Hits appear in reports by 4 AM of the following day in the time zone set for the Google Analytics view. For example, if a hit is received at 11:59 PM, it will appear in reports within 4 hours, by 3:59 AM of the following day. On the other hand, if a hit is queued for dispatch at 00:01, the data will become available in the report within 28 hours. More information about dispatching data can be found in the developer’s help for iOS and Android.
How to define sessions
By default, both in-app and on-site sessions are limited to 30 minutes. You can set up a timeout for your app in the "background", after which new hits will be associated with a new session. To do this, navigate to the Admin tab, "select Tracking Info" and then "Session Settings":
If users interact with your app frequently, but for a short time (eg. messenger apps), we recommend setting a short interval between sessions — 5 to 15 minutes. If your app is intended for longer time interactions (eg. online stores or news media apps), leave the timeout as set by default.
Why use Google Tag Manager to collect data in Google Analytics?
Let’s say you’re not using Google Tag Manager and make a change to your app tracking code. In order for the changes to take effect, you will need to rebuild and resubmit your application. This is a time consuming task, and it also takes some time (in some cases up to a week) to review and update the app in the marketplace. Moreover, many users disable auto-update, so the changes simply won’t work.
With Google Tag Manager, you can implement and change tracking tags in your mobile app without having to rebuild and resubmit the app. By default, a container in Google Tag Manager can be refreshed every 12 hours. You can reduce or increase this interval by following the instructions for Android or iOS.
Any other questions?
Email us at: firstname.lastname@example.org.