# How to track app installs: a startup guide

How to track app installs from TikTok, creators and ads: what to track first, UTMs, App Store and Play campaign links, codes, and a simple weekly report.

Canonical: https://ignura.com/blog/how-to-track-app-installs
Last updated: 2026-10-25
Author: Jawad Jalal

To track app installs, give every channel and every creator its own link or code, use the store's own campaign tools, and send everything to one sign-up event in your analytics. On iOS that means App Store campaign links. On Android it means Play campaign URLs and the Install Referrer. For TikTok and creators, add a promo code each, because links often get lost. Then read it all in one short weekly report.

## The short version

- Pick one event that counts as a result, such as an account created. Track that before anything else.
- Tag every web link with UTMs, using the same lowercase names every time.
- Use App Store campaign links on iOS and Play campaign URLs on Android.
- Give each creator and channel a promo code too, since many people install without clicking.
- Send yourself one page every week with installs, sign-ups and cost by source.

## Why install tracking goes wrong

App installs are harder to track than web sign-ups. Someone sees a TikTok, opens the App Store a day later, searches your name and installs. No link was clicked, so nothing connects the video to the install.

Privacy rules make it harder again. On iOS, [App Tracking Transparency](https://developer.apple.com/app-store/user-privacy-and-data-use/) lets users choose whether an app can track their activity across other companies' apps and websites for advertising. So you can't expect to follow every person from an ad to an install.

That's fine. You don't need perfect data. You need enough to see which channels and creators send people who stay, so you know where to spend next week.

## Step 1: Decide what to track first

Start with one event that counts as a result. For most apps, an install alone isn't it. An install that never opens the app is worth very little.

A better choice is usually one of these:

- Account created.
- Onboarding finished.
- The first real action, like a first workout logged or a first file uploaded.

Pick one, name it clearly in your analytics, and make sure it fires once per user. Then add a few steps before it, so you can see the path from install to that event. Product analytics tools such as PostHog can show that as a [funnel](https://posthog.com/docs/product-analytics/funnels), and PostHog's [pricing page](https://posthog.com/pricing) lists a free tier.

If people sign up and then vanish, that's a separate problem, and [fixing it starts in onboarding](https://ignura.com/blog/how-to-improve-activation-rate).

## Step 2: Tag web links with UTMs

UTMs are tags you add to the end of a link so your analytics knows where a visit came from. Google's guide to [URL builders and UTM parameters](https://support.google.com/analytics/answer/10917952) says to always use utm_source, utm_medium and utm_campaign. The free [UTM builder](https://ignura.com/tools/utm-builder) makes the tagged link for you and flags mixed case, spaces and duplicate tags.

- utm_source is the site or platform, like tiktok or newsletter.
- utm_medium is the type of traffic, like paid_social, email or creator.
- utm_campaign is the campaign name, like october_launch.
- utm_content tells two creatives or two creators apart.

A tagged link to your landing page might look like this:

`https://example.com/?utm_source=tiktok&utm_medium=creator&utm_campaign=october_launch&utm_content=creator_sam`

Keep names consistent. Google notes that values are case sensitive, so "TikTok" and "tiktok" show up as two different sources. Write your naming rules down in one shared doc and stick to them.

UTMs work for visits to your website. Once someone taps through to the App Store or Google Play, the UTM on your website link doesn't follow them into the store. That's what the store tools are for.

## Step 3: Use the stores' campaign links

### iOS: App Store campaign links

Apple lets you create [campaign links](https://developer.apple.com/help/app-store-connect/view-app-analytics/manage-campaigns) in App Store Connect Analytics. Each link carries a campaign token, and Analytics shows impressions, product page views, downloads and more for each campaign.

A few details matter.

- A metric only shows once it reaches at least 5 in your chosen date range, so small campaigns can look empty at first.
- You can only create campaign links after your app has analytics data, so plan them for just after launch.
- Make one link per creator or channel, and give each a clear campaign name.

### Android: Play campaign URLs and Install Referrer

On Android, Google points app advertisers to its Play Campaign URL Builder, which adds campaign details to your Play Store link. Inside your app, the [Google Play Install Referrer API](https://developer.android.com/google/play/installreferrer) can read the referrer URL of the install, and when the click and the install happened. Your developer adds this once, and every install after that can carry its source.

### Paid ads

For paid ads, Apple offers [AdAttributionKit](https://developer.apple.com/app-store/user-privacy-and-data-use/) to attribute ad campaigns while protecting user privacy. Ad platforms report installs in their own way, so check what each one counts before you compare them with each other.

## Step 4: Add a promo code per creator

Links get lost. People watch a creator video, don't click, and install later. A promo code each, mentioned in the video and entered at sign-up, catches some of those installs.

- Give every creator, clipper and channel its own code.
- Make it short and easy to say out loud.
- Ask for it at sign-up, and give a small reason to enter it.
- Store the code against the user, so you can see whether code users stay.

Codes and links together give a fuller picture than either alone. Our guide to [UGC ads for apps](https://ignura.com/blog/ugc-ads-for-apps) shows how to use them when you test creator hooks.

## Step 5: Add a "how did you hear about us?" question

One optional question at sign-up, with a short list of answers and an "other" box, fills gaps the links and codes miss. It's not exact, since people forget or guess, but it often shows channels you weren't tracking, like word of mouth or a podcast.

Keep the answer list short and in the same order every week, so you can compare.

## Step 6: Check it works before you spend

Before a campaign goes live, test every link and code yourself.

1. Click each tagged link and check the visit shows up with the right source.
2. Install from each campaign link on a test device and check the store tools pick it up, keeping in mind the delays and minimums.
3. Enter each promo code and check it's saved against the test user.
4. Check the sign-up event fires once, not twice.

It's much easier to fix tracking before launch than to guess afterwards.

## Step 7: Send a simple weekly report

All this tracking is only useful if someone reads it. Keep the report to one page and send it at the same time every week.

| Source | Installs | Sign-ups | Spend | Cost per sign-up | Notes |
| --- | --- | --- | --- | --- | --- |
| Creator A, code SAMX | | | | | |
| Creator B, code JOJO | | | | | |
| TikTok ads | | | | | |
| Newsletter | | | | | |
| Not tracked | | | | | |

Under the table, write three short lines. What worked this week. What you'll stop. What you'll test next week.

Count sign-ups or your activation event as the main number. Installs and views can go in the report, but they come second. If a source brings lots of installs and no sign-ups, it's not working yet.

Keep the "not tracked" row. If it grows, your links and codes aren't being used and need fixing.

## Mistakes to avoid

- Tracking installs but not sign-ups, so you can't tell which installs mattered.
- Using the same link for every creator.
- Changing UTM names halfway through a campaign.
- Expecting store data on day one, before minimums and delays are met.
- Comparing ad platform numbers with each other without checking how each counts an install.
- Building a dashboard nobody opens instead of a short weekly report.

For more on tracking a creator push from day one, read [running a creator push after raising](https://ignura.com/blog/creator-campaign-after-raising).

## FAQ

### How do I track app installs from TikTok?

Give each video, creator or ad its own App Store campaign link, Play campaign URL or tagged landing page link, plus a promo code. Then count sign-ups by link and code in your analytics.

### Can I use UTMs for app installs?

UTMs track visits to your website. They don't carry through the App Store on their own. Use App Store campaign links on iOS and Play campaign URLs with the Install Referrer on Android.

### Why are my App Store campaign numbers empty?

Apple only shows a campaign metric once it reaches at least 5 in your chosen date range. Try a longer date range.

### Do I need a paid attribution tool?

Not at the start. Store campaign links, the Install Referrer, UTMs, promo codes and a free analytics tier cover a lot. Consider a paid tool once you run paid ads across several networks.

### What should go in a weekly marketing report?

Installs, sign-ups, spend and cost per sign-up by source, plus three lines on what worked, what you'll stop and what you'll test next.

## Is search one of your channels?

Ignura is an AI-native agency that automates your GEO and SEO. You approve what goes out. If search and AI answers are channels you want to count, we work on the pages people find there: [AI search](https://ignura.com/ai-search), [technical SEO](https://ignura.com/technical-seo) and [content](https://ignura.com/content). The guide to [tracking ChatGPT traffic in GA4](https://ignura.com/blog/track-chatgpt-traffic-in-ga4) shows one way to measure it. Plans are on the [pricing page](https://ignura.com/pricing).

[Book your free Growth Check](https://ignura.com/book?utm_source=site&utm_medium=blog&utm_content=how-to-track-app-installs)

Book a 15-minute call about your website: https://ignura.com/book
