Google took web analytics by storm, but up until recently, their mobile offering was always a bit clunky. For our mobile client work we’ve historically recommended alternative solutions to Google Analytics – i.e. Localytics (we built their SDK) or Flurry, which have provided great mobile analytics services for a number of years. That being said, it’s worth taking a look at the new kid on the block: enter the new Google Analytics for Mobile! The new Google Analytics is simple to integrate into your apps, and the online interface is astounding. If that’s not enough, Google also provides easy exporting and APIs to access your report data. And best of all, it’s free. Here are our top 5 reasons for why you should consider Google Analytics in your own apps!
#1 – Easy to integrate
Integrating the new SDK is extremely easy. On Android, simply add a couple permissions, a simple XML file with a few settings, and call a single method for each event. On iOS, set a few settings in your application delegate, and call a method for each event. Tagging events, screens, or other basic events are really basic single lines of code, such as:
EasyTracker.getInstance().sendEvent("ui_action", "button_press", "play_button", opt_value);
EasyTracker.getInstance().sendTiming(loadTime, "resources", "high_scores", null);
This is all done without any networking or threading code. The Google Analytics SDK takes care of lots of things for you, including sending your events in the background. The SDK will batch up events and send them all at once to save power. Don’t have a network connection? Google will take care of that too by storing your events and sending them when a connection becomes available.
As a bonus Google Analytics also marks all these events with additional data as well such as device model, OS version, app version, user location, screen resolution, and network provider. Other tags are also similarly as easy, requiring only one method call.
#2 – Awesome Dashboards and Reports
Right out of the box, Google Analytics includes an assortment of really powerful dashboards and reports. The reports and dashboard will show things like active users, new users, session lengths, and all sorts of other metrics. Most of these views are interactive, and you can view graphs in various different ways. All of the reports are filterable by things like OS, sessions with transactions, or device model. Most interestingly, you can run different metrics against each other, such as looking at screens per session versus app version to see if your changes are positively effecting your users.
#3 – Engagement Flow
One of the most powerful features of Google Analytics is their Engagement Flow report. This report will
demonstrate how users proceed through your app by displaying individual screens and where users navigate next. This also includes how many people leave the app from each individual screen (the red tails), so you can see where you are losing users. By default this screen will start by categorizing users by what operating system they are using, but it’s fully customizable so you can change it to be app version, screen resolution, OS version, or whatever is most relevant for you, and hovering over items will display even more details. Similarly to the other reports, you can also filter this report by device, returning users, sessions with transactions, etc.
If screen views aren’t enough, this report also supports events and all their tags, so you can see actions your users are taking. In addition, you can even look at both simultaneously. Obviously, this screen can quickly become pretty complex. By right clicking on individual nodes, you can hone in on traffic running through one individual node, or highlight the paths through that particular node to help you see the data better.
#4 – Exporting and Alerts
The number detailed graphs provided are nearly limitless, but if that’s not enough, you can export the raw data to Excel, Google Docs, or CSV. Each report can also be exported to a PDF so you can share the views and graphs with someone without giving them total access to your dashboards. You can also have Google Analytics email a copies of the PDF daily, weekly, monthly, or quarterly. This can be handy if you don’t want to have to remember to go check a particular report every day or if you’d like to send someone else a copy. If this still isn’t enough for you, Google also provides an API for you to access the data (see the documentation).
You can also add custom alerts to notify you when certain events occur. For example, you could set up alerts by email or text to let you know when your traffic drops or increases by a certain amount, or even by a certain percent. Like most of the other options, there are tons of metrics and filters available.
#5 – It’s Free
Google Analytics provides an extremely generous free plan, making it great for independent developers or small companies. There are only a couple limits:
For one, you’re limited to 10 million hits per month, where a hits is defined as pretty much any action you tag, such as screen views, events, timings, etc. Since there are so many features, if you try to track every single thing, you could be using a good chunk of hits for each user. If you have tons of users, this could add up fast. If you still think this might be an issue, you can look into setting up sampling (Android iOS), which basically allows you to send some fraction of the data via a single line of code.
Secondly, other than the real-time view, the rest of your data with be “24+ hours” old. Some devices may hang on to tags when the network is unavailable, and post them back later. Google then has to do some processing, probably to get these tags lined up with all the other tracking info and get them into your reports. From what we’ve seen, this still seems to happen just about 24 hours later. Getting such detailed data a day late probably isn’t such a big deal though. It’s also worth noting that their real-time view will show you live data on screen views, app versions, location, and device distribution, and goes up to 30 minutes back.
All in all, these aren’t major setbacks, and with the amazing amount of features and data that you’re getting, it’s an incredible offering. Of course, there are tons of other reasons why you should be using Google Analytics, but we can only describe so much. Here are a few other quick notes on some other cool features:
Automatic crash reporting: Simply set a boolean in XML or programmatically and Google Analytics will track crashes and exceptions (and their descriptions), which you can look at compared to other metrics such as app version.
App Timings: This allows developers to tag lengths of time in a single line of code. You can label timings with a few different tags. There’s also a report set up for this so you can see average timings for each event and compare it to other metrics. This could be used to measure load times for different pages or data, or something like how long it takes a users to respond to a certain dialog. Combined with other Google Analytics features, this could even be used to do some usability testing with end users.
Social Interactions: This allows you to tag when users take certain social interactions, such as +1’ing or Tweeting items in your app, and view these actions on graphs.
Acquisitions and Referrals: If you have links that may open your app via URLs, you can embed extra parameters, and send those to the tracker to keep track of what is causing users to open your app. On Android, you can also embed parameters into your “Get it on the Play Store” links. If the user installs via this link, your application can receive these parameters to tell what advertisements or other links are generating your installs.
Simple Measurement Protocol: If mobile and the web aren’t your only cup of tea, there are simple HTTP endpoints you can hit to log things manually. You could also use this in conjunction with say, your website printing coupons, to track if the user actually uses it. Just embed the client ID into your coupon barcode and have the register read it out and send a post.
Multiple Trackers – Say you want to bind your app to two different Google Analytics projects – maybe one to track actions that apply to all your apps and one for each app specifically. Google Analytics will easily support multiple trackers bound to different tracking IDs, you just need to keep a reference to each.