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

How to Track Installs from App Store Links

Your App Store link gets taps, but you don't know which link drove each install. Here's how to wrap your App Store URL with per-link install tracking — no IDFA, no ATT prompt.

TL;DR

  • To track installs from App Store links: replace each raw App Store URL with a tracking link, add a lightweight SDK to your app, and read clicks + installs per link in a dashboard.
  • No IDFA, no ATT prompt, no MMP required. Works on both iOS (App Store) and Android (Google Play) from a single tracking URL.
  • Setup time: about 5 minutes.
  • Pricing: free tier covers 1 link and 1,000 installs/mo; paid plans ($40/mo+) add unlimited links and revenue tracking.
  • Works everywhere you share a link: creator partnerships, bio links, newsletters, blog CTAs, QR codes, Reddit comments, podcasts.

The problem with a plain App Store link

An App Store link on its own records nothing. You paste the URL in your bio, a newsletter, a creator's caption, a QR code on a poster. People tap it. Some install. You have no way of knowing which link drove which install.

App Store Connect shows a total install number for the day. It does not tell you that 40 came from your TikTok bio, 30 from a blog post, and 12 from a Reddit comment. Everything gets flattened into one bucket, and you end up guessing which of your marketing efforts is actually working.

This post walks through the fix: wrapping each App Store link with a tracking layer so you can see clicks and installs per link. For the broader framework across every channel, see the full guide on tracking app installs with links.

What an App Store tracking link actually is

An App Store tracking link is a URL that records the click, tags it with a source, and redirects the visitor to your App Store listing. A raw App Store URL like https://apps.apple.com/app/your-app/id123456789 does not record who tapped it, where they came from, or whether they installed. A tracking link does all three.

You share a URL like instally.io/app/tiktok-bio instead of the raw App Store link. When someone taps it, the tracking layer logs the click and redirects to the App Store. Once the user installs and opens your app, a small SDK inside your app reports the install, and the install gets tied back to the original tracking link.

Your dashboard then shows a per-link breakdown: this link produced this many clicks and this many installs. Multiply that by every place you share your app, and the picture of which channels drive real installs falls out immediately.

Why App Store Connect can't give you this

App Store Connect is Apple's dashboard. It shows install counts, App Store page visits, and a handful of referrer labels ("App Store Search," "Web Referrer," "App Referrer"). It does not show you which specific link drove which install.

Three reasons this is a dead end for link-level tracking:

The data is aggregated. Everything that came through a web link shows up as "Web Referrer." You can see that your app got 200 installs from the web that day. You cannot see that 120 of them came from your homepage and 80 came from a specific blog post. There's a 24-48 hour delay. App Store Connect data is not real time. If you ran a campaign yesterday, you might see partial data today and complete data tomorrow. Good luck iterating fast on a creator drop or a paid placement with that feedback loop. You can't tie revenue to a referrer. App Store Connect tells you total revenue. It does not tell you how much of that revenue came from which referrer. If you want to know which channels actually bring paying users, you need a different layer on top.

How a tracked App Store link works

A tracked App Store link works in six steps: click → log → redirect → install → SDK report → match. The full flow is short:
    • Someone taps your tracking URL (e.g. instally.io/app/creator-alex)
    • The click gets logged, tagged with the source link
    • They get redirected to the App Store
    • They install and open the app
    • The SDK inside your app reports the install
    • The install is matched back to the earlier click
That's the whole thing. No ad network integration. No SKAdNetwork setup. No IDFA. No ATT prompt. The match happens in the background, and the user sees nothing unusual — just a tap and an App Store page.

If you want the technical deep-dive on why this sidesteps the IDFA problem, see app install tracking without IDFA.

Setting it up

Step 1: Create a tracking link for each source

In the Instally dashboard, make one link per source you want to measure. The slug is the bit at the end of the URL and becomes your label in the reporting.

SourceExample slugFinal URL
TikTok biotiktok-bioinstally.io/app/tiktok-bio
Creator drop — Alexcreator-alexinstally.io/app/creator-alex
Homepage herohomepage-heroinstally.io/app/homepage-hero
April newsletternewsletter-aprilinstally.io/app/newsletter-april
Reddit r/indiegamesreddit-indiegamesinstally.io/app/reddit-indiegames
Be as granular as you want. You can make one link per channel, one per piece of content, or one per creator. Unlimited links are available on paid plans.

Step 2: Add the SDK to your app

The SDK is the piece that reports installs back to Instally. It takes about five minutes to integrate and is a one-line initialization call.

Swift example:

import Instally

@main
struct YourApp: App {
    init() {
        Instally.configure(appId: "YOUR_APP_ID", apiKey: "ik_live_your_key")
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
                .task {
                    try? await Instally.trackInstall()
                }
        }
    }
}

Kotlin example (for Google Play, covered below):

import io.instally.sdk.Instally

class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        Instally.configure(this, "ik_live_your_key")
        Instally.trackInstall()
    }
}

Full walkthroughs: iOS integration guide, Android integration guide, Flutter integration guide.

Step 3: Share the tracking link instead of the raw App Store URL

Wherever you were pasting the App Store URL before, paste the tracking URL instead.

Before:

Download: https://apps.apple.com/app/your-app/id123456789

After:

Download: https://instally.io/app/tiktok-bio

The user experience stays the same — one tap goes to the App Store — but the click is now logged and tied to the source.

Step 4: Check the dashboard

After a day or two of traffic, your dashboard will show something like this:

SourceClicksInstallsConv. Rate
TikTok bio2,84042615.0%
Creator Alex (YouTube)1,42035525.0%
Homepage hero3,10046515.0%
April newsletter1,24031025.0%
Reddit r/indiegames6209315.0%
Two things typically jump out from data like this: Your highest-traffic link is not always your highest-converting link. The TikTok bio and the homepage might produce the most clicks, but an email campaign or a warm creator audience often converts at twice the rate. Raw click counts lie. A few links produce most of your installs. Pareto shows up hard here. Once you can see per-link numbers, you find out that two or three sources are doing most of the work, and you can double down on them.

What about Google Play?

Instally's tracking links cover both stores from a single URL. The same instally.io/app/tiktok-bio link detects whether the visitor is on iOS or Android and sends them to the right store. Installs are tracked on both platforms using the Android SDK for Google Play and the iOS SDK for the App Store.

You don't need separate links or separate buttons. One URL per source handles iOS, Android, and desktop visitors (desktop lands on a branded download page with QR code + store buttons).

More on this: one link for App Store and Google Play.

Where per-link App Store tracking actually matters

A few use cases where this moves from "nice to have" to "unblocks a decision":

Creator partnerships. You paid or negotiated a flat fee with a creator. A month later, did it work? Without per-link tracking, you have a gut feeling. With it, you have a number. Full walkthrough: how to track creator app installs. Bio link decisions. Your Instagram or TikTok bio has one link. Which channel is it actually pulling from? If you use platform-specific tracking links (one per profile), you learn fast which platform is worth more effort. Deep dive: link in bio for mobile apps. Email campaigns. Your ESP tells you opens and clicks. It cannot tell you installs. A tracking link fills in the missing half of the funnel. Walkthrough: how to track app installs from email. Website and blog. Every "Download" button on your site is a candidate for its own tracking link. You end up with per-page install data — which blog post drove the most installs, which landing page converts best. See how to track app installs from your website. UGC programs. If you pay creators per install, per-link tracking is not optional. Each participant needs their own link and their own reporting. More: UGC app install tracking.

When a plain link is fine

A tracking link is not always worth the effort. If you have one URL to share (say, a single App Store link on your one-page marketing site) and you don't care which channel brought the traffic, the raw App Store link is fine. The reason to switch is the moment you have more than one source and need to compare them.

Once you're running any kind of multi-channel effort — creators, bios, email, press, paid, content — the plain App Store link stops being enough.

FAQ

Do tracking links work on iOS without the ATT prompt?

Yes. Instally does not use the IDFA, so the "Allow to track" prompt never appears. Install matching happens in the background with nothing user-facing. More context: app install tracking without IDFA.

Does this work with TestFlight builds?

Yes. The SDK behaves the same in TestFlight as in production, so you can test the full click-to-install flow before shipping a release build.

Do I need to change my App Store listing?

No. Your App Store listing stays exactly as it is. The tracking link sits in front of the store, records the click, and forwards the user to the same App Store page they would have landed on anyway.

How fast does an install appear in the dashboard?

A few seconds. When the SDK calls trackInstall on first app open, the install is logged in real time and matched to the preceding click. No 24-hour delay.

What if a user taps the link but doesn't install for a few days?

Instally matches installs to recent clicks on the same device. Most link-driven installs happen within minutes, so match rates are high for typical organic, creator, and bio traffic.

Can I use tracking links in paid ads?

You can, but for scaled paid campaigns across multiple ad networks, an MMP (AppsFlyer, Adjust) is the right layer because of SKAdNetwork support and ad-network postbacks. For organic, creator, and content channels, per-link tracking is the better fit. More: how to track app installs without an MMP.

How many tracking links can I create?

On the free plan, one link. On paid plans, unlimited. See pricing for the full breakdown.

Is there a free tier?

Yes. One app, one tracking link, 1,000 installs a month at $0. Enough to prove the loop before committing.

---

An App Store link with nothing in front of it is a dead-end for measurement. Wrap each link with a tracking layer, add the SDK once, and you'll finally see which of your marketing efforts is producing real installs instead of guessing from a flat total in App Store Connect. Start a free account and create your first tracking link in about a minute.

Ready / v1.0

Stop guessing. Start shipping.

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

Get started free