Today, in the over-crowded app stores it’s difficult to get our apps to stand out and be noticed. We do the best we can to spread the word about our apps using as many different marketing channels are possible. Facebook, Twitter, Pinterest, Instagram, email, as well as paid ads are just a few tools you might use to promote an app.

The problem is that we have limited time and money to dedicate to all of these different app marketing channels. The truth is, some of these are going to be much more effective than others. Some will just be a waste of time.

The key is being able to track and measure how effective each of your different marketing campaigns are. I’m talking about tracking which marketing campaigns are bringing in new users AND tracking what those users are doing after they download your app.

This is where attribution comes in. It lets you see which marketing channel a user came through so you can track the effectiveness of that channel.

In this post I’m going to walk you through what measuring user attribution can do for you, how it works and how you can implement it.

What Is App Attribution?

Attribution is the ability to identify the source through with a mobile app user is acquired, whether that is an ad network like admob, Chartboost, iAd etc. or a free channel like an email campaign, blog post, Tweet or Facebook post.

Knowing which user marketing channels our users come through is about much more than just seeing which channel brought in the most users. It allows us to analyse user behaviour and revenue per marketing channel, giving us greater insight into the true Return On Investment (ROI) of our marketing efforts.

How Does Attribution Work?

I won’t bore you with all of the technical details, but I do want to give you a quick overview of how attribution works on mobile devices.

Unlike web pages, mobile apps don’t support cookies. This means that other methods are needed to track a user from clicking a link or an ad through to installing an app, and then through events within that app.


The most common tracking methods are: 


This is where the mobile device is identified after an ad or link is clicked on. The device is identified using non-personal data such as operating system version, screen resolution, time, date, language and more.

Fingerprinting can be fairly accurate, but only for a short period of time. Non-personal data changes frequently, so the tracking becomes less accurate over time.

As long as a user installs the app within a few hours of clicking on the link or ad, the install can be accurately attributed to that link or ad using this method.


Apple’s IDFA:

In-app advertisements or links are able to use the Apple IDFA (a unique identifier for apple devices) to track conversions from click to install.

The IDFA is a very accurate attribution method and has 100% accuracy with no loss.

The only downside to this method is that it only works for app-to-app attribution. Meaning that only links clicked within apps can use the IDFA for attribution tracking. Web links are unable to use the IDFA, meaning that if a user clicks on a link to install your app from Safari, the IDFA cannot be used.


Google Install Referrer:

Google have their own tracking system that makes life a little easier by including a referrer URL parameter in links back to the Google Play store. That means when you create a link back to your app, you can include a unique ID for that marketing channel and include it in the URL.

The required information is then passed to the Google Analytics for Android SDK. Using Google Analytics you can then monitor user activity based on the acquisition source.


Tracking URL’s:

Some tools, such as Flurry, allow you to create a special URL for tracking attribution. Instead of directing users to your app store link, you use this tracking URL instead.

Tracking URL’s are designed to be seamless and unobtrusive to users. When a tracking URL is clicked, the user passes through the tracking services’ servers before being re-routed to the app store. This all happens in a split second.

Learn Where to Invest Your Time and Money

Unpaid Marketing Campaigns

When most people read ‘ROI’ and ‘marketing’ it’s common to instantly assume that the conversation is about paid advertising. But that isn’t always the case.

Even free app marketing techniques require an investment of your time and effort. That time and effort isn’t free. So if a particular technique isn’t working you want to know about it so you can stop wasting time on it.

By implementing an attribution solution, you can track the ROI for every free app marketing campaign you run, and cut the ones that are ineffective.


Let’s look at an example:

You’ve just launched a new app and you are running a Twitter campaign (series of Tweets), a series of Facebook posts, and writing a series of blog posts to promote the app.

Using an attribution solution, you can see that:

The Tweets are leading to an average of 50 installs each. But each user that is acquired via the Twitter campaign generates approximately $0.10 in revenue.

The Facebook posts, which take more time to write, plus take time to reply to comments, are generating an average of 40 installs per post. And these users are generating an average of $0.35 each in revenue.

And the blog posts, which take the most time, are generating 200 installs per post. Each of these users are generating $0.40 in revenue.

You can see from the example above that not all users are created equal. By using an attribution solution you can see that the Facebook posts are more effective than the Tweets. Each user acquired through a Facebook post is worth 3.5x more than a user acquired through Twitter.

Based on this data you could make a decision to drop the Tweets completely and focus that effort on creating more Facebook posts to attract users. Without an attribution solution in place you would not have this insight.

The same can be applied to the blog posts. In this example they are attracting slightly more valuable users than the Facebook posts ($0.40 vs. $0.35). However if it takes significantly longer to craft the blog posts it might not be worth it.

As you can see, attribution allows you to measure the quality of each user acquisition channel. This is important because often quantity isn’t enough. I’d much prefer 100 users who spend $1 each in my app than 1000 that spend $0 each.

By using attribution you have the data you need to make intelligent decisions about how to best allocate your limited time and effort.

(Note: All of the figures used in this example are purely fictional)

Smarter Mobile Ad Spending

It is even more critical to use an attribution solution if you are running paid user acquisition campaigns.

Every advertising network will give you data that tells you how many installs your campaigns are generating, how much each install costs, the number of impressions, clicks, etc. The problem is that this doesn’t show you the whole picture. It’s part of it, but without knowing the value of each install, how can you make a decision about whether or not the cost is justified?

As I mentioned earlier, not all users are created equal. You need to measure the value of the users you are acquiring through each different acquisition channel if you want the whole picture.

Using an attribution solution is the solution to this problem. Using attribution, you can measure the value of users based on which advertising network they were acquired through.


Here’s an example of how using attribution can completely change your perspective: 

Assume you are running App Install Ads on 2 different mobile ad networks, Ad Network A and Ad Network B.

Ad Network A reports that they have delivered 1000 installs at a cost of $0.50 each.

 Ad Network B reports that they have delivered 1000 installs at a cost of $0.80 each.

At first glance it would appear that Ad Network A is delivering superior performance. This might lead you to make the decision to direct more of your marketing budget towards Ad Network A. Based on this data alone this would appear to be a reasonable decision.

But because you are using an ad attribution solution, you can go into your analytics and see how much each user delivered by each Ad Network is generating. Here is what you find:

Users delivered by Ad Network A are spending an average of $0.40 each.

Users delivered by Ad Network B are spending an average of $1 each.

As you can see, this extra piece of information changes everything. Suddenly we realise that Ad Network B is delivering a much better ROI than Ad Network A. The users delivered by Ad Network B are more expensive, but the quality is significantly higher.

Implementing an Attribution Solution (It’s easier than you think)

Hopefully I’ve convinced you that it’s worth using attribution in your mobile apps. If so, you’re probably wondering how to do it.

The good news is, thanks to a number of service offerings out there it’s easier than you think. In most cases it’s just a matter of implementing an SDK in your app and setting it up properly.

When you are choosing a service to use, it’s important to check which advertising networks they support for attribution tracking. If you know which advertising networks you are going to use, make sure they are supported before signing up for an attribution solution.

Here are a few services that offer a free price tier.

Most services support the tracking of other marketing channels like Tweets, email campaigns, Facebook posts etc. But you should always double check before signing up.

Personally I use Flurry for my app analytics, and they allow you to track a bunch of user acquisition channels for free using tracking URL’s. If you aren’t looking to track attribution for paid ad campaigns and just want to track other methods, I highly recommend giving Flurry a try.


If you’re looking to save time and money when it comes to marketing and user acquisition, you need to start using an attribution tool. This is true regardless of whether you’re using paid or free methods to acquire users.

Without tracking attribution, you aren’t able to understand where you are wasting time and money and where you are spending it effectively.

With so many options out there, many of which are free for indie developers, there really is no reason not to.