You’ve been working on your new app for months. You have created your beta build and send the app out to your army of beta testers. Now that you have people playing your app how do you know how they are interacting with it? You could spend money and do focus group testing – gather a bunch of people at one place and actually look over their shoulder while they play. Seems kind of intrusive to me, but you need to do something to get feedback. Analytics is where you can get that data. With a few simple lines of code you can see how people are interacting with your app.
Localytics (www.localytics.com / @localytics on twitter) is a service for providing mobile analytics. They have APIs for Blackberry, Windows Phone 7, Android, and of course iOS. Localytics provides three levels of accounts – a Free Community account, a Premium account (currently $95 / month / app), and an Enterprise account ($895 / month for all apps). I’ve been using Localytics for just about a year now using the Free Community account and have been satisfied with the data I’m getting. They offer a 30-day free trial of the Premium account so you can try out the more advanced tracking data.
Pro Ttip – turn on your free 30-day trial when your app launches so you can get the extra data around your product introduction.
The staff at Localytics have provided an awesome iOS integration which they call their “Ten Minute Implementation Instructions“. It’s a quick 12 step process and there is no real value in repeating their installation guide here.
By doing nothing else, you will now be able to see stats appear in Localytics – even when you are running your app in the iOS simulator. You’ll see how many users you are getting today (new versus returning), what devices are running your apps, what OS versions are running your app, what versions of your app people are running, where your customers are, etc. This data can be powerful, but where Localytics really shines is event tracking. Adding an event is as simple as inserting the following line of code
[[LocalyticsSession sharedLocalyticsSession] tagEvent:@"Level 1 Cleared"];
By changing the value of the string on tagEvent, you can track multiple events – when a level is cleared, when a particular screen is accessed, or when one of your apps feature is accessed. There is no limit on the number of tagEvents that your app can use. I choose to err on the side of more data, rather than less.
Now that you are collecting data what are you going to do with it? During Beta testing you can use the data to make tweaks to the design of your app / game levels based on how your beta testers are interacting with it. Once the app has gone live, the data can help shape the direction your app updates take.
Remember this is just data; you are still going to have to make some guesses about the data you are getting. Say your users are never going to a particular screen or utilizing a particular feature. Is this because the feature is unimportant, or is it because you haven’t explained the importance of the feature. If you are using a framework like iNotify you can add a pop up that points out that little used feature. If you don’t see a bump in usage of that feature, then maybe it really isn’t that important to your users.
There’s one little caveat to this analytics data. The number of new users does not correlate one to one with your sales. So don’t use it for sales tracking – that’s what your iTunes Connect reports are for. Of course you can just blame the inconsistencies as piracy, but that does not explain 100% of the differences. Why is that? There are people in the world that have iPads and iPhones. People can use the app you just sold them on both devices so one sale now reports as two new users in your analytics data. People also upgrade their phones too so when they transfer their purchases to a new iDevice that counts as a new user to Localytics.