What is SKAN Attribution? Complete Guide for 2026

SKAN (SKAdNetwork) is Apple's privacy-preserving attribution framework for iOS. Learn how it works, its limitations, and optimization strategies.

How SKAdNetwork Works

SKAdNetwork operates as a closed-loop system managed entirely by Apple. The flow begins when an ad is displayed within an app. The ad network registers the impression or click with Apple's framework using a cryptographically signed payload. If the user installs the advertised app and opens it, Apple validates the conversion and prepares a postback.

The postback is sent directly from Apple's servers to the ad network, not to the advertiser or MMP. It contains limited information: the ad network ID, campaign ID, a conversion value, and in SKAN 4.0+, a source identifier and coarse conversion value. Critically, it contains no user-level identifiers. The postback is also delayed by a randomized timer (at least 24-48 hours) to prevent temporal correlation attacks that could re-identify users.

Conversion values are the advertiser's primary tool for understanding post-install behavior within SKAN. The app has a limited window to update its conversion value as the user takes actions, completing registration, making a purchase, reaching a level. Once the timer expires, the final conversion value is locked into the postback. This creates a fundamental tension between capturing meaningful behavioral data and the tight time constraints of the system.

SKAN 4.0 Improvements

SKAN 4.0 introduced several significant improvements over earlier versions. The most impactful is the three-postback-window system. Instead of a single postback, advertisers now receive up to three postbacks covering days 0-2, 3-7, and 8-35 after install. This extended measurement window allows teams to capture longer-term conversion events like subscriptions or repeat purchases that happen beyond the first 24 hours.

Coarse conversion values (low, medium, high) supplement the fine-grained 6-bit values. When a campaign does not meet the crowd anonymity threshold for fine-grained data, Apple falls back to coarse values rather than nulling the data entirely. This means smaller campaigns still receive some signal, even if it is less precise.

Source identifiers replaced the old campaign ID field with a hierarchical structure of two, three, or four digits depending on crowd anonymity levels. This gives advertisers more flexibility to encode campaign, ad group, and creative information, but only when their campaigns generate enough volume to meet Apple's privacy thresholds. SKAN 4.0 also added support for re-engagement measurement and view-through attribution windows.

Conversion Value Strategy

Your conversion value strategy is arguably the most important decision in your SKAN implementation. With only 64 possible values (0-63) in the fine-grained model, every bit matters. The goal is to encode the post-install signals that are most predictive of long-term user value within the constraints of the measurement window.

Common approaches include revenue-based mapping (encoding revenue buckets), event-based mapping (encoding combinations of key events like registration + purchase), and hybrid models that combine both. The right strategy depends on your app's monetization model and the actions that best predict lifetime value.

For subscription apps, encoding trial start, trial-to-paid conversion, and plan tier within the first 48 hours captures the most valuable signal. For e-commerce apps, encoding first purchase value and category provides actionable optimization data. For gaming apps, encoding progression milestones and first in-app purchase gives networks the signal they need to optimize toward high-value users.

Test your conversion value schema before deploying it at scale. Map out every possible value, verify that your most important user segments are distinguishable, and confirm that your MMP or analytics platform can decode the values correctly.

Optimizing Campaigns with SKAN Data

Working with SKAN data requires a different mindset than traditional user-level attribution. You cannot see individual user journeys, retarget based on specific behaviors, or run real-time A/B tests on attribution data. Instead, you are working with aggregated, delayed signals that require statistical thinking and patience.

Start by establishing baseline performance metrics for each campaign and network using SKAN data. Because postbacks are delayed, your optimization cycle shifts from hours to days. Build dashboards that account for the reporting delay and avoid making premature budget decisions based on incomplete data. A campaign that looks weak after 24 hours might show strong conversion values once the full postback window closes.

Linkrunner helps growth teams navigate SKAN complexity by automatically managing conversion value mapping, decoding postbacks, and presenting SKAN data alongside other attribution signals in a unified dashboard. This eliminates the need to build and maintain custom SKAN infrastructure while ensuring your team can act on iOS campaign data as quickly as the framework allows.

Use null value modeling to estimate the true performance of campaigns that fall below crowd anonymity thresholds. Many installs from smaller campaigns receive null conversion values, not because the users did not convert, but because the campaign volume was too low for Apple to release the data. Statistical modeling can recover much of this lost signal.

SKAN Implementation Checklist

Getting SKAN right requires coordination across your engineering, marketing, and analytics teams. On the engineering side, ensure your app calls the correct SKAN APIs: updatePostbackConversionValue for updating conversion values and proper handling of the completion handler. Verify that your app registers for ad network attribution on every launch, not just the first one.

On the marketing side, work with each ad network to confirm they support your target SKAN version and that their SDK is properly integrated. Not all networks support SKAN 4.0 features, and some may require specific SDK versions or configuration changes. Document which networks support fine-grained versus coarse conversion values.

For analytics, build a decoding pipeline that translates raw conversion values back into meaningful business metrics. This pipeline should handle all three postback windows, account for null values, and reconcile SKAN data with your other attribution sources. Most MMPs provide this functionality out of the box, but teams with custom analytics stacks will need to build and maintain it themselves. Validate your pipeline against known test campaigns before trusting it for budget decisions.

Frequently asked questions

See what mobile growth looks like when the product can think with you

Explore Linkrunner’s AI-native approach to attribution, deep linking, creative intelligence, and generation.