I remember the exact moment I closed the AppsFlyer pricing page. My app was making about £400 a month. Their cheapest plan would have eaten half of that. For attribution. For knowing which of my three marketing channels was working.
It felt like buying a lorry to carry a bag of shopping.
The pricing problem nobody talks about
AppsFlyer is built for companies spending serious money on user acquisition. Their Zero plan exists, technically, but it caps at 10,000 installs and gives you limited data. Once you outgrow it, you're looking at several hundred dollars a month minimum. Custom pricing. Sales calls. Annual contracts.
None of that makes sense when you're a solo developer trying to figure out whether your TikTok posts or your Reddit comments are converting better.
The frustrating part is that the question itself is simple. "Did this person come from link A or link B?" That's it. You don't need multi-touch attribution modelling or probabilistic fingerprinting or a 47-page integration guide. You need a tracked link and a webhook.
What AppsFlyer gives you (that you probably don't need)
AppsFlyer is powerful. I'm not going to pretend otherwise. It handles:
- Multi-touch attribution across dozens of ad networks
- Fraud detection and prevention
- Audience segmentation and retargeting
- SKAN campaign management for iOS
- Deep linking with deferred deep links
- Raw data exports and a BI connector
If you're spending £50,000 a month on paid acquisition across Meta, Google, TikTok, and Snap, you need most of that. The fraud detection alone probably pays for itself.
But if you're an indie developer running organic campaigns and maybe a small Apple Search Ads budget? You're paying for a fighter jet when you need a bicycle.
What indie devs actually need
I've talked to a lot of indie developers about this. The conversation usually goes the same way. They want to know three things:
- Which marketing channel is driving purchases (not just installs)
- Whether a specific influencer or campaign was worth it
- How much revenue each channel generated
That's it. They don't need cross-device graphs or probabilistic matching. They're posting on TikTok, sharing links on Reddit, maybe doing a newsletter. They want to know what's working so they can do more of it.
The technical requirement is surprisingly small. Create a unique link per channel or campaign. When someone clicks it, remember where they came from. When they make a purchase, connect the dots.
The free alternatives (and why they fall short)
Before spending anything, most developers try cobbling together free options.
UTM parameters with Google Analytics: Works for web, breaks down completely for app installs. The App Store strips UTM parameters. You can track clicks to your App Store listing but you can't connect those clicks to actual purchases.
Apple's built-in attribution: App Store Connect gives you some data, and Apple Search Ads has its own attribution. But it only covers Apple's own ad platform. It tells you nothing about your TikTok, Instagram, or Reddit traffic.
Firebase/Google Analytics for Firebase: Free, but attribution is limited to Google's ad network by default. You can set up custom campaign tracking, but it's fiddly and still doesn't connect well to in-app purchases from non-Google sources.
Just asking users: "Where did you hear about us?" is the oldest attribution method. It works, sort of. But people forget, lie, and most won't answer at all. And you can't automate it.
Each of these covers a piece of the puzzle. None of them answer the full question: which specific link led to this specific purchase?
What a lightweight alternative looks like
The approach that works for indie scale is simpler than what the enterprise tools do, but it covers the gap that actually matters.
You create tracked links. Each link is tied to a channel, a campaign, or an individual influencer. When someone clicks the link, your attribution tool records the click and redirects them to the App Store. When your payment processor (RevenueCat, Superwall, StoreKit directly) fires a purchase event, the tool matches it back to the original click.
No SDK that adds 3MB to your binary. No 200-line integration guide. No annual contract.
The key difference from enterprise tools is what you give up. You're not doing probabilistic matching for users who saw an ad but didn't click. You're not building audience segments for retargeting. You're not preventing ad fraud.
You're answering one question well: "Which of my links drove this purchase?"
For most indie apps, that one question is worth more than all the probabilistic modelling in the world. Because you can actually act on the answer.
Comparing costs at indie scale
Let's run some real numbers. Say your app gets 500 installs a month and converts 5% of those to paid users. That's 25 purchases a month.
AppsFlyer: Their Zero plan covers you initially, but with limited features. Once you want proper attribution data or exceed their limits, you're looking at $200-500/month.
Adjust: Similar story. Free tier exists but is restricted. Paid plans start in the hundreds.
Branch: Free deep linking, but attribution features are behind their paid tier. And their focus is deep linking, not purchase attribution.
LinkOwl: Charges 5p per attributed purchase. At 25 purchases a month, that's £1.25. Even at 500 purchases a month, it's £25. The tool only costs you money when you're making money.
The pay-per-sale model is the obvious fit for indie scale. Your attribution costs track your revenue, not your ambitions.
When you should actually use AppsFlyer
I'm not saying AppsFlyer is bad. It's excellent at what it does. You should consider it when:
- You're spending more than £5,000/month on paid acquisition
- You're running campaigns across multiple ad networks simultaneously
- Ad fraud is a real concern (high CPI campaigns, especially in gaming)
- You need SKAN conversion value management for iOS campaigns
- Your marketing team has more than two people
If you're at that stage, the cost makes sense relative to your ad spend. You'd be spending 2-5% of your acquisition budget on measurement. That's reasonable.
But if you're below that threshold, and most indie developers are, the enterprise tools are solving problems you don't have while charging prices you can't justify.
Making the switch
If you're currently on AppsFlyer's free tier and it's working for you, there's no rush to change. Free is free.
But if you've hit their limits, or you're about to, and the jump to paid feels steep, the move to a lighter tool is straightforward:
- Set up your alternative attribution (most take under 10 minutes)
- Create tracked links for your active campaigns
- Connect your payment processor via webhook
- Run both tools in parallel for a week to verify data
- Drop the one you don't need
The parallel-run step matters. Attribution data is how you make marketing decisions. You want to verify the numbers match before you rely on them.
The real question
The attribution tool debate comes down to one thing: does the tool match the scale of your business?
AppsFlyer at enterprise scale is a bargain. AppsFlyer at indie scale is a tax on optimism. The best tool is the one that gives you the data you need at a price that doesn't make you wince every month.
For most indie developers, that means something lighter, cheaper, and focused on the one metric that actually matters: which link drove this purchase.