Branch helps app developers understand which marketing efforts contribute to app installs, app opens, and in-app activity. Attribution evaluates eligible advertiser touchpoints, including ads, emails, website links, QR codes, SMS, and other campaigns, and credits downstream app activity according to the applicable attribution method, platform requirements, user consent status, and Branch configuration.
Attribution works by evaluating eligible marketing touchpoints within defined attribution windows. These windows determine how long after a click, view, or other engagement Branch can consider a touchpoint for attribution. Branch then applies the most reliable available attribution method and configured attribution rules to determine which touchpoint receives credit.
Accurate attribution helps measure campaign performance, optimize marketing spend, and better understand which channels and experiences are driving results.
Attribution methods
Branch supports multiple attribution methods — the specific mechanisms that provide attribution data. Each method supports different attribution types based on available signals and user consent.
Method | Platform | Uses Device ID* | Category | Description |
|---|---|---|---|---|
Install Referrer | Android | No | Deterministic | Store-provided attribution from Google Play, Huawei, Samsung, Xiaomi |
Device ID | iOS, Android | Yes* | Deterministic | Platform advertising identifiers (IDFA/AAID) with user consent |
SKAN/AAK | iOS | No | Deterministic | Apple's privacy-preserving framework (campaign-level) |
Apple Ads | iOS | No | Deterministic | Apple Ads via Apple Attribution API |
Preload | Android | No | Deterministic | Pre-installed apps with partner attribution |
Probabilistic Modeling | iOS, Android | No | Probabilistic | Aggregate modeling of campaign performance when eligible |
Direct Deep Link | iOS, Android | No | Deterministic | Referring Universal Link or Android App Link passed through app when already installed |
*Device IDs (IDFA/AAID) are only collected when users have opted in to tracking through App Tracking Transparency or equivalent platform consent mechanisms.
Attribution types
When multiple touchpoints are available, Branch determines attribution using the best available touchpoint. Each type represents a category of user engagement: engaged, click-through, and view-through
Attribution types are fulfilled by the attribution methods above. For example, "Deterministic Click" can be delivered by Install Referrer and Device ID (with consent),
Confidence level | Attribution method |
|---|---|
1 (Highest) | Preload |
2 | Deterministic Click-Through |
3 | Deterministic Engaged-View |
4 | Deterministic View-Through |
5 | Probabilistic Click-Through |
6 (Lowest) | Probabilistic View-Through |
Attribution method details
Each attribution method provides the underlying mechanism that enables attribution types. Deterministic methods use platform-provided identifiers or APIs, while probabilistic methods use aggregate statistical modeling.
Install referrer
Android app stores provide built-in attribution through official install referrer APIs. When your app initializes, the Branch SDK queries the app store API to retrieve the install source.
How it works:
Advertiser delivers content with install referrer to the app store
User installs the app
App store writes install referrer data to an API
On first launch, Branch SDK queries the app store's API and retrieves the referrer
Supported app stores:
Store | Requirements |
|---|---|
Google Play Store | Google Play App v8.3.73+ |
Huawei AppGallery | EMUI v3.0+, HMS Core v2.6.5+ |
Samsung Galaxy Store | Galaxy Store v4.5.20.1+ |
Xiaomi GetApps | GetApps v22.6.0.0+ |
Why deterministic: The app store itself confirms the install source through its official API.
Attribution types enabled: Deterministic Click-Through, Deterministic View-Through
Device ID
Warning: user consent required
Branch does not access IDFA unless the user has provided App Tracking Transparency (ATT) consent on iOS. For Android, equivalent platform consent mechanisms are required. Device ID attribution only applies when users have explicitly opted in to tracking.
When platform-provided advertising identifiers are available, and user consent has been granted, Branch will use these identifiers for attribution.
Why deterministic: Uses OS-provided advertising identifiers with explicit user consent.
Attribution types enabled: Deterministic Click-Through, Deterministic Engaged View, Deterministic View-Through
SKAdNetwork and AdAttributionKit
SKAN and AAK are Apple's privacy-preserving attribution frameworks. Apple verifies and reports attribution at the campaign level without providing user-level data. Branch supports these frameworks for iOS campaign measurement.
How it works: When a conversion occurs, Apple cryptographically signs the attribution data and provides it to Branch at an aggregated campaign level.
Limitations: These frameworks don't provide user-level insights or individual user journey tracking. All data is aggregated at the campaign level.
Why deterministic: Apple validates attribution, though at an aggregated campaign level rather than user level.
Attribution types enabled: Deterministic Click-Through, Deterministic View-Through
Apple Ads
Apple provides attribution for installs through the Ads Attribution API. Branch queries this API to determine if an install came from an Apple Ads campaign.
Why deterministic: Apple confirms the attribution through their official API.
Attribution types enabled: Deterministic Click-Through, Deterministic View-Through
Preload
For app installs from preload or on-device placement campaigns with supported partners, partners provide install attribution data through partner-specific mechanisms.
Why deterministic: Partner confirms the install source through their tracking system.
Attribution types enabled: Preload
Probabilistic Modeling
Note
Statistical aggregate modeling is used where permitted by applicable platform policies, only when deterministic or platform provided methods are not available.
Branch uses statistical modeling as a privacy-conscious method to help advertisers measure campaign performance when platform-provided attribution methods are unavailable.
How it works: This method analyzes patterns across campaign performance and contextual signals to estimate whether installs or events were likely influenced by the advertiser’s marketing touchpoints.
What it produces: Campaign-level performance estimates, not individual user tracking.
Implementation characteristics:
Uses statistical analysis of aggregate patterns, not unique persistent identifiers
Estimates campaign effectiveness using aggregate-level data
Uses only a limited measurement context that is temporary and scoped to a specific attribution event
Does not retain attribution data to create stable or reusable identifiers
Deterministic measurement is always given priority within the defined attribution window
Attribution types enabled: Probabilistic Click-Through, Probabilistic View-Through
Direct deep link
When a user with your app installed clicks a Branch Link, the link opens the app immediately via Universal Links or Android App Links. The Branch SDK retrieves the referring url.
How it works: Branch passes a unique url through the deep link (e.g., https://branch.app.link). The Branch SDK parses this URL and sends it to the Branch servers, which return the complete data associated with that link click.
Why deterministic: The Branch URL passes directly through the app via referring URL (Universal Links or Android App Links)
Platforms: iOS, Android, and any platform supporting deep linking protocols.
Attribution types enabled: Deterministic Click-Through
Understand attribution windows
Attribution windows define the period during which Branch can evaluate whether app activity (such as installs, opens, or in-app events) contributes to a marketing touchpoint. These time frames determine how long after a click or impression a conversion can be credited to that campaign.
Why attribution windows matter
Attribution windows are essential for understanding customer journeys and evaluating campaign effectiveness. Users often click an ad but don't convert immediately — they may research, compare options, or simply wait until later. Attribution windows ensure these delayed conversions are still credited to the right marketing touchpoint, enabling accurate ROI measurement and informed budget allocation.
Types of attribution windows
Window type | Default window | Description |
|---|---|---|
Click to Open | 1 day | Maximum time between clicking a Branch link and the app opening for attribution to occur. |
Click to Install | 7 days | Maximum time between clicking a Branch link and installing the app for attribution to occur. |
Click to Conversion Event | 30 days | Time window for attributing in-app events (purchases, signups, etc.) back to a link click. Typically longer than install windows to capture consideration periods. |
Impression to X | 1 day | Time window for view-through attribution when users see an ad without clicking. |
Re-engagement Inactivity | 90 days | A period of inactivity required before a later app open counts as re-engagement rather than continued usage. |
Deep Linking Duration | 120 minutes | Time a Branch link remains active to send users to specific in-app content. |
How attribution windows work
Attribution windows work together to determine what gets attributed and what functionality users receive. Consider these scenarios:
Scenario | Time between events | Result |
|---|---|---|
Scenario A | User clicks ad, installs 1 day later | ✅ Within install window (7 days) |
Scenario B | User views ad, installs 2 days later | ❌ Outside impression to x window (1 days) |
Scenario C | User clicks ad, installs 2 days later, purchases on day 10 | ✅ Within install window (7 days) ✅ Within purchase window (30 days) |
Configure attribution window hierarchy
Branch allows attribution window configuration at multiple levels to support different organizational needs:
Organization Level: Set default windows for all apps in your organization
App Level: Default app window set in:
New Branch: Configuration > Attribution Windows
Legacy Branch: Configure > App Settings > Attribution
Ad Partner Level: Set partner-specific windows when required by partner SLAs or measurement agreements
New Branch: Configuration > Ad Partners
Legacy Branch: Configure > Ad Partners
Best practices
Align attribution windows across platforms
Ensure your Branch attribution windows match the settings in your ad partner dashboards (Meta Ads, Google Ads, TikTok, etc.). Mismatched windows create discrepancies in reported performance, making it difficult to compare results or reconcile data.
Example: If Google Ads uses a 7-day click window but Branch is configured for 30 days, Branch may attribute installs that Google Ads won't claim, leading to reporting gaps.
Synchronize timezones
Ensure your Branch account timezone matches the timezone settings in ad partner platforms. Timezone misalignment can shift attribution windows by hours or even a full day, causing events to fall outside the intended window.
Tailor windows to product type
Different products have different consideration periods:
High-consideration purchases (finance, travel, B2B): Use longer windows (14-30 days) to capture research-driven conversions
Impulse purchases (food delivery, gaming, entertainment): Use shorter windows (1-7 days) for more conservative, immediate-impact measurement
Use shorter windows for impression attribution
View-through attribution windows should always be shorter than click windows. Users who merely see an ad (without clicking) have a weaker connection to that touchpoint than users who actively engage. Industry standard is 1 day for impressions versus 7 days for clicks.
Balance accuracy and attribution credit
Longer attribution windows capture more conversions but risk over-attribution (crediting campaigns that had minimal influence). Shorter windows are more conservative but may miss legitimate conversions that are delayed. Consider your business model, customer behavior data, and attribution philosophy when setting windows.
Tip
Review time-to-conversion reports in your Branch dashboard to understand actual user behavior, then set windows accordingly.