WarpLink
SDKsiOS

Install Attribution

Understand match types, confidence scores, and privacy on iOS.

WarpLink uses two tiers of attribution matching to connect app installs to the links that drove them.

Match Cascade

When the app opens, the SDK collects device signals and sends them to the WarpLink API. The server compares them against stored click signals.

TierMethodSignalConfidence
1DeterministicIDFV1.0
2ProbabilisticEnriched fingerprint0.40–0.85

Deterministic Matching (IDFV)

Used for re-engagement — when the app was previously installed on the same device.

  • Signal: UIDevice.current.identifierForVendor (IDFV)
  • Match type: .deterministic
  • Confidence: always 1.0
  • Does not require ATT permission

IDFV is a UUID unique to the combination of your app and the device. It persists across reinstalls on the same device.

Probabilistic Matching (Enriched Fingerprint)

Used for first-install attribution — when the app was not previously installed.

  • Signals: IP address + User-Agent + Accept-Language + screen size + timezone
  • Match type: .probabilistic
  • Confidence: varies by time window
Time Since ClickConfidence
< 1 hour0.85
< 24 hours0.65
< 72 hours0.40
Multiple candidates-0.15 per extra

Interpreting Results

The WarpLinkDeepLink includes matchType and matchConfidence:

WarpLink.checkDeferredDeepLink { result in
    if case .success(let deepLink) = result, let deepLink = deepLink {
        let confidence = deepLink.matchConfidence ?? 0

        switch confidence {
        case 0.5...:
            navigateTo(deepLink.destination)
        case 0.3..<0.5:
            showSuggestion(deepLink.destination)
        default:
            showOnboarding()
        }
    }
}
ConfidenceRecommended Action
1.0 (deterministic)Route directly to content
> 0.5 (probabilistic)Route to content — high confidence
0.3–0.5Show content with confirmation ("Were you looking for...?")
< 0.3Show generic onboarding

App Tracking Transparency

The WarpLink SDK:

  • Does not use IDFA (Advertising Identifier)
  • Does not prompt for ATT permission
  • Uses only IDFV, which is exempt from ATT
  • Does not interfere with your app's own ATT strategy

Privacy

Signals Collected

SignalPurposeSource
Screen resolutionFingerprint componentUIScreen.main.bounds
Timezone offsetFingerprint componentTimeZone.current.secondsFromGMT()
Preferred languagesFingerprint componentLocale.preferredLanguages
IDFVDeterministic matchingUIDevice.current.identifierForVendor

Not Collected

  • IDFA (Advertising Identifier)
  • Location data
  • Contacts or personal data
  • App usage data
  • Cross-app identifiers

All signals are sent over HTTPS and used solely for attribution matching. No cross-app tracking is performed.

On this page