The mobile linking platform

Deferred deep linking: one link from ad to install to the right in-app screen.

LinkTrail is the deep linking and attribution platform for mobile-first teams. Smart-route every click to App Store, Play Store, or web. Survive the install. Land users on the exact screen they came for — with full campaign credit and fraud-clean data.

Ad IDs
None
Deep links
Deferred
Reach
iOS + Android
linktrail.io/happy-friday
200 OK

iPhone tap

Safari · iOS 18 · click token issued

Click

Smart route

Match: iOS → App Store

Redirect

App installed

Match: deterministic · attributed

Install

/promo/summer

SUMMER50 · campaign: summer_launch

Deep link

Attributed

summer_launch · instagram

Last touch

Built for the modern iOS & Android stack

SwiftKotlinSwiftUIJetpack ComposeSKAdNetworkAdAttributionKitUniversal LinksApp LinksPlay Install ReferrerSwiftKotlinSwiftUIJetpack ComposeSKAdNetworkAdAttributionKitUniversal LinksApp LinksPlay Install Referrer

The platform

Everything you need to ship, attribute, and grow.

LinkTrail bundles deep linking, attribution, fraud protection, and analytics into one platform — so you don't stitch together five vendors to answer "where did this install come from?"

Deep Linking

Deferred deep linking that survives the install

Click a link, install the app, and land on the exact screen — promo code, product, profile, anything. LinkTrail bridges the App Store handoff and resolves the deep link on first open.

Smart Routing

One link. Every device. The right destination.

Detect iOS, Android, and desktop in real time. Route to App Store, Play Store, mobile web, or a fallback page — all with the same shareable short link.

Attribution

Multi-signal attribution, deterministic where it counts

A waterfall of Google Play Install Referrer, deferred click tokens, and optional consent-gated IP + platform matching — no advertising identifiers. First-touch, last-touch, or linear models, configurable per workspace.

Fraud

Block click flooding and device farms automatically

Every install is scored against velocity, device-signal, and SDK-spoofing heuristics. Suspicious installs are flagged before they ever poison your funnel.

Privacy

AdAttributionKit and SKAdNetwork, first-class

Register for AdAttributionKit and SKAN, push conversion values, ingest postbacks. ATT-aware, privacy-safe, store-policy-clean.

Analytics

A real-time dashboard your growth team will actually use

Clicks, installs, attributed installs, and fraud signals — broken down by campaign, channel, platform, and link. Auto-refreshing, no waiting on cron jobs.

How it works

From tap to attributed install in four steps.

One link does the work of an ad redirector, app-store router, attribution engine, and deep-link resolver — without losing the user along the way.

  1. 01

    Create a smart link

    Define a deep link path, custom payload, and per-platform fallbacks. Generate a short link or QR code in seconds.

    Dashboard → Links → Create link
    
    Domain          links.yourapp.com
    Deep link path  /promo/summer
    Fallback URL    yourapp.com/promo
    Campaign        summer_launch
    Channel         instagram
    Custom data     { "code": "SUMMER50" }
  2. 02

    Route every click intelligently

    LinkTrail inspects the User-Agent, records the click with its campaign context, and redirects iOS to App Store, Android to Play, desktop to web — no extra logic on your side.

    GET /l/abc123
    ↳ iPhone   → apps.apple.com
    ↳ Pixel 8  → play.google.com
    ↳ Mac      → linktrail.io/promo
  3. 03

    Match the install to the click

    Our attribution waterfall runs the Play Install Referrer, deferred click tokens, and optional consent-gated probabilistic matching — no advertising identifiers. Every install carries the match type that produced it, and clean campaign credit.

    matchType: "deterministic"
    campaign:  "summer_launch"
    channel:   "instagram"
    attributed: true
  4. 04

    Land users on the right screen

    On first open, the SDK fires onLink with the path and custom payload. Skip the homepage. Convert users straight into the experience they tapped on.

    LinkTrail.shared?.onLink { link, _ in
      router.navigate(to: link.path)
      // → /promo/summer · code SUMMER50
    }

4

SDKs

iOS, Android, React Native & Flutter — on GitHub.

7-day

Attribution window

Configurable per workspace. Every install records its match type.

Read the methodology →

1

Query per redirect

Host, link and plan resolved in a single indexed lookup.

$0

Free to start

Create an account, make a link, run a campaign — no sales call.

Built for every role on the team

One platform. Four very different jobs to be done.

For Growth marketers

Run campaigns that prove they paid back

  • Per-link campaign, channel, and creative tagging
  • First-touch, last-touch, and linear attribution models
  • Cohort-level install and revenue ROI by channel
Use cases for growth marketers

For Mobile product teams

Land users where the magic happens

  • Deferred deep linking to any screen — even on first install
  • Custom payloads (promo codes, referrers, content IDs)
  • Re-engagement deep links for already-installed users
Use cases for mobile product teams

For Engineers

Drop-in SDKs, predictable API, no vendor lock-in

  • Native iOS (Swift) and Android (Kotlin) SDKs
  • Universal Links, App Links, and custom schemes
  • Open REST API, webhooks, and CSV/BigQuery export
Use cases for engineers

For Performance & paid

Postback to every ad network in their format

  • Meta, Google, TikTok, Apple Search Ads integrations
  • SKAdNetwork postback ingestion and conversion values
  • AdAttributionKit (iOS 18.4+) ready
Use cases for performance & paid

Developers

Three lines to install. Three lines to deep link.

Drop the SDK in, configure with your API key, and listen for deferred deep links. LinkTrail handles the click match, the install attribution, and the in-app routing payload.

iOS, Android, React Native & Flutter
Swift Package, Kotlin AAR, a React Native TurboModule, and a Flutter plugin.
Webhooks
Every attribution event delivered to your endpoint as predictable JSON.
Universal & App Links
AASA and assetlinks.json served from your domain.
Privacy-first
AdAttributionKit, SKAdNetwork, ATT-aware flows.

Links opening the browser instead of your app? Check your domain with our free validator — it reads the AASA and assetlinks.json for any domain. No signup.

iOS · Swift
import LinkTrailSDK

// 1. Configure once at launch — the install is tracked automatically.
try LinkTrail.configure(apiKey: "lt_live_…")

// 2. One hook — fires for deferred (first-launch) AND re-engagement links.
LinkTrail.shared?.onLink { link, source in
  router.route(
    to: link.path,             // "/promo/summer"
    customData: link.customData  // ["code": "SUMMER50"]
  )
}

// 3. Forward incoming Universal Links to the SDK (SwiftUI).
.onOpenURL { LinkTrail.shared?.handleDeepLink($0) }

Attribution & fraud

A waterfall designed for the post-IDFA world.

LinkTrail starts with the most accurate signal available — the Play Install Referrer or a deferred click token — and only falls back to consent-gated probabilistic matching when nothing else applies, and only if you switch that on. No advertising identifiers, ever. Every install is recorded with the match type that produced it, so you know exactly what you're looking at.

1

Play Install Referrer

Exact token · Android

deterministic
2

Deferred click token

Exact token · iOS + Android

deterministic
3

Probabilistic match

IP + platform · inside your click window

probabilistic
4

Organic

No match · unattributed

none

Fraud check · install #4821

No rules fired

Clean

fraud: false · fraudReasons: []

  • Click injection

    Install lands under 10s after its click

    Pass
  • Click floodingAdvanced

    Click→install gap past 75% of your click window, 24h floor

    Pass
  • IP velocityAdvanced

    20+ installs from one IP within 60 minutes

    Pass
  • Device repeatAdvanced

    5+ installs from one device ID within 24 hours

    Pass
  • Geo mismatchAdvanced

    Click country ≠ install country, when both are known

    Pass

An install that trips a rule is flagged in your reporting with the rules that fired — ctit_too_short, not a number to interpret. "This install arrived 1.2s after its click" is an argument you can put to an ad network. What to do about a flagged install stays your call.

Click injection is checked on every install. The rules marked Advanced are part of advanced fraud prevention — see plans.

Integrations

Plays nicely with your existing growth stack.

Capture the click ids your ad networks stamp on every link, import their cost exports, and land raw clicks, installs and events in your own warehouse. Spend comes from the CSV the network exports — LinkTrail doesn't connect to your ad accounts.

  • M

    Meta Ads

    Cost import + fbclid capture

  • G

    Google Ads

    Cost import + gclid & Play Install Referrer

  • T

    TikTok Ads

    Cost import + ttclid capture

  • B

    BigQuery

    Raw event export via an S3 stage

Pricing

Simple, usage-friendly pricing.

Start in the sandbox for free. Scale to millions of MAU on the same platform — no replatform, no surprise overages.

Free

$0

free forever

5,000 MAU

25K clicks/mo · 100 links

Start free
  • Universal Links + App Links
  • Basic analytics — 30-day history
  • QR code generation
  • Campaign attribution (UTM, source/medium)
  • Your LinkTrail subdomain (*.linktrail.io)
  • Community support (Discord)

Starter

$19

per month

25,000 MAU

150K clicks/mo · 1,000 links

Get started
  • Everything in Free, plus:
  • No LinkTrail branding on links
  • Custom short slugs (*.linktrail.io/your-campaign)
  • 90-day analytics history
  • 2 team members
  • Email support (48h response)
Most popular

Growth

$49

per month

100,000 MAU

750K clicks/mo · unlimited links

Get started
  • Everything in Starter, plus:
  • Custom domain (links.yourapp.com)
  • Full attribution — ad-network cost data (Meta, Google, TikTok, X)
  • Full match audit log (deterministic vs. probabilistic)
  • Webhooks — HMAC-signed install and event delivery
  • 12-month analytics history
  • 5 team members with roles · priority support (24h)

Scale

Custom

annual contract

500K+ MAU (custom)

Unlimited clicks & links

Contact sales
  • Everything in Growth, plus:
  • Multiple custom domains
  • SSO / SAML (Okta, Google Workspace, Microsoft Entra)
  • Data export to S3, Snowflake, BigQuery
  • Advanced fraud prevention
  • 2-year analytics history — our longest window
  • Dedicated CSM + onboarding

Need more than 500K MAU or a custom contract? Talk to sales.

Frequently asked questions

What is deferred deep linking?

Deferred deep linking carries a link's destination through an app install. Someone taps a link without having your app, installs from the App Store or Play Store, and on first launch lands on the exact screen the link pointed to — with any custom payload intact. Universal Links and App Links alone cannot do this, because the stores don't pass context through.

Does LinkTrail work without the IDFA or Google Advertising ID?

Yes — LinkTrail never accesses the Apple IDFA, with or without App Tracking Transparency permission, and never reads the Google Advertising ID. Attribution runs on the Google Play Install Referrer, a deferred click token, and consent-gated probabilistic matching. Resetting an advertising identifier has no effect on it.

How does LinkTrail handle end-user consent?

The iOS and Android SDKs are consent-gated by default. Until your app grants consent, deep links still route to the right screen, but no attribution is recorded and events are queued. Calling setConsent(true) after your consent prompt attributes the install and flushes the queue, without re-routing a user who already landed.

Which platforms does the LinkTrail SDK support?

iOS (Swift Package Manager or CocoaPods, iOS 15+), Android (Maven Central, minSdk 26), React Native (a New Architecture TurboModule), and Flutter (a pub.dev plugin). The React Native and Flutter packages wrap the same native SDKs, so behaviour matches across all four.

Where is LinkTrail data processed?

On EU infrastructure by default — application, database, content delivery, and monitoring. Our full sub-processor list, with transfer notes, is published in Annex III of the Data Processing Agreement rather than available only on request. If you have specific data residency requirements, talk to us before you sign anything.

Is there a free plan?

Yes. The Free plan covers 5,000 monthly active users, 25,000 clicks a month, and 100 links, at no cost and with no card required. Paid plans start at $19/month for Starter and $49/month for Growth. If you hit a plan limit we throttle the affected features rather than charging overage fees.

How does LinkTrail compare to Branch, AppsFlyer, and Adjust?

LinkTrail publishes flat pricing you can self-serve and integrate the same day, where those platforms quote by monthly tracked users through a sales process. We cover the same core — deferred deep linking, smart routing, and install attribution — with an SDK that never touches advertising identifiers and consent gating on by default. Our comparison pages cover each of them in detail, including where they're the better pick.

Ready when you are

Ship the link your growth team has been asking for.

Connect your iOS and Android apps in an afternoon. See attributed installs flow into the dashboard the same day.

60-second integration

# 1. Add the SDK
pod 'LinkTrailSDK'

# 2. Configure
try LinkTrail.configure(apiKey: "lt_live_…")

# 3. Listen
LinkTrail.shared?.onLink { link, _ in
  router.navigate(to: link.path)
}

Available for iOS, Android, React Native, and Flutter.