Attribution methods

The attribution waterfall for installs and re-engagements, lookback windows, view-through and household matching, re-attribution and fraud flags.

Updated 2026-09-02

Waterfall#

When POST /api/sdk/v1/install arrives, the engine tries each method in order and stops at the first match inside its window.

OrderMethodMatch keyWindow
1CLICK_IDclick_id sent by the SDK (deep link / universal link / clipboard)clickLookbackDays (default 7)
2INSTALL_REFERRERwc_click_id or gclid parsed from the raw Android Install ReferrerclickLookbackDays
3GCLIDgclid / gbraid / wbraid sent by the SDKclickLookbackDays
4APPLE_SEARCH_ADSAdServices attribution token (iOS 14.3+)30 days
5PARTNER_CLICK_IDttclid (TikTok), sc_click_id (Snap), Meta Install Referrer (decrypted)clickLookbackDays
6DEFERRED_DEEPLINK / PROBABILISTICSame hashed IP (per day) + OS + platform, most recent clickprobabilisticHours (default 24) when probabilisticEnabled
7VIEW_THROUGHImpression with the same IP hashviewLookbackHours (default 24)
8HOUSEHOLDImpression from the same /24 (IPv4) or /48 (IPv6) household hash — CTVhouseholdWindowHours (default 72)
9SKANApple SKAdNetwork postback (aggregate, no device)Apple's timers
10ORGANICNothing matched

The chosen method, click, campaign and click-to-install time (ctitSeconds) are stored on the install and returned to the SDK.

Windows per app#

All windows are per app (Apps & SDK → settings): clickLookbackDays, probabilisticHours, reattributionDays, viewLookbackHours, householdWindowHours, and the probabilisticEnabled switch for privacy-restricted markets.

Re-attribution and reinstalls#

  • An install call for a known device after reattributionDays (default 90) with a fresh click is treated as a re-attribution (is_reattribution: true).
  • A device that was marked uninstalled (silent-push failure) and installs again is a reinstall; both are reported separately from new installs.
  • Re-engagement of an existing user via deep link is a different flow: Re-engagement.

Fraud flags on installs#

FlagMeaning
CTIT_TOO_SHORTClick-to-install under 10 s (click injection)
CTIT_TOO_LONGOver 24 h on a click-id match (click flooding)
CLICK_FLOODMany clicks from the IP before the install
DEVICE_FARMSame IP hash produced many installs
SDK_SPOOFInstall call fields inconsistent with the platform / SDK version
DUPLICATE_DEVICEDevice id seen with another install inside the window

Flags never block the SDK response; they drive the Install fraud report and postback suppression rules.

When an app has Google's third-party app analytics enabled (googleLinkId, googleDevToken), each attributed install and configured in-app event is forwarded to Google's app conversion tracking API with the click's gclid and the advertising id supplied by the SDK (only under ATT / consent). Nothing else is stored.

SAN postbacks#

Meta Conversions API, TikTok Events API and Snap CAPI receive installs and events through the partner integrations under Integrations. Templates for 60+ networks live in the postback registry; see Postbacks.