SKAdNetwork 4.0 Conversion Values and Tracking

SKAdNetwork 4.0 (SKAN 4.0), released alongside iOS 16.1, delivers the most significant overhaul to Apple's privacy-centric ad attribution framework to date. This update introduces hierarchical conversion values, expands attribution across three distinct measurement windows, replaces legacy campaign identifiers with flexible Source IDs, and extends attribution to Safari web-to-app ads. These changes are designed to provide mobile marketers with deeper, longer-term measurement insights while maintaining Apple's strict crowd anonymity standards.

Hierarchical Conversion Values: Fine and Coarse Grained

Prior versions of SKAdNetwork limited conversion values to a single 6-bit integer (0 to 63). If an ad campaign failed to meet Apple’s privacy thresholds, the conversion value was dropped entirely, returning null.

SKAN 4.0 resolves this data-loss problem by introducing hierarchical conversion values:

  • Fine-Grained Values: The traditional 6-bit value (0–63), used when an ad campaign meets the highest tier of crowd anonymity.
  • Coarse-Grained Values: A simplified bucket consisting of three predefined states: low, medium, or high. When a campaign generates moderate install volume that does not meet the highest privacy threshold, Apple returns a coarse value instead of withholding all conversion data.

If an install falls below even the minimum crowd anonymity threshold, the postback returns no conversion value.

Three Distinct Postback Windows for Long-Term LTV Tracking

Earlier versions of SKAN only provided a single postback, forcing marketers to compress user behavior tracking into the first 24 to 48 hours post-install. SKAN 4.0 introduces three sequential attribution windows, allowing teams to track engagement and lifetime value (LTV) for up to 35 days:

  1. Window 1 (Days 0 to 2): Can return either a fine or coarse conversion value. The postback is sent within a random 24-to-48-hour delay after the window closes.
  2. Window 2 (Days 3 to 7): Returns only coarse-grained values. The postback arrives within 24 to 144 hours after day 7.
  3. Window 3 (Days 8 to 35): Returns only coarse-grained values. The postback arrives within 24 to 144 hours after day 35.

Because postbacks 2 and 3 can only return coarse values, advertisers must configure simpler metrics—such as broad retention checkpoints or purchase tier thresholds—for later stages of the user lifecycle.

The LockWindow Feature

To help advertisers optimize campaigns faster without waiting for an entire postback window to conclude, SKAN 4.0 includes the lockWindow API. Developers can lock a conversion value once a specific conversion goal is met (such as a subscription purchase on day 4).

Locking the window immediately ends the measurement period and initiates the randomized timer for postback delivery, enabling faster reporting and media optimization.

Transition from Campaign IDs to Hierarchical Source IDs

SKAN 4.0 replaces the legacy 2-digit Campaign ID with a 4-digit Source ID. Like conversion values, the Source ID is hierarchical and unlocks more digits based on crowd anonymity:

  • 2 Digits: Guaranteed for all attributions meeting basic privacy thresholds (equivalent to the old Campaign ID).
  • 3 Digits: Provided at intermediate install volumes to represent variables like ad creative or placement.
  • 4 Digits: Provided at high install volumes, allowing granular tracking down to specific sub-publishers, ad sets, or geo-locations.

Web-to-App Attribution Support

Previously, SKAdNetwork only tracked app-to-app ad clicks. SKAN 4.0 expands support to include web-to-app attribution for ads rendered in Safari. When a user clicks an ad on a website in Safari and downloads the advertiser’s app from the App Store, SKAdNetwork can attribute the conversion using the same privacy-preserving postback logic applied to native app campaigns.