Deep linking and attribution glossary
70 terms across deep linking, iOS and Android platform behaviour, and attribution measurement. Every entry shows the actual file, command, or table the concept is made of — and links to a free tool that checks it against your own domain.
Foundational concepts
- Deep Linking
Deep linking is the practice of using a URL to open a specific screen or piece of content inside a mobile app rather than the app's default entry point.
- Deferred Deep Linking
Deferred deep linking is the practice of preserving a link's destination through an app store install, so that a user who did not have the app lands on the intended screen the first time they open it.
Implementation artifacts
- /.well-known/ Directory
The /.well-known/ directory is a reserved path at the root of a domain, defined by RFC 8615, where services publish machine-readable metadata files at standardised URLs.
- Android App Link
An Android App Link is an HTTPS URL that opens an Android app directly, without a chooser dialog, because the system has verified through a file on the domain that the app is authorised to handle it.
- Android App Link Verification
Android App Link verification is the process by which Android confirms, at install time, that a domain named in an app's intent filter publishes an assetlinks.json file authorising that app to handle its URLs.
- Apple App Site Association (AASA)
The apple-app-site-association file is a JSON document hosted at a domain's /.well-known/ path that tells iOS which app is allowed to handle which URLs on that domain.
- Apple Team ID
An Apple Team ID is the ten-character alphanumeric identifier Apple assigns to a developer account, used to namespace that account's App IDs, certificates, and entitlements.
- assetlinks.json
assetlinks.json is a Digital Asset Links statement file hosted at a domain's /.well-known/ path that authorises a named Android app, identified by package name and signing certificate fingerprint, to handle that domain's URLs.
- Associated Domain
An Associated Domain is an entry in an iOS app's com.apple.developer.associated-domains entitlement that declares a domain the app is bound to for a named service, such as Universal Links or shared web credentials.
- Branded Link Domain
A branded link domain is a domain or subdomain you own that is used to serve your short links and deep links instead of a link provider's shared domain.
- Bundle Identifier
A bundle identifier is the reverse-DNS string, such as com.example.shop, that uniquely identifies an iOS app to the operating system and the App Store.
- Custom URI Scheme
A custom URI scheme is a non-standard URL protocol, such as myapp://, that an app registers with the operating system so that URLs beginning with it open that app.
- Intent Filter
An intent filter is an element in an Android app's manifest that declares which intents an activity can handle, including the URL patterns that should open it.
- Link Fallback Chain
A link fallback chain is the ordered set of destinations a single link resolves to — the app, the app store, or a web page — depending on the user's platform and whether the app is installed.
- SHA-256 Certificate Fingerprint
A SHA-256 certificate fingerprint is the SHA-256 hash of an app signing certificate, written as 32 colon-separated hexadecimal bytes, used to prove that a specific build was signed by a specific key.
- Universal Link
A Universal Link is a standard HTTPS URL that opens an iOS app directly when that app is installed and the domain has authorised it, and loads the equivalent web page when it is not.
Failure modes
- AASA file not found
An AASA file not found error means Apple's content delivery network could not retrieve a usable apple-app-site-association file from a domain, which disables Universal Links for that domain entirely.
- Android App Links not working
Android App Links fail when the system cannot verify that a domain and an app belong to the same owner, at which point tapped links open in the browser instead of the app with no error shown to the user.
- Clearing the AASA cache
Clearing the AASA cache means invalidating one of the three separately-expiring copies of a domain's association data: Apple's CDN copy, the device's stored association, and the app's install-time state.
- Debugging deep links with adb
adb provides direct access to Android's domain verification state, intent resolution, and package manifest data, which together identify why a deep link opens the browser instead of the app.
- Deep link opens the browser instead of the app
A deep link opens the browser instead of the app when the operating system has not accepted the app as a verified handler for that URL, or when the tap occurred in a context that never offers the app the chance to handle it.
- Deep links in email clients
Deep links break in email because click tracking rewrites the destination URL onto the email provider's domain, and neither iOS nor Android resolves the redirect before deciding which app may handle the tap.
- Deep links in in-app browsers
An in-app browser is an embedded webview inside another app that renders links without handing them to the operating system, which prevents Universal Links and App Links from ever reaching the app that claims the domain.
- Deferred deep link not working
A deferred deep link fails when the signal meant to carry the pre-install destination across the app store — an install referrer, a stored token, or a server-side match — is absent, expired, or never read on first launch.
- Migrating off Firebase Dynamic Links
Migrating off Firebase Dynamic Links means replacing the link generation, the hosting domain, and the SDK integration of a service that was shut down on 25 August 2025, after which page.link URLs stopped resolving.
- Testing a deep link
Testing a deep link means verifying three separate things — that the operating system routes the URL to the app, that the app receives it, and that the app navigates to the right screen — each of which can pass while the others fail.
- Unattributed installs
An install is unattributed when no signal linking it to a prior ad click or link tap survived the journey through the app store, which can mean the install was organic or that the signal existed and was lost.
- Universal Links not opening the app
A Universal Link fails to open its app when iOS has no valid association for the domain, when the tapped URL does not match the association's path rules, or when the tap did not originate in a context where iOS honours Universal Links at all.
- Universal Links stopped working
Universal Links that previously worked and no longer do have almost always been broken by a change outside the app: a per-domain user preference, a signing or infrastructure change, or Apple's CDN refreshing its cached copy of a file that was already broken.
- Validating assetlinks.json
Validating assetlinks.json means confirming four separate things: that Android can fetch the file, that it parses as a valid statement list, that it names the fingerprint of the shipped build, and that verification passed on a device.
iOS platform and privacy
- AdAttributionKit
AdAttributionKit is Apple's ad attribution framework, introduced in iOS 17.4, that reports privacy-preserving install and re-engagement postbacks for advertised apps installed from the App Store or an alternative app marketplace.
- App Clip
An App Clip is a lightweight portion of an iOS app that a user can launch from a URL, code, or NFC tag without installing the full app from the App Store.
- App Tracking Transparency (ATT)
App Tracking Transparency is the iOS framework that requires an app to obtain explicit user permission before accessing the device's advertising identifier or otherwise tracking that user across apps and websites owned by other companies.
- Conversion Value
A conversion value is a 6-bit integer between 0 and 63 that an iOS app sets after install to describe post-install behaviour, and which the operating system reports to the ad network in an attribution postback.
- Crowd Anonymity
Crowd anonymity is Apple's privacy mechanism that decides how much campaign and conversion detail an attribution postback may contain, based on whether the install cohort is large enough that the report cannot identify an individual.
- IDFA
The IDFA, or Identifier for Advertisers, is a resettable per-device UUID that iOS provides to apps for advertising measurement, and which is only readable when the user has granted App Tracking Transparency permission.
- Privacy Manifest
A privacy manifest is a PrivacyInfo.xcprivacy property list inside an app or SDK that declares the data it collects, the domains it uses for tracking, and its reasons for calling APIs Apple designates as requiring one.
- Required Reason API
A required reason API is an iOS API that Apple has designated as usable only if the calling bundle declares an approved reason for using it in its privacy manifest.
- SKAdNetwork
SKAdNetwork is Apple's StoreKit framework that attributes app installs to advertising campaigns without exposing a device identifier, by having the operating system send a delayed, aggregated postback to the ad network that won the install.
- SKAN Postback
A SKAN postback is a signed JSON report that iOS sends from the device to an ad network's server after an advertised app is installed, containing the campaign identifier and any conversion value the install's privacy tier permits.
Android platform
- Android Instant App
An Android Instant App is a small subset of an Android app that Google Play streams and runs directly from a URL, without the user installing the full app first.
- App Set ID
The App Set ID is an Android identifier consistent across all apps published by the same developer on one device, provided for analytics and fraud prevention and barred by Google Play policy from any advertising use.
- Attribution Reporting API
The Attribution Reporting API was a Google API for Chrome and Android that measured ad conversions by registering ad clicks as sources and conversions as triggers, then returning noised event-level and aggregate reports, and it was retired in October 2025.
- Digital Asset Links
Digital Asset Links is an open protocol for publishing verifiable statements in which one digital asset, such as a website, grants a specific permission to another, such as a mobile app identified by its package name and signing certificate fingerprint.
- GAID
The GAID, or Google Advertising ID, is a resettable per-device identifier that Android provides for advertising and analytics, and which is replaced by a string of zeros for users who opt out of ads personalisation.
- Meta Install Referrer
The Meta Install Referrer is an encrypted campaign payload that Meta places in the Google Play install referrer string, allowing an advertiser's Android app to decrypt deterministic attribution data for installs driven by Facebook and Instagram ads.
- Play Install Referrer
The Play Install Referrer is a Google Play API that lets a newly installed Android app read the referrer string and click timestamps recorded when the user arrived at its Play Store listing.
- Privacy Sandbox on Android
The Privacy Sandbox on Android was Google's initiative to replace cross-app advertising identifiers with on-device APIs for interest inference, audience targeting and conversion measurement, and Google announced its retirement in October 2025.
Attribution mechanics
- Attribution window
An attribution window is the length of time after an ad click or impression during which a resulting install or conversion is still credited to that ad interaction.
- Click injection
Click injection is install fraud in which a malicious app detects that another app is being installed on the same device and fires a click at that moment, so the fraudster is credited for an install that was already under way.
- Click spamming
Click spamming is install fraud in which a party reports large volumes of clicks that no user ever made, so that any install occurring later inside the attribution window is credited to them.
- Click-to-install time
Click-to-install time is the elapsed time between the click on an ad and the first open of the installed app, measured per install and analysed as a distribution rather than an average.
- Deterministic attribution
Deterministic attribution credits an install to a specific click by matching an identifier that is present in both records, producing a one-to-one link rather than a statistical estimate.
- Fingerprint attribution
Fingerprint attribution matches an install to a click by building a signature from device and network characteristics such as IP address, screen dimensions, OS version and locale, rather than from an identifier either party consented to share.
- Multi-touch attribution
Multi-touch attribution distributes the credit for a conversion across several of the marketing touchpoints that preceded it, rather than assigning all of it to a single first or last interaction.
- Probabilistic attribution
Probabilistic attribution estimates which ad interaction most likely caused an install by inferring a match from signals such as timing, network and device characteristics rather than from an identifier shared by both records.
- Self-attributing network
A self-attributing network is an advertising platform that performs attribution on its own servers and reports the installs it claims to have caused, rather than passing a click identifier for a third party to match.
- Server-to-server attribution
Server-to-server attribution is the practice of sending install and conversion events to an attribution endpoint from your own backend rather than from the device SDK, using an identifier captured at click time to join them to the campaign.
- View-through attribution
View-through attribution credits an install or conversion to an ad impression the user saw but never clicked, provided the conversion happens inside a view window that is usually much shorter than the click window.
- Webhook
A webhook is an HTTP request a service sends to a URL you control when an event occurs, delivering the event's data without your system having to poll for it.
Metrics and growth
- Classic retention
Classic retention is the percentage of a cohort that is active on day N exactly, counting only activity on that specific day and ignoring activity on any other day.
- Cohort analysis
Cohort analysis groups users by a shared starting event, usually their install date, and measures each group separately over time so that changes in behaviour can be separated from changes in acquisition mix.
- eCPI
Effective cost per install is total marketing spend divided by all installs attributable to that spend, including organic uplift and referred installs, rather than only the installs a network claims.
- K-factor
K-factor is the average number of new users each existing user generates through invitations, calculated as invitations sent per user multiplied by the conversion rate of those invitations.
- N-day retention
N-day retention is the percentage of a cohort that is active on the Nth day after their starting event, where day zero is the day of the starting event itself.
- QR code deep link
A QR code deep link is a QR code encoding a universal or app link, so that scanning it opens the corresponding app directly on the intended content, or routes to the app store and restores that content after install.
- Retention rate
Retention rate is the percentage of a cohort of users who are still active after a defined period, measured from a fixed starting event such as install.
- Rolling retention
Rolling retention is the percentage of a cohort that is active on day N or on any day after it, treating a user as retained if they ever returned at or beyond that point.
- Smart app banner
A smart app banner is a native promotional bar that Safari on iOS renders at the top of a web page when the page declares an `apple-itunes-app` meta tag, offering to open or install the associated app.
- Web-to-app conversion
Web-to-app conversion is the process of moving a mobile web visitor into a native app, ideally landing them on the same content they were viewing rather than on a generic home screen.
Related reading: what is deep linking, deferred deep linking, and the free tools these definitions link into.