Skip to main content
Every app has its ad link, https://appdownload.link/{app}: one link for every ad on every network. {app} is what you chose under Ad link when you created the app. Nobody creates the link: it goes live on its own once the app has its App Store URL, and follows that URL when it changes. A tap shows a short click page and goes on to the App Store, or on Android to Google Play.

Where a tap goes

The app’s Settings say where its taps go, next to the App Store URL: The ad link follows them, and so does every named link. A change is live on those links within about 15 seconds. The link is the same in every ad. The network, campaign, ad set and ad come from the ad’s URL parameters.
Android installs match only through a Google Play Android URL. The link adds the tap to the Play URL’s referrer, and Google Play hands it to your app after the install. Any other Android URL, such as an APK or another store, still receives the taps, but their installs stay unmatched. See How an install is matched.

Taps from a computer

Nobody can install a phone app on a computer, so a tap there shows a QR code and the store badges instead, the Google Play badge when the Android URL is a Google Play URL. The QR code holds the same link with all its URL parameters, plus to_src=qr: scanning it with the phone is a normal tap, and the install counts for the ad or link the computer tapped. An iPad in Safari, which reports itself as a Mac, goes straight to the App Store. With a fallback URL, computers go there instead. The computer’s visit isn’t counted as a click on the dashboard, so one person who scans the code counts once: the scan is the click.

Add the ad’s URL parameters

Give every ad the network’s URL parameters. The network fills in its placeholders on every tap, so campaigns, ad sets and ads show up by name. In Tracking links, For Meta and For TikTok copy the ad link with the parameters already appended: paste it as the ad’s website URL and you are done. Or keep the plain ad link as the URL and paste the parameters below into the ad’s own field.

Meta

Ads Manager → ad → Tracking → URL parameters:

TikTok

Ad → URL parameters (TikTok calls the ad set an ad group):
Campaign or account → Tracking template. The final URL is the plain ad link; Google adds gclid itself.

Snapchat

Ad → URL parameters:
For traffic without an ad network behind it, such as a creator, a podcast, a QR code or a newsletter, give it a named link: a name and its own path, e.g. appdownload.link/yourapp/anna-schmidt. It gets its own row in the campaign table, under its name, with “Link” as its network. In Tracking links, New link asks for: A named link goes where your app’s settings say (see Where a tap goes), and is live within about 15 seconds. Copy it with Copy. Add utm_source / utm_campaign if you want them in your app’s payload; every parameter on a link reaches your app in payload.query. Edit on a link’s row renames it or deletes it:
  • A new name shows everywhere, for earlier taps and installs too.
  • After you delete a link, a tap on its path still reaches the store, and counts as unregistered. Its earlier taps keep showing under its name. Creating the same path again brings the link back, with those taps.

Paths nobody created

No tap on a path under your app ends on an error page. Paths match regardless of case, so appdownload.link/YourApp/Anna is Anna’s link. When a path goes on after a link’s own, appdownload.link/yourapp/anna/yt, the tap counts for anna. Any other path, a typo or one a creator made up, still shows the click page and goes to the store: the tap counts as Unregistered, one row in the campaign table, and Live activity shows the path as it was tapped. A link whose first part is no app of yours is not found, and so is such a path while your app has no App Store URL yet. Tracking links → Unregistered lists those paths with their taps. Make it a named link turns one into a named link, and its taps and installs so far move to it. A placeholder that arrives unreplaced, such as {{ad.id}} or __CID__, means the network did not fill it in: the parameters are in the wrong field, use another network’s syntax, or the link was opened straight from a browser instead of the ad. The value is dropped; fix the ad and new taps come in complete. The ad networks add their own click id (fbclid, ttclid, gclid, …) to every tap. TrueOrigin uses it to tell which network a tap came from and to send postbacks. On a link with a path, only the ad’s URL parameters make a tap an ad’s: Instagram adds fbclid to a tap on a bio link too, so without them the tap counts for the link.