Mobile apps have transformed the standard norms of online business, information consumption, community engagement and online entertainment. Amidst the frenzied pace of mobile platform adoption by the businesses, the underlying need for capturing the right mobile metrics in real time cannot be sidelined. With mobile apps taking center stage in the business strategy, a slew of mobile measurement tools have arrived to assist the marketers – including the much improved mobile measurement capability of Google Analytics.


 Mobile App measurement: The basics

Planning is key to the success of any measurement strategy and the same holds true for the mobile apps. A definitive understanding of the major KPIs, their associated metrics and the measurement methodology is indispensable. The starting block for this measurement exercise would include the following…

  1. Make a list of the app screens and the events associated with these screens
  2. In the source code, the triggers for the listed screen views and the events should be identified – Activity.onStart() and Activity.onStop() methods
  3. For the events, the triggers would be Input event listeners – e.g. onClick, onLongClick, onTouch
  4. With the above information, we can have the ‘short code snippets’ to send the data to our database
  5. The database can be a custom mobile analytic service or they can be the off-the-shelf analytics services like Google Analytics, OmnitureKissmetrics..etc.


Implementing Google Analytics: An example

Here we will navigate the route required for a simple Google Analytics implementation of an Android app. To start with, we can take 2 paths to reach our destination…Transmit data into GA from a mobile app…Both of these methods requires the inclusion of a SDK library from Google.


[1] Using Google Analytics SDK (GA-SDK)

[2] Using Google Tag Manager (GTM-SDK)


Let’s list down the major differences between the two mobile app measurement approaches…


[i] Integrating Google Analytics SDK (GA – SDK): The following steps are required for measuring the mobile app data through GA SDK integration….


  • Include the new Google Analytics Services SDK (Android, iOS) in your app. This new unified SDK includes both Google Tag Manager and Google Analytics functionality while sharing a common framework.
  • Update AndroidManifest.xml
  • Add EasyTracker methods
  • Create your analytics.xml file


 [ii] Integrating Google Tag Manager (GTM – SDK) for mobile apps:

  • Include the new Google Analytics Services SDK (Android, iOS) in your app. This new unified SDK includes both Google Tag Manager and Google Analytics functionality while sharing a common framework.
  • GTM acts as a middleware between the mobile application and Google Analytics
  • GTM needs to be integrated into the app – GTM integration requires the creation of a GTM account and creation of a default container
  • The mobile app pushes every single user interaction to the data layer. The data layer is then evaluated based on the predefined macros and tags are fired based on the rules.
  • GTM’s simple web-based interface can be used to write rules and determine when various tags should be fired


 [iii] Implementation differences between GTM-SDK and GA-SDK: A few differences that needs to be taken care of when utilizing either of the methods are…

  • the code snippets of EasyTracker should be replaced by the DataLayer.push()
  • the UA-ID is replaced by GTM-CONTAINER_ID
  • the UA-ID is specified in the Tag Manager Web Console

For existing users of GTM, there is not going to be any major learning curve if they wish to measure the mobile app data. The style tag templates, Rules and Macros that is already being used is also available for mobile apps.


 GTM and Mobile App Measurement – Other benefits

Google Tag Manager for mobile provides a seamless and native support for Adwords Conversion Tracking, Adwords Remarketing and Universal Analytics tags for Mobile apps. Additionally, GTM also supports custom and 3rd party tracking events using the custom tag. GTM currently supports the following tags…

  • Google Mobile App Analytics
  • DoubleClick Remarketing
  • DoubleClick Floodlight
  • Custom Function Call

Value Collection Macro – With this, the development team can now create server-side configurations and use them to build highly configurable apps.


Google Tag Manager – Creating a container for mobile app

A container needs to be created for every single mobile app – and every major version of the app should have its own container. The naming convention of the container should be such that it reflects the right app and version. Eg: Speechtherapy2014_v3. The following simple steps leads to the creation of the container.

  1. In Google Tag Manager, select an account. The Containers page appears.
  2. On the Containers page, click New Container.
  3. Enter a container name and select “Mobile Apps” under Where to Use Container.
  4. Select your app’s platform (Android or iOS) and your desired time zone.
  5. Click Save (or Create Account and Container if you are creating this container as a part of creating an account.)


What we can measure with mobile app analytics?

Considering the very early days of mobile app measurement (in contrast to the web-based metrics), the reporting ecosystem is still evolving and will continue to get refined in the coming days. As of now, 3 sets of mobile app reports are available for the marketers…

  1. Acquisition reports: User metrics such as downloads and new users
  2. Behavior / Engagement reports: metrics such as retention, crashes and conversions
  3. Outcome reports: metrics such as app sales and in-app purchases

The most meaningful analysis of a data set is dependent upon the choice of right metrics. Being an evolving environment, mobile apps require a much deeper dive while utilizing the most relevant metrics – metrics which talk to your app’s functionality.

The mobile app metrics that should be present as the building blocks for the primary analysis are…

[1] USER: Behavioral analysis of mobile users requires the use of this simple metrics – helping us to segment our audience, understand engagement and track specific customer behavior.

[2] SESSION LENGTH: This metrics helps us segment the most engaged users – measured as the period of time between the opening and closing of the app – or when the app session expires after 15 seconds.

[3] SESSION INTERVAL: This is time gap between the user’s first session and the following one – measuring the frequency of your user’s engagement with your app.

[4] TIME IN APP: This metrics provides a measure of the perceived value of your app in the eyes of the users – measuring the length of time a user was in the app.

[5] ACQUISITIONS: This metrics calculates the number of users who downloaded and installed your app – through various sources and mediums – organic search, paid campaigns, social media campaigns,     in-app referrals…

[6] SCREEN FLOWS: These are like the exit pages – and measure exits by screens – allowing us to understand the user behavior on the screen and also their exit pattern.

[7] RETENTION: This metric measure the percentage of users who return to your app based on the date of their visit – indispensable for cohort analysis.

[8] LTV – LIFETIME VALUE: measure of the customer’s value in his lifetime – it can be represented as the average monthly value or the value per customer.

[9] NEW vs RETURNING: The percentage of users that have previously opened your app, and the percentage of users that are first time users

[10] LOYALTY: The number of sessions that are the nth occurrence in your app.

[11] RECENCY: The amount of time that passes between the close of one session and the opening of another.


Tracking a mobile app: Screens vs. Events

Understanding the on-screen customer behavior delivers the true insight into the user’s engagement with your app. The Screen report provides a relative idea about the performance of each screen in the app – delivering the screen usage metrics like the number of Screen ViewsUnique Screen Views, and the Screen flow – % Exit from a Screen.

On the other hand, events represent a set of data related to the user’s interaction with the interactive component of your app – click of a button, interactions during a game. Events don’t require a new screen to load. Setting up event tracking has a moderate level of complexity and should ideally involve the development team. The Events Overview report provides a summary of the event performance. The Screens report shows which screens host the most popular events.


[i] Example of an iOS App Event sent to Google analytics

GAIDictionaryBuilder.createEventWithCategory:action:label:value: and send the hit, as in this example:

May return nil if a tracker has not already been initialized with a property
// ID.
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];

[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@”ui_action”     // Event category (required)

// Event action (required)

// Event label
value:nil] build]];

// Event value


[ii] Example of an Android App Event sent to Google analytics

To send an event to Google Analytics, use EventBuilder and send the hit, as in this example:

// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
// Build and send an Event.
t.send(new HitBuilders.EventBuilder()


[iii] Example of an iOS App Event sent to Google analytics

Screens in mobile app analytics is equivalent to a pageview in web analytics. A screen view consists of a single string field that will be used as the screen name in your Google Analytics reports:

Field NameTracker Field    Type   Required     Description
Screen Name   kGAIScreenNameNSString    Yes     Name of an application screen.

Screen view data is used primarily in the following standard Google Analytics reports:

  • Screens report
  • Engagement Flow

Manual Screen Measurement

To manually send a screen view, set the screen field values on the tracker, then send the hit:

// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];

// This screen name value will remain set on the tracker and sent with
// hits until it is set to a new value or to nil.
[tracker set:kGAIScreenName
value:@”Home Screen”];

// Previous V3 SDK versions
// [tracker send:[[GAIDictionaryBuilder createAppView] build]];

// New SDK versions
[tracker send:[[GAIDictionaryBuilder createScreenView] build]];


PS: The Google Analytics SDK for iOS may SLOW DOWN THE EVENTS if a high volume of send calls are made within a short period of time.

The only prerequisite for implementing the mobile app analytics that you should be prepared for a multi-step set up and you should have your development team by your side.


Reach out to us if you have any queries:


SKYPE: copperbridgemedia