Skip to Content
DocumentationAttribution

Attribution

How AttributeHQ determines where your app installs come from.

The Attribution Waterfall

When a user installs your app, the SDK sends device information to the AttributeHQ server. The server runs a waterfall — a prioritized sequence of matching methods — to find the ad click that led to the install.

Install received 1. Install Referrer match? (Android only, 100% confidence) ↓ No 2. Device ID match? (IDFA/GAID, 95-100% confidence) ↓ No 3. Fingerprint match? (IP+UA, 60%+ confidence required) ↓ No 4. Organic (no matching click)

Matching Methods

1. Install Referrer (Android, Deterministic)

Confidence: 100%

The Google Play Install Referrer API passes the original click URL parameters directly to the app on first launch. This is the most reliable attribution method because:

  • It’s not affected by Limit Ad Tracking settings
  • The data comes directly from Google Play
  • It contains the exact click parameters (campaign, media source, etc.)

Only available on Android via Google Play.

2. Device ID (IDFA/GAID, Deterministic)

Confidence: 95-100%

Matches the device’s advertising identifier from the install against identifiers stored from ad clicks:

  • iOS: IDFA (Identifier for Advertisers) — requires ATT permission on iOS 14+
  • Android: GAID (Google Advertising ID)

High confidence because it’s a direct device match. The 5% gap from 100% accounts for rare edge cases (shared devices, GAID reset between click and install).

3. Fingerprint (IP + User-Agent, Probabilistic)

Confidence: 60-80%

When device IDs are unavailable (user denied tracking, or web platform), the server generates a fingerprint from:

ComponentWeightDescription
IP address40%Last octet anonymized for privacy
User-Agent30%Normalized (browser versions removed)
Screen resolution10%e.g., “1080x1920”
Timezone10%e.g., “Africa/Lagos”
Language10%e.g., “en-NG”

The fingerprint from the install is compared against fingerprints from stored clicks. A minimum 60% confidence is required for a match.

4. Organic

No matching click found within the attribution window. The install is classified as organic (user found the app on their own).

Attribution Window

The server looks for matching clicks within a 7-day window. Clicks older than 7 days are ignored.

  • Click records are stored in DynamoDB with a 7-day TTL
  • Expired clicks are automatically cleaned up

Click-to-Install Time (CTIT) Validation

Installs that occur within 10 seconds of a click are flagged as potentially fraudulent (click injection) and rejected from attribution. This is a basic fraud protection measure.

Multi-Touch Attribution

By default, AttributeHQ uses last-touch attribution — the most recent click gets 100% credit. Three additional models are available:

ModelDescription
Last-touch (default)100% credit to the final click before install
First-touch100% credit to the first click in the journey
LinearEqual credit split across all clicks
Time-decayMore credit to recent clicks, exponential decay

Multi-touch models are calculated at query time (not at attribution time) and available via the analytics API:

GET /api/v1/analytics/attribution?model=linear

How Clicks Are Tracked

Ad clicks are tracked via the click endpoint:

https://api.attributehq.com/v1/clicks?app_id={id}&c={campaign}&pid={source}

When a click arrives:

  1. Device fingerprint generated from IP + User-Agent
  2. Click stored to DynamoDB with TTL
  3. User redirected to app store
  4. Click archived to S3 data lake

Confidence Scores

Match TypeConfidenceMeaning
Install Referrer100%Exact match via Google Play
Device ID (exact)100%Same IDFA/GAID on click and install
Device ID (probable)95%Device ID match with minor differences
Fingerprint (strong)75-80%All fingerprint components match
Fingerprint (moderate)60-74%Most components match
Below thresholdBelow 60% → classified as organic