If you are committed to creating great iOS apps, a key component is a set of well-configured analytics tools. Good analytics tools help you understand how your users are using your app, where their pain points are, and how many users are active.

The mobile analytics landscape is staggeringly complex. It seems like there is a new mobile tool coming out almost every week. Many of them do similar things, but have different feature sets and pricing structures. As an indie developer, which tool should you use? That was the exact question I ran into when we started working on Core15.

What types of third party tools do you actually need?

I consider the categories listed below to be the optimal starting point. Each should help you answer very specific questions, from user behavior to technical performance.

Event-based tracking
These tools track user behavior in your app. They help you figure out how often a user completes a certain action, or a sequence of actions. As you familiarize yourself with these tools, actions performed in a specific order (a funnel) will become increasingly important. For Core15, the funnel looks like the following:

Core15 Sample Funnel

Sample data from the early Core15 beta

Why this funnel? It’s what we believe to be the optimal path a user would take through the app. If a user goes through the entire funnel and with some regularity, that user is active and engaged. When considering working on new features vs iterating on existing user experience, you should place major emphasis on how the work will impact the funnel.

Seeing big drop-offs on a specific step in the funnel? Talk to your users and figure out why.

Crash & exception reporting
This should be a no-brainer. Being able to see why your app crashes or throws exceptions is the bare minimum to ensuring a smooth user experience.

Performance tracking
How long do your external API calls take? How does performance differ across different devices, operating system versions, and carriers?

User communication
This is a bit less common, but important. Having an open line of communication, through which you can talk to your users and understand their pain points, is key to understanding how to improve your app. It’s also how a user can give you feedback directly, instead of writing an angry App Store review.

Survey is another effective form of user communication. Instead of a conversation, a quick survey can help you answer a set of targeted questions.

Evaluation criteria

When selecting analytics tools, I use the following criteria for evaluation:

Capabilities
What features does the product offer? Do these features fit my needs? Are they overkill? Overly robust products will often come with matching price tags.

Library quality
How does their library work? Is it open sourced? Has it received new commits in the past three months? How would I integrate the library into my app (CocoaPods, Carthage, etc.)?

API design (ease of use)
How well-designed is the API? Are there 10 lines of setup code before I can start?

Analytics dashboard
Once the data comes in, how easy is it to start exploring the data? Do the visualizations make sense? Can I access the raw data as well as the extracted insights?

Pricing
As an indie, it’s important to try out the product before paying. I prefer freemium products that are free up until a threshold (number of users, events, etc.). I like such pricing models because they allow me to evaluate the product for as long as I need, especially if I don’t have a launch date in mind. I can be certain that the product is free until I’ve reached a certain scale, at which point I’ll be more than willing to pay.

Customer support
It’s rare that the integration process is 100% seamless. More often than not, I need some sort of technical support. How responsive is their support team? How are their attitudes toward answering my questions. This is important because I’ll more than likely need their help again when my app reaches scale. I can’t afford suboptimal support when real users are depending on my app.

What we chose for Core15

Given the above criteria, we chose the following tools. Note that all of these tools offer CocoaPods integrations as well as freemium pricing models.

General
Segment
A common interface for many analytics products. Data flows into Segment, which is then distributed to other tools.

Usage, engagement, retention
Mixpanel
Popular event-based tracking tool that provides funnel and cohort analysis. It also offers native push notification and A/B testing capatilities.

Answers from Crashlytics
Another layer of event-based reporting. Provides metrics like Daily/Monthly active users.

iTunes Connect Analytics
Every app gets it for free. In addition to general usage data, you can also see App Store metrics, such as page view and sales figures.

Competing solutions
Heap, Localytics, Taplytics, Amplitude, Amazon Mobile Analytics, Countly.

Crash & exception reporting
Crashlytics
Popular crash reporting tool from Twitter. It also offers a beta distribution solution.

XCode
Hooray! XCode provides crash reporting natively. Take advantage of it!

Rollbar
Error reporting tool. Captures exceptions and stack traces. Sends out alerts for errors.

Competing solutions
Sentry, Bugsnag, Airbrake, New Relic, Parse, Instabug.

User communication
SupportKit
SupportKit provides a user communication channel that mimicks the Messages app. It provides a personal touch that makes talking with the user feel light and fun.

Competing solutions
AppTentive, Intercom.

Performance tracking
New Relic
An industry leader on performance tracking. You can see API call response times and general performance data by carrier, operating system, device, etc.


What do you think? Do you take a different approach? I’d love to hear from you! Either comment below or tweet me @feifanw.

Sign up for "Building the Right Mobile App"
A six-part email course on building mobile apps your users are happy to pay for

comments powered by Disqus