# See which campaign brings app installs

Last updated 31 October 2026

Make one link for each place you share your app: YouTube, TikTok, Instagram, a poster. Each link goes to the same app, but the App Store and Google Play see which link brought the visitor and count installs for each one. You read those numbers in App Store Connect and your analytics. There is nothing to add to your app.

## How to set it up

1. **Add your app.** Paste your App Store or Google Play link at app.jumper.to/new. Jumper fills in the name, icon and both stores.
2. **Add one link per channel.** On your app’s page, press “Add the social set” to get links for YouTube, TikTok, Instagram, Facebook at once, or add a link for any other channel, a campaign or a poster.
3. **Add your Apple provider token once.** Copy the pt number from a campaign link in App Store Connect and paste it in your Jumper settings. Google Play needs nothing.
4. **Share each link in its own place.** Put the YouTube link in your YouTube description, the TikTok link in your TikTok bio, and so on.
5. **Read the numbers.** Taps per link are in Jumper. Installs per campaign are in App Store Connect and in Google Play’s referrer data.

## In plain words

The stores already know how to count installs per campaign. They just need to be told which campaign a visitor came from. A Jumper link tells them. You make one link per channel, and every link carries its own name to the store when someone taps it.

You do not change your app, add a library or ship an update. You do not need an account with an attribution company. You need one link per place you share your app, and a few minutes to set them up.

Jumper counts the taps on each link so you can compare channels the same day. The stores count the installs, because only they see an install happen.

## One app, many links

Every link of an app sends people to the same store pages. What differs is the name it carries: the channel (like YouTube), the medium (like description or bio), the campaign (like summer-launch) and, if you want, the content. Those names live in your Jumper account. The link itself is a short random address on oxi.cc, so nobody can guess another link or change the campaign by editing the address.

Here is an example for one app with three links. The table is generated by the same functions that build the real store addresses, so it shows exactly what each store is told:

### Three links for Your Kickass App

One app, one link per channel. The address says nothing about the channel; the names travel to the store when someone taps.

| Link | Where it is shared | App Store campaign | Google Play tag |
| --- | --- | --- | --- |
| oxi.cc/k3xp9oq | YouTube, description | yt-summer-launch | yt / description / summer-launch |
| oxi.cc/t7mq2lc | TikTok, bio | tt-summer-launch | tt / bio / summer-launch |
| oxi.cc/r4nb0we | Instagram, bio | ig-summer-launch | ig / bio / summer-launch |

The provider token (pt=123456 here) is your own number from App Store Connect, added once in your settings.

## What each store receives

Apple receives a campaign token, ct, made of the channel and the campaign joined by a hyphen and cut to 30 characters, plus your provider token, pt. For the YouTube link above, an iPhone goes to https://apps.apple.com/app/id1234567890?pt=123456&ct=yt-summer-launch&mt=8.

Google Play receives a referrer with utm_source (the channel), utm_medium, utm_campaign, utm_content when you set it, and jumper=\<link id>. Google Play keeps it with the install and hands it to your app on first launch. Firebase Analytics reads the utm values on its own.

## Where each number appears

Three places, three different numbers. Each answers a different question.

### Where to read the numbers

Taps happen on the link; installs happen in the store.

| Where | What it counts | Split by |
| --- | --- | --- |
| Jumper stats | Taps and daily unique visitors per link | Link, channel, campaign, country, phone system, in-app browser |
| App Store Connect | Downloads and first-time downloads per campaign token (ct) | Campaign, under App Analytics, Sources, Campaigns |
| Google Play (in your app) | The referrer of each install, read by your app or by Firebase Analytics | utm_source, utm_medium, utm_campaign, utm_content, link id |

Apple shows campaign numbers only when enough people agreed to share data, so very small campaigns can show nothing.

## If your app reads the Google Play tag itself (optional)

Google Play’s install referrer is the tag that tells Play which link brought the install. Firebase Analytics reads it on its own, so most apps need nothing more: open the acquisition reports and the channel, medium and campaign of each Jumper link are there.

If your app does not use Firebase, a developer can read the same tag once, on the first launch after the install, and send it to your own analytics. That is a small, optional job inside the app, and Jumper.to works the same without it. The how-to for developers is in our docs.

Apple gives apps no such tag. On iPhone the campaign count lives in App Store Connect, under App Analytics, Sources, Campaigns, which is why each Jumper link sends Apple its campaign name.

- [Docs: reading the Google Play install referrer](https://jumper.to/docs/google-play-referrer)

## Your numbers in your own reports

Every number in your Jumper stats, taps and daily unique visitors per link, channel, campaign, day, country and phone system, can also be fetched by a reporting tool or a spreadsheet script for a client report. It uses a read-only key: nobody can change your links with it.

Put the Jumper taps next to the installs from App Store Connect and Google Play and you see, per channel, how many people tapped and how many of them installed. That is the number that tells you where to spend the next hour or the next euro.

- [Docs: the read-only stats API](https://jumper.to/docs/stats-api)

## Limits

Jumper counts taps, not installs. Apple’s campaign reports hide small numbers for privacy. Jumper does not do deferred deep links: after the install, your app opens at its start screen, not at a page chosen by the link. It does not follow what people do inside your app.

## Make your first link

Paste your App Store or Google Play link. 3 free credits: each link or page uses one. Nothing to install in your app, no credit card.

Your App Store or Google Play link: [Get my free link](https://app.jumper.to/new)

- 3 free credits: each link or page uses one.
- Nothing to install in your app
- No credit card

[Start from scratch](https://app.jumper.to/new)

## Related

- [Apple campaign tokens (ct and pt)](https://jumper.to/docs/apple-campaign-tokens)
- [Google Play install referrer (for developers)](https://jumper.to/docs/google-play-referrer)
- [Stats API](https://jumper.to/docs/stats-api)
- [Universal Links and App Links: when you need them](https://jumper.to/docs/universal-links-and-app-links)
- [Pricing](https://jumper.to/pricing)

## Questions

### Do I need to add anything to my app to see installs per channel?

No. The App Store and Google Play count installs for each link by themselves. You read the numbers in App Store Connect and in your analytics. Reading the Google Play referrer in your own code is optional.

### Does Jumper count installs?

No. Jumper counts taps on each link and how many different people tapped it each day. Installs are counted by Apple and Google, who see them. We show you where to find both numbers.

### Why do my links have random letters instead of the channel name?

So nobody can guess or edit them. The channel, medium and campaign live in your Jumper account, and each store receives them when someone taps the link. A link like oxi.cc/k3xp9oq looks the same whether it is in your YouTube description or on a poster.

### Why does App Store Connect show fewer installs than Jumper shows taps?

Not everyone who taps installs, and Apple only reports campaigns once enough people opted in to share data. Small numbers can stay hidden. Taps and installs are different things, so they never match exactly.

### Does it work inside Instagram and TikTok?

Yes. The campaign token and the referrer travel along on the route Jumper takes out of in-app browsers, on iPhone and on Android.

### Can I use my own campaign names?

Yes. Set the channel, medium, campaign and content on each link. Apple receives the channel and campaign joined by a hyphen, cut to 30 characters. Google Play receives all four as utm values.

### Does this replace an attribution platform?

No. It answers “which channel brought installs” with the stores’ own numbers. It does not follow people inside your app, match installs to ad clicks across apps, or open your app after the install at a specific screen.
