Mobile attribution: which campaign earned the install.
Install attribution matches an install, and the in-app events that follow it, back to the click that produced it. LinkTrail does that with a four-layer signal waterfall, records a match type on every install so you know how the credit was earned, and never reads an advertising identifier to do it.
Which signals attribute an install?
Layers are evaluated in order. The first that produces a match wins, and the install records which layer produced it.
| Layer | Platform | Confidence | Detail |
|---|---|---|---|
| Play Install Referrer | Android | Deterministic | Google Play passes a referrer string through the store to the installed app. |
| Deferred click token | iOS (primary) | Deterministic | A token the tapped link leaves on the clipboard, recovered at first open — by default only when the user taps a paste control. |
| Probabilistic match | iOS and Android | Inferred | Matches the install's IP address and platform against clicks inside the attribution window. Off by default, enabled per workspace, and consent-gated. Inferred rather than certain, and recorded as such. |
| SKAdNetwork / AdAttributionKit | iOS | Aggregated | Apple's own frameworks, running alongside the above. Aggregated, delayed, and conversion-value limited by Apple. |
| Unattributed | Both | None | No token matched and no qualifying click was found. Reported as organic rather than assigned to the most plausible campaign. |
Exactly which fields the probabilistic layer compares, why the outcome is binary rather than scored, and the reasoning behind the window are published in full on the attribution methodology page.
How does mobile attribution work?
What does install attribution actually answer?
Which click produced which install, and therefore which campaign, channel, and creative to credit. That is the question budget decisions are made against, and it is harder than it sounds because the App Store and Play Store sit between the click and the first launch and pass almost nothing across. Attribution is the reconstruction of that broken chain, and every reconstruction carries a confidence — which is why LinkTrail records a match type on every install rather than reporting one undifferentiated attributed total.
How does attribution work without the IDFA?
By preferring signals the platforms hand over deliberately. On Android the Google Play Install Referrer is exact when present, because the store itself passes it to the installed app. On iOS the primary signal is a deferred click token the tapped link leaves behind, recovered at first open. Only when neither exists, and the workspace has enabled it, does matching become probabilistic — comparing the install's IP address and platform against clicks inside the attribution window — and that path is consent-gated and recorded as inferred rather than certain.
Is probabilistic matching the same as fingerprinting?
Yes, and we describe it that way rather than using a softer term. Comparing device and network characteristics to identify a device is fingerprinting under Article 5(3) of the ePrivacy Directive, and the EDPB's Guidelines 2/2023 confirm it requires end-user consent — legitimate interests does not cover it. Apple also restricts it irrespective of App Tracking Transparency status. It is off until consent is granted and can be disabled entirely per workspace.
Where do SKAdNetwork and AdAttributionKit fit?
Alongside, not underneath. Apple's frameworks, SKAdNetwork and AdAttributionKit, are the only attribution path for some paid iOS network spend, and they return aggregated, delayed postbacks with a limited conversion value. No provider can enrich that data or turn it back into per-install detail, and any vendor claiming otherwise is describing something else. LinkTrail registers for them, pushes conversion values, and ingests the postbacks, and keeps that reporting separate from the install-level waterfall because the two are not the same kind of number.
SKAdNetwork 5: what changed and what to shipWhich attribution model and window should I use?
Last-touch with a seven-day click window is the default, and first-touch and linear are available per workspace along with configurable click and dedup windows. The window is a precision lever rather than a coverage setting: an IP address on a mobile network can change within minutes of a click while a timezone effectively never does, so widening it buys matches that mean less. If you are comparing LinkTrail against another provider, hold the window and the model constant first — otherwise you are comparing two methodologies, not two tools.
How does fraud scoring affect attributed installs?
It annotates them; it does not silently remove them. Every install is scored against velocity, device-signal, and spoofing heuristics, and installs that trip a rule are flagged in reporting with the rule codes that fired — ctit_too_short rather than a number to interpret. Click injection is checked on every install; the velocity, device-repeat, geo-mismatch, and click-flooding rules are part of advanced fraud prevention. What to do about a flagged install stays your call: LinkTrail does not reject installs, arbitrate partner disputes, or make payout decisions.
What doesn't LinkTrail infer?
- We never read the Apple IDFA, with or without App Tracking Transparency permission, and never read the Google Advertising ID. Device identifiers are vendor-scoped only — IDFV or App Set ID, with a random persisted UUID as fallback.
- We don't run probabilistic matching before consent. Links still route immediately; only the recording waits.
- We don't model the unattributed gap. An install with no qualifying match is reported as organic, not as a statistically likely campaign.
- We don't make payout decisions. Fraud scoring affects reporting only.
- We don't publish an accuracy percentage, because we don't yet have a production dataset large enough to support one honestly.
Downstream value ties back the same way: call trackEvent for purchases and custom events and they roll up to the campaign that earned the install. The SDK-side detail is in the attribution guide.
Attribution starts on the free plan
Campaign attribution is included on every tier, including Free — 5,000 monthly active users and 25,000 clicks a month, no card required. Growth adds ad-network cost data, the full match audit log, and webhooks on every attribution event.
Primary sources
- Google · Google Play Install Referrer
- Apple · AdAttributionKit
- Apple · SKAdNetwork
- Apple · App Tracking Transparency
Attribution — common questions
What is mobile attribution?
Mobile attribution is the process of matching an app install — and the in-app events that follow it — back to the click, campaign, and channel that produced it. Because the App Store and Play Store pass almost no context from a click to a first launch, attribution means reconstructing that link from signals observed at both ends, and reporting how confident each reconstruction is.
Can you attribute installs without the IDFA or Google Advertising ID?
Yes, and LinkTrail never touches either. Attribution runs on the Google Play Install Referrer, a deferred click token, and consent-gated probabilistic matching, with Apple's SKAdNetwork and AdAttributionKit alongside for paid iOS network spend. Device identifiers are vendor-scoped only — IDFV or App Set ID, with a random persisted UUID as fallback — so resetting an advertising identifier has no effect on attribution.
What is a match type, and why does it matter?
It is the record of which layer of the waterfall produced an attribution: a deterministic install referrer or click token, a scored probabilistic match, or none at all. It matters because a report that blends deterministic and scored matches into one attributed total will systematically overstate channels that attribute deterministically and understate those that do not. Match type should be a first-class column wherever installs appear.
What is the default attribution window?
Seven days, configurable per workspace along with the dedup window and the attribution model. Last-touch is the default model; first-touch and linear are available. Re-engagement and probabilistic matching are toggles, with a read-only priority chain in the dashboard showing how the signals are ranked.
What happens to installs that can't be matched?
They are reported as organic. A probabilistic match is only recorded at a confidence of 0.6 or above; below that the install is not assigned to the most plausible campaign. The floor sits above the midpoint on purpose, because a false positive credits paid spend for an organic install, inflates return on ad spend, looks like success, and attracts more budget — while a missed match under-credits a campaign and gets investigated.
Can I track campaign attribution across iOS and Android?
Yes. One link carries the campaign, channel and UTM tags to both platforms, routes each device to its store or into the app, and reports installs and in-app events from iOS and Android under the same campaign. The matching differs underneath — the Play Install Referrer on Android, a deferred click token on iOS, with consent-gated probabilistic matching as the fallback on both — so compare the platforms by match type. The cross-platform campaign guide walks through the setup.
Does LinkTrail work with Meta and TikTok ads?
Yes, in ads and posts that send people to a URL: a LinkTrail link captures the network's click ID (fbclid or ttclid) and deep links through the install. App install campaigns send new users straight to the store and don't accept third-party links as the destination. Cost comes from importing each network's CSV export; LinkTrail doesn't connect to ad accounts or send installs back to the networks. Details are on the integrations page.
Which plan includes attribution?
Campaign attribution with UTM and source/medium is on every plan, including Free. Growth, at $49 a month, adds ad-network cost data from Meta, Google, TikTok, and X, the full match audit log showing deterministic versus probabilistic matches, webhooks on every attribution event, and 12-month analytics history. Scale adds advanced fraud prevention and data export to S3, Snowflake, or BigQuery.
Questions about your setup?
Email support@linktrail.io or see the plans, starting with a free tier.