Skip to main content
← Back to blog
Felix Cameron··11 min read

How to Track App Installs from Your Link in Bio

Most indie app devs can see that their bio link gets clicks but have no idea how many clicks became installs. Here's why tracking is hard, what actually works in 2026, and how to set it up.

Why bio-link install tracking is harder than it should be

If you've ever wondered "how many people who clicked on my Instagram bio actually installed my app?", you've come up against a major pain point that nearly every indie developer has had to face: Linktree reports how many people clicked, but that's it; the App Store reports how many people installed, but that's it. Nobody tells you which of the installs came from the Linktree click. It just doesn't connect. The user tapped a link within Instagram's browser, got sent to the App Store where they installed it, then opened up the app, and that trail was lost at some point between tap and open.

This isn't a tooling problem; it's just how iOS and Android app install attribution works. Apple won't send referrer data at all from the App Store. Google Play will send a limited amount of referrer data, if configured, but you do have to add the SDK to your app to capture it. Even if the data's coming, you need an SDK in place to actually read it, parse it, and attribute it to the install.

This post will go over what tracking setups for bio-link app installs actually work in 2026, what doesn't work, and how to figure out installs per bio link without building out an attribution system yourself.

(See also: our guide on link-in-bio for mobile apps.)

What you need to track, in decision-usefulness order

Before you even get to the "how" part of tracking bio link installs, figure out the "what" part. What metrics do you actually need to get out of this?

    • Clicks per bio link (basic), How many users tapped? Which channels get the most clicks? (All bio-link services report this.)
    • Installs per bio link (basic, critical), How many users actually installed? Which channels drove users to download the app?
    • Revenue per bio link (basic), How many users became paid? Which channels are actually getting customers?
    • Retention per bio link (advanced, nice-to-have), Which channels bring high-quality users, rather than just any users?
If you're just starting, #1, #2, and #3 should be your focus. #4 can wait.

What doesn't work for tracking bio-link installs

Four ideas that sound like they might work but in practice, don't.

UTM parameters

The web marketing world runs on UTMs, so it makes a lot of sense to start here. You could append ? utm_source=instagram&utm_medium=bio appended to your App Store link and think you'll eventually see the UTMs in your dashboard. That won't work. Apple removes URL parameters before the traffic reaches the App Store. Even if they didn't, your app can't access the original URL from within an App Store install — there's no way to read out the referring URL in your code. UTMs are great for web clicks, but they don't track app installs.

For details see: Why UTM Parameters Don't Work for App Installs.

Fingerprinting

In the past, some mobile attribution providers tried to use device fingerprinting to match clicks with installs. This could include things like IP address, user agent, device type, screen size, and locale. If a fingerprint tapped your bio link, then opened your app 30 minutes later, it would assume they were the same user.

The fingerprinting approach doesn't work on iOS with iOS 14.5+ (Apple's IDFA changes + privacy-focused IP-address changes) and it's on life-support in the Google Play ecosystem. It's bad at attribution, constantly blocked, and it runs into big privacy compliance issues under GDPR and CCPA.

The App Store Connect referrer report

Apple provides some install-source data in App Store Connect. It will show you App Store search traffic, web referral traffic, App Clips, etc. but it doesn't show individual sources like bio link clicks. You'll end up with something like "Web Referral: unspecified". There's no way to drill in on it and figure out which bio link you used.

It's useful for macro trends but useless for link-specific attribution.

Building it yourself

Every platform change brings new edge cases: iOS ATT rules, Android privacy sandbox updates, custom domain handling, click deduplication, bot filtering, server-side storage, dashboards, per-platform edge cases across dozens of devices. This is at least a month of backend and mobile work for an indie solo dev before you have anything usable — let alone reliable. Most devs give up halfway and just use counts from their bio-link tool.

What does work: SDK-based attribution

What actually works in 2026 is a small SDK in your app that fires once on first launch. From your side as a developer, it is three lines of code — the attribution service handles the rest behind the scenes.

The result: every bio-link tap that becomes an install gets attributed to the right source, without IDFA, without ATT prompts, without any ad-network integration. Users see nothing. You see the per-link breakdown in your dashboard within seconds of the install.

Setting up bio-link tracking with Instally

Ten minutes total (including SDK)

Step 1: Set up your branded download page.

On Instally, this will be your instally.io/your-app page (or your own custom domain for Business users). This single page is capable of platform detection and routing, so iOS users are sent to the App Store, and Android users to Google Play.

Step 2: Generate a bio link for each source.

You want one link per source. Example: your instagram-bio, tiktok-bio, newsletter, twitter-bio, podcast-interview-may, and so on. These links point all to the same download page (Step 1), but track their source separately for each.

Step 3: Install Instally SDK in your app.

Ten lines of code per platform. Your iOS code goes in the AppDelegate, and the Android code goes in your MainApplication. Flutter and React Native users can also use the SDK with us. The SDK reports the install once, the first time the user opens the app, and Instally matches it to the source bio link.

Step 4: Wire up revenue tracking (optional but recommended).

You can hook up to a service like RevenueCat, Stripe, Superwall, or Adapty in the Instally dashboard, and now your revenue will be attributed to a specific bio link. If someone from your bio link on Instagram subscribes to your app, their payment will show up attributed to that specific bio link.

Step 5: View the data.

For every single tracked link in your Instally dashboard, there will be a record of how many clicks, installs, and, if you set up revenue tracking (Step 4), subscription revenue is attributed to that link for each date range. You can filter by date range, country, and device type, and you can download the CSV if you want to take this deeper.

What metrics to actually look at per bio link

Once you've got bio link tracking all set up, the easy thing to do is stare at the clicks. You don't want to do that.

Click-to-install rate. This is the percentage of clicks on that bio link that turned into app installs. It tells you something about the traffic quality and the quality of your landing page. If Instagram contributes 1,000 clicks and 30 installs (3%) and TikTok contributes 500 clicks and 40 installs (8%), then TikTok is the better channel per click. Installs per week. Absolute numbers over time, showing which channels are expanding vs. contracting. Revenue per install. The revenue you generate per install, broken down by source. For example, if Instagram users generate an average of $1.20 LTV and newsletter users generate an average of $14.50 LTV, that newsletter is 12x more valuable per install. This is the moment bio-links stop being vanity metrics and start being strategic levers. Cost per install (if paid). If you pay creators or run paid ads through any of your bio-link sources, calculate the cost per install by dividing your total cost by the number of installs for each channel. This will tell you which ones are profitable when you compare to their revenue per install.

How to structure bio links for useful data

Names matter when you start adding more than 5 links. A naming convention that will scale for you:

{platform}-{surface}-{campaign}

For example:

  • instagram-bio = your Instagram bio link (that always lives there)
  • instagram-stories-may = the Instagram Stories link(s) you use for May campaigns
  • tiktok-bio = your TikTok bio link
  • tiktok-creator-jane = your link given to a particular TikTok creator
  • newsletter-may-issue = a bio link in the May newsletter
  • podcast-indiehackers-ep42 = the bio link in the Indie Hackers podcast episode #42
You'll want to look at your dashboard in a few weeks and still be able to tell what every link is.

Cross-platform attribution gotchas

Know these things:

iOS + ATT. Instally doesn't use iOS ATT or IDFA, so your users never see an ATT prompt. Attribution happens in the background once the SDK has fired on first launch. Android. Attribution through the Google Play Store is highly reliable. No GAID is used, no permission prompts are shown. Install-to-first-open delay. We need the user to open the app after they install in order to attribute that install. Users who install but never open the app are never attributed because their open event never fires. Click-to-install timeout. Instally uses a 30-day click-to-install timeout. If a user clicks your link and installs and opens it 31 days later, Instally won't know what the source was. Paid ads. If you run paid ads at the same time as your bio-link traffic, your MMP might double-count those installs. Usually this isn't a problem since Instally tracks channels like bio links, UGC creators, and email, where your MMP won't have visibility. Read our guide on how to track app installs without an MMP.

FAQ

Why can't I just use Google Analytics for this?

Google Analytics tracks sessions on web pages. It can tell you how many people came to your app download page and which channels referred them. It can't tell you how many people actually installed your app, because Google Analytics does not run on the app itself.

Can I track bio-link installs without any SDK?

No. First-open attribution requires code inside the app that reports first opens. Without an SDK in the app, there is no way to track which installs came from which bio-link.

Does this work for apps already on the App Store?

Yes. You add the SDK to the app in your next update. Any installs in that version or later will be attributed correctly. Any prior installs will not retroactively be attributed once the SDK is added.

How accurate is bio-link attribution?

This solution is highly accurate. Attribution works best when the user installs and opens the app shortly after tapping your link, which covers the vast majority of bio-link traffic.

Does this count as an MMP?

No. Instally is specifically for first-party channel attribution. That's your bio-links, UGC, email, direct links, etc. MMPs such as AppsFlyer, Branch, and Adjust are built for paid traffic from thousands of ad networks. That's a different problem space altogether. See Branch alternatives for indie developers for more info on that distinction.

How much does tracking cost?

You can use Instally for free. That tier includes 1 app, 1 tracked link, 1,000 installs per month. It's not a long-term plan, but you can use it to validate this method and get a feel for attribution. Our Growth plan is $40/month for 3 apps, unlimited links, 25,000 installs per month, and revenue tracking. Our Scale plan is $79/month for unlimited apps, 100,000 installs per month, creator accounts, and Stripe Connect payout features.

What if I use Firebase / Amplitude / Mixpanel?

They're for product analytics inside your app after install. They don't tell you which bio-link referred your user. You'll still need a tracking method to attribute installs to bio-links. You can use Instally to do install attribution, and Firebase / Amplitude / Mixpanel to do product analytics once the user's in the app. They complement each other.

Will this slow down my app?

The SDK is only 50KB and runs asynchronously on first launch. No user-visible impact on app performance.

Bottom line

The key difference between web and mobile is this: iOS and Android simply don't pass referrer data to your app by default. The only method that reliably tracks installs from bio-links in 2026 is using an SDK in the app and a service in the middle to track first opens. It takes ten minutes to set up in the dashboard, a couple of lines of code for the first-time SDK integration, and you're on your way. Now you can see which of your bio-link posts are actually generating installs. And when we add revenue tracking, you'll see exactly how that install converts to dollars in your revenue dashboard. A complete funnel report: click to install to revenue.

Ready / v1.0

Stop guessing. Start shipping.

Track clicks, installs, and revenue from every link. Set up in five minutes.

Get started free