·7 min read·Sam Wild

Mobile attribution explained for indie developers

Attribution tells you which marketing activity led to a purchase in your app. Here's what that actually means when you're a solo developer with a real budget.

I spent three months marketing my first app before I understood attribution. During that time I ran Instagram posts, wrote Reddit threads, tried Apple Search Ads, and pestered friends into sharing links. Downloads went up. Some people bought the premium upgrade. I had no idea which of those activities caused what.

That's the problem attribution solves. It connects a purchase back to the thing that brought the user to your app. Not "roughly" or "probably" — actually connects them, with data.

What attribution means in practice

When someone taps a link, downloads your app, and later buys something, attribution is the system that ties those events together. It answers: this person came from your Tuesday Instagram post, or from that Reddit comment, or from the influencer you paid £50.

Without it, you're working blind. You might have 300 downloads this week and genuinely not know if they came from the TikTok you spent four hours on or the App Store search listing you forgot to update.

The problem gets worse as you do more marketing. With one channel, you can kind of guess. With five channels running at once, guessing is useless. You'll keep spending time on things that don't work and accidentally stop doing things that do.

How it works (the short version)

Attribution systems give you tracked links. Each link has a unique identifier baked into it. When a user taps one, the system records a click — timestamped, with the link ID attached.

Later, when that user opens your app and makes a purchase, the SDK running in your app fires an event. The attribution system matches the purchase event back to the original click. That's the attribution.

There are different methods for matching. The simplest is deterministic: the same device that clicked the link is the one that made the purchase. Fingerprinting (using IP address, device model, screen size) is fuzzier and less reliable since iOS 14 clamped down on tracking. Most indie-scale tools use deterministic matching because it's accurate and doesn't need access to Apple's ad framework.

What enterprise tools do (and why you probably don't need it)

AppsFlyer, Adjust, and Branch are the big names. They handle attribution for apps spending hundreds of thousands on ads every month. Their feature lists include things like fraud detection, incrementality testing, audience segmentation, postback configuration for ad networks, and SKAdNetwork support.

If you're running a £200/month ad budget and making £500/month in revenue, you don't need fraud detection. You don't need incrementality testing. You don't need postback configuration for 40 ad networks because you're using two channels.

What you need is: I sent traffic from three places, which one led to actual purchases?

Enterprise tools will sell you that answer for £500-1,000/month. The maths doesn't work at indie scale. A tool that costs more than your marketing budget defeats the purpose.

What indie developers actually need

Here's the realistic list:

Tracked links. One per channel, campaign, or influencer. You should be able to create them in under a minute.

Click tracking. Knowing how many people tapped each link, so you can see drop-off between clicks and installs.

Purchase attribution. The actual connection between a tracked link and a real in-app purchase. This is the bit that matters.

A dashboard. Somewhere to see which links drove how many purchases and how much revenue. Doesn't need to be fancy. Needs to be correct.

That's it. You don't need multi-touch attribution models, cohort analysis, or a data warehouse integration. You need to know which links make you money.

The iOS 14 question

When Apple introduced App Tracking Transparency in iOS 14.5, it broke a lot of attribution. The old method — tracking users across apps using an advertising identifier — required explicit permission, and most users said no.

This mostly affected ad networks that relied on cross-app tracking. If you're an indie developer doing organic marketing (social posts, influencer partnerships, content marketing), the impact is much smaller. Link-based attribution doesn't need the advertising identifier. A user clicks your link, downloads your app, makes a purchase — that chain doesn't require cross-app tracking permission.

SKAdNetwork is Apple's privacy-safe alternative for ad attribution, but it's designed for paid ad campaigns through ad networks. If you're not running programmatic ads, you can mostly ignore it.

A practical example

Say you're marketing a fitness app. You've got three things running:

  1. A TikTok account where you post workout clips with a link in bio
  2. A fitness influencer who agreed to mention your app for £100
  3. Reddit posts in r/fitness with your app link

You create three tracked links — one for TikTok bio, one for the influencer, one for Reddit. Each link redirects to the App Store but records a click first.

After two weeks, your dashboard shows:

  • TikTok bio link: 340 clicks, 12 purchases (£36 revenue)
  • Influencer link: 89 clicks, 8 purchases (£24 revenue)
  • Reddit link: 156 clicks, 2 purchases (£6 revenue)

Now you know something useful. The influencer had fewer clicks but a higher conversion rate — those users were more qualified. Reddit drove decent traffic but almost nobody bought. TikTok is your volume play.

Without attribution, all you'd see is "42 purchases this fortnight" and no way to connect them to anything.

What to look for in an attribution tool

If you're shopping for one, here's what matters at indie scale:

Pricing that matches your revenue. A flat £500/month fee makes no sense if you're earning £300. Look for usage-based pricing that only costs you money when you're actually making sales.

Simple SDK integration. You should be able to add it in an afternoon, not a week. Bonus if it works with whatever you built your app in — React Native, Expo, SwiftUI, whatever.

RevenueCat or Superwall support. If you're using either of these for subscriptions or paywalls, your attribution tool should be able to receive purchase events from them automatically. Setting up webhooks once beats writing custom purchase tracking code.

No minimum commitment. You're experimenting. You might change tools. Monthly contracts or no contracts at all.

Getting started without overthinking it

The temptation is to research attribution tools for two weeks and then do nothing. Here's the simpler path:

  1. Pick a tool that doesn't charge you upfront
  2. Create one tracked link per marketing channel you're using
  3. Replace your App Store links with the tracked versions
  4. Wait until you have a couple of weeks of data
  5. Look at what's working, stop what isn't

You don't need perfect attribution on day one. You need any attribution, because right now you probably have none, and knowing roughly where your purchases come from is infinitely better than guessing.

The bar is low. Most indie developers I've spoken to are making marketing decisions based on download counts (which don't tell you about purchases), gut feelings, or whatever the last podcast they listened to suggested. Just having tracked links puts you ahead of most of them.

Where LinkOwl fits

LinkOwl was built for this exact situation. You create tracked links, add the SDK (Swift or React Native), and connect RevenueCat or Superwall if you use them. It costs 5p per attributed purchase — nothing if nobody buys. No monthly fee, no minimum spend.

It won't give you incrementality testing or fraud detection. It will tell you which links are making you money, which is the thing you actually need to know.

Track your marketing links with LinkOwl

5p per sale, no subscription. Know exactly which post, influencer, or campaign drove each purchase.

Start tracking free →

Related articles

← Back to all articles