What Is Install Tracking and Why Every App Needs It
Install tracking connects each app download to the link that drove it. Here's what it is, how it works, and why you're flying blind without it.
TL;DR
- Install tracking connects each app download to the specific link, campaign, or creator that drove it.
- Why App Store Connect and Google Play Console aren't enough: They show total installs and country-level data, but not which link or campaign drove each install.
- How modern install tracking works without IDFA: On Android, the Install Referrer API can pass the click ID through Google Play. On iOS, privacy-preserving signal matching works best on recent click-to-install pairs.
- What you can do with it: See which channels drive installs and revenue, calculate LTV by acquisition source, and pay creators per tracked install via Stripe Connect.
What install tracking actually means
Install tracking is simple: it tells you which link drove each app install.
You share a link on Twitter. Someone taps it, downloads your app, and starts using it. Install tracking connects that download back to the specific link they clicked. Without it, you know someone installed your app, but not where they came from.
App Store Connect and Google Play Console tell you total installs per day. They might tell you which country the installs came from. But they don't tell you which specific link, post, or campaign drove each install. That's what install tracking solves.
Why you need it
If you promote your app in more than one place — and you almost certainly do — you have a visibility problem.
You might share your app in your Twitter bio, a YouTube video description, a Reddit comment, an email newsletter, and a blog post. Some of these drive installs. Some don't. Without tracking, you can't tell which is which.
Here's what that looks like in practice:
| Scenario | Without tracking | With tracking |
|---|---|---|
| You post a link on Reddit | You see a spike in installs but can't confirm the source | You see 47 installs came from the Reddit link |
| A creator makes a video about your app | You guess it helped based on timing | You see the creator's link drove 312 installs and $840 in revenue |
| You run an email campaign | You know open rates and click rates, but not installs | You see 89 installs from the email link, with a 14% click-to-install rate |
| You add a link to your blog | No data | You see 23 installs/month from blog visitors |
| You test two different landing pages | No way to compare | Link A drove 2x more installs than Link B |
How it works at a high level
Install tracking works in three steps: click, install, match.
Step 1: Click
A user taps your tracking link. The tracking platform logs the click. The user is then redirected to the App Store or Google Play (depending on their device -- see how single-link detection works).
Step 2: Install
The user installs your app and opens it for the first time. When the app launches, the tracking SDK (a small library added to your app) sends an install event to the tracking platform's server.
Step 3: Match
The tracking platform matches the install event back to the original click. It does this by comparing device signals from the install event against recent clicks to find a match. No device identifier like IDFA or GAID is needed. No ATT prompt is required. The matching uses privacy-preserving signals that together identify a click-install pair.
The shorter the time between click and install, the more confident the match.
What you can track
Once installs are matched to links, you can measure everything downstream.
Clicks per link. How many people tapped each link. This tells you which channels generate the most interest. Installs per link. How many of those clicks turned into actual downloads. This is the metric that matters most. Click-to-install rate. The conversion rate from click to install. A low rate might mean your store listing needs work, or that the audience from that channel isn't a good fit. Revenue per link. If you connect a payment provider (RevenueCat, Stripe, Superwall, Adapty), you can see how much revenue each link generates. This is the full picture — not just "did they install?" but "did they pay?" Geographic breakdown. Where your installs are coming from, broken down by country and link. Device breakdown. iOS vs Android installs per link. Useful if your app has different pricing or features per platform.Who needs install tracking
The short answer: anyone who shares links to their app.
Indie developers. You're wearing every hat. You need to know which of your marketing efforts are actually working so you can focus your limited time on what drives results. Small studios. You have multiple apps and multiple channels. Install tracking gives you the data to allocate budget and effort efficiently. Developers working with creators. If a YouTuber or TikToker is promoting your app, you need to know exactly how many installs and how much revenue they drove. Not a rough estimate based on timing — actual numbers. See how to track installs from creators for more detail. Game developers. Game installs come from YouTube videos, Twitch streams, Reddit threads, and Discord servers. Tracking each source separately tells you where your players are coming from. We cover game-specific tracking in a separate guide. Anyone running campaigns. Email blasts, social media posts, paid creator partnerships, blog posts, podcast mentions. If you're spending time or money driving installs, you need to know what's working.What happens without install tracking
Without tracking, you default to guesswork and correlation.
You post a link on Reddit at 2pm. Installs go up at 3pm. Was it the Reddit post? Probably. But maybe your app was also featured in a newsletter that went out at 2:30pm. Or maybe someone shared your app organically. You don't know.
This gets worse as you scale. When you're sharing links in five or ten places, correlation breaks down completely. Spikes in installs could come from any combination of sources.
Some developers try to work around this with indirect methods:
| Method | What it tells you | What it misses |
|---|---|---|
| App Store Connect / Google Play Console | Total installs per day, by country | Source of each install |
| UTM parameters on a website | Which link drove a website visit | Whether the visitor actually installed the app |
| Asking users "How did you hear about us?" | Self-reported source | Inaccurate, low response rate, can't track revenue |
| Timing correlation | "Installs spiked after I posted on Reddit" | Could be coincidence, can't quantify |
| Coupon codes | Which code was redeemed | Only works for paid apps or IAP, adds friction |
Install tracking without device identifiers
Historically, install tracking relied on the IDFA (Identifier for Advertisers) on iOS and GAID (Google Advertising ID) on Android. These are unique device identifiers that make matching trivial: if the same IDFA clicked a link and then installed the app, it's the same user.
Apple's App Tracking Transparency (ATT) framework, introduced in iOS 14.5, changed everything. Users now have to explicitly opt in to tracking via IDFA. Opt-in rates are low — around 25% on average.
This broke the old model for most developers. If 75% of your users don't grant tracking permission, you lose visibility into 75% of your installs.
Modern install tracking doesn't need IDFA or GAID. Privacy-preserving device signals are used to match clicks to installs without any advertising identifier. No ATT prompt needed. No user consent dialog. The SDK is small and lightweight.
This is the approach Instally uses. The SDK is under 50KB, doesn't request IDFA, doesn't trigger the ATT prompt, and matches installs to clicks with high accuracy.
Adding install tracking to your app
The technical setup is straightforward. You add a small SDK to your app that reports install events back to the tracking platform.
Swift example:
import Instally
@main
struct MyApp: App {
init() {
Instally.configure(appId: "YOUR_APP_ID", apiKey: "your-app-key")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Kotlin example:
import io.instally.sdk.Instally
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
Instally.configure(this, "your-app-key")
}
}
That's the minimum setup. When the app launches for the first time, the SDK sends an install event. Instally matches it to the original click and you see the data in your dashboard.
For revenue tracking, you connect your payment provider (RevenueCat, Stripe, etc.) and the platform automatically associates purchases with the install, and therefore with the original tracking link.
For platform-specific setup guides, see tracking installs in iOS, Android, or Flutter.
FAQ
How accurate is install tracking without IDFA?
Very accurate for organic and link-driven installs, which is what most indie developers need. The matching works best when there's a short time between click and install (under 24 hours), which covers the vast majority of cases. Accuracy decreases for installs that happen days after the initial click, or when many users share the same network (corporate networks, university Wi-Fi).
Does install tracking work for TestFlight or internal builds?
Yes. The SDK reports install events regardless of how the app was distributed. You can use tracking links during beta testing to see which testers came from which channels.
Do I need to show a consent dialog?
No. Instally's install tracking doesn't use IDFA, GAID, or any advertising identifier. It doesn't fall under ATT requirements. You should still mention data collection in your privacy policy, but you don't need to show an in-app consent dialog for install tracking.
Can install tracking tell me which ad drove an install?
If you're running paid ads on Meta, Google, or TikTok, you need a full MMP like AppsFlyer or Adjust — they integrate directly with ad networks. Instally tracks installs from links you share organically or give to creators. See our comparison of Instally vs AppsFlyer vs Branch for when to use which tool.
How quickly do installs show up in the dashboard?
Installs appear in real time. When a user opens your app for the first time, the SDK sends the install event immediately. Matching typically completes within seconds.
What's the difference between install tracking and analytics?
Analytics tools (Firebase Analytics, Mixpanel, Amplitude) tell you what users do inside your app — which screens they visit, which buttons they tap, how long they stay. Install tracking tells you where users came from before they installed. They're complementary: install tracking answers "which links work?" and analytics answers "what do users do after installing?"
Stop guessing. Start shipping.
Track clicks, installs, and revenue from every link. Set up in five minutes.
Get started free