On this page
- How it works
- ATT context (as-of 2025–2026)
- SKAdNetwork versions
- SKAN 4 mechanics in detail
- Postback windows
- Conversion values
- Source identifier (formerly campaign identifier)
- Web-to-app attribution
- Crowd anonymity
- Conversion value schema design
- Mobile Measurement Partners (MMPs)
- Practitioner challenges
- The three SKAN ROAS accuracy problems (adlibrary.com, 2026-05-10)
- SKAN fraud
- "SKAN fatigue" (2025–2026)
- Measurement strategies post-ATT
- AdAttributionKit — the successor framework
- Relevance to retail ecommerce
- Key terms
- Benchmarks (as-of 2026-01-07 unless noted)
- What practitioners report
- Dangling frontiers
SKAdNetwork
SKAdNetwork
Apple's privacy-preserving mobile attribution framework for iOS. Launched with iOS 14.5 alongside Apple App Tracking Transparency (ATT), SKAdNetwork (SKAN) became the primary attribution mechanism for the ~70–75% of iOS users who decline ATT tracking consent. It reports on ad-driven installs and post-install events without exposing any user-level data — instead sending anonymised, delayed postbacks to ad networks. Its successor framework, AdAttributionKit, was announced at WWDC 2024 and expanded at WWDC 2025.
How it works
SKAdNetwork operates via a four-step postback mechanism (adlibrary.com, 2026-05-10):
- An ad network registers the campaign impression with Apple.
- When a user taps the ad and installs the app, the advertiser app calls the SKAN API to set a conversion value encoding post-install behaviour.
- Apple validates attribution and sends a signed postback directly to the ad network after a deliberate randomised delay — bypassing the advertiser to prevent fingerprinting.
- The ad network forwards postback data to the advertiser's reporting dashboard (typically via an MMP (Mobile Measurement Partner)).
User IDs, device IDs, and individual event data are absent by design.
ATT context (as-of 2025–2026)
ATT global opt-in rate: adlibrary.com (May 2026) reports ~25–30% globally. Adjust's WWDC25 blog (June 2025) states approximately 35% as of Q2 2025. Both are practitioner estimates; no primary Apple figure is published.
Because the majority of iOS users decline ATT consent, SKAN has become the lead iOS attribution method — Business of Apps (updated 2026-01-07) reports that over 35% of all iOS attribution flows through SKAN, with Apple Search Ads accounting for an additional ~20% (as-of 2026-01-07, volatile).
SKAdNetwork versions
| Version | iOS requirement | Key additions |
|---|---|---|
| SKAN 1/2 | iOS 14.0+ | Single postback; 2-digit campaign ID (100 combos); fine conversion value (0–63) |
| SKAN 3 | iOS 14.5+ | Re-download attribution; source app ID in postback |
| SKAN 4 | iOS 16.1+ | Three postbacks; 4-digit source identifier (10,000 combos); coarse values; crowd anonymity tiers; lockWindow; web-to-app |
SKAN 4 is the current stable version (2022–present). The "SKAN 5" label anticipated by the industry was instead shipped as the new AdAttributionKit framework (WWDC 2024).
SKAN 4 adoption by ad networks: Business of Apps (updated Jan 2026) cites 33% adoption as of Q1 2024. Rock Paper Marketing (April 2026) reports most large platforms were still "primarily" on SKAN 3 as of 2026, with TikTok furthest toward SKAN 4. The Q1 2024 figure should not be treated as current. (as-of 2026-04-28)
SKAN 4 mechanics in detail
Postback windows
Three measurement windows per attributed install (Adjust help docs, © 2026):
| Window | Days post-install | Postback timing |
|---|---|---|
| 1 | D0–D2 | 24–48 hours after window closes (~D3–D4) |
| 2 | D3–D7 | 24–144 hours after window closes |
| 3 | D8–D35 | 24–144 hours after window closes |
Total elapsed time to receive Window 3 data: approximately 35–37 days post-install. This structural delay is the single biggest operational challenge reported by practitioners (r/mobilemarketing).
The lockWindow parameter (SKAdNetwork.updatePostbackConversionValue(_:coarseValue:lockWindow:)) allows an advertiser to finalise a conversion value before the window closes and trigger the postback immediately — useful when high-confidence early conversion data is already available (Adjust, © 2026).
Conversion values
Two value types in SKAN 4, exclusive of each other in any given postback:
- Fine conversion value — integer 0–63 (6-bit), available in Window 1 only; requires the highest crowd anonymity tier
- Coarse conversion value —
low/medium/high, available in Windows 2 and 3
The correct SKAN 4 SDK call is SKAdNetwork.updatePostbackConversionValue(_:coarseValue:lockWindow:completionHandler:). Many apps still use the older SKAdNetwork.updateConversionValue() call which does not support three-window reporting (adlibrary.com, 2026-05-10).
Source identifier (formerly campaign identifier)
A 4-digit hierarchical field in SKAN 4 (up from 2 digits / 100 combinations in SKAN 3). Always returns at least 2 digits; digits 3–4 unlock at higher crowd anonymity tiers. Up to 10,000 combinations. Typical mapping: digits 1–2 = campaign ID, digit 3 = date bucket, digit 4 = placement (Adjust, © 2026; Kochava, 2023).
Web-to-app attribution
SKAN 4 supports attribution of web ads (displayed on web pages) that direct users to App Store product pages. The source-domain field in the postback carries the originating domain. Safari only — not available in third-party browsers on iOS (Adjust, © 2026).
Crowd anonymity
Crowd anonymity is the mechanism Apple uses to prevent conversion data from being used to identify individual users. It operates across four tiers (0–3) determined by campaign volume, the advertised app, and the hierarchical source identifier (Kochava, 2023; Adjust, © 2026):
| Tier | Data received |
|---|---|
| 0 | Postback may not be sent, or carries no conversion value |
| 1 | All 3 postbacks sent; 2-digit source ID; coarse conversion value only |
| 2 | Postback 1: fine conversion value + up to 4-digit source ID. Postbacks 2 & 3: coarse only, 2-digit source ID |
| 3 | Postback 1 additionally includes source app ID or source domain |
Apple has never published the volume thresholds that map to each tier. This is explicitly confirmed by multiple sources:
- Kochava (2023-01-05): "Apple has not published specific volume counts."
- r/appledev (2026-02): "We've seen it as low as a few hundred installs but it varies by campaign criteria."
- Growthenger video (2026-03-16): threshold to avoid null conversion values estimated at ~100–150 installs per day.
Crowd anonymity volume threshold estimates: Growthenger (2026-03-16) estimates ~100–150 installs/day. Singular research (cited in adlibrary.com, 2026-05-10) estimates ~25–50 installs per campaign combination per window. Both are practitioner estimates; Apple has confirmed it is unlikely ever to publish the official threshold.
Low-volume campaigns — including niche apps or fragmented creative tests — fall to Tier 0/1 and receive either no data or coarse data only. r/mobilemarketing practitioners report creative tests with fewer than ~25–50 installs per variant return "coarse or null" data across all three windows.
Conversion value schema design
The 64 possible fine conversion values (0–63) must encode all post-install measurement needs for Window 1. Practitioners face an "impossible packing problem" (r/iOSProgramming, 2026-01): purchase value, funnel stage, and product category cannot all be represented simultaneously.
Common approaches reported:
Shopping / ecommerce apps (adlibrary.com, 2026-05-10):
- Window 1 (D0–D2): first add-to-cart event
- Window 2 (D3–D7): first purchase
- Window 3 (D8–D35): second purchase or subscription upgrade
- Revenue bucket schema: 0 = no purchase, 1–20 = low LTV tier, 21–40 = mid LTV tier, 41–63 = high LTV tier
Simplification strategy (r/mobilemarketing, 2025-12): some retail/ecommerce teams abandon full revenue encoding and instead pass a binary signal: 0 = no purchase, 1 = purchase — accepting loss of LTV granularity in exchange for operational simplicity.
Subscription apps (Growthenger, 2026-03-16): use early engagement proxy events (trial start, profile completion, content engagement) in Window 1 because revenue occurs outside the first 2-day window.
Google (Google Ads, 2025-03-04) states it does not support SKAN 4's coarse conversion values for measurement or optimisation as of March 2025, and was "assessing potential support." This was explicitly stated to affect any advertiser running Google App Campaigns on iOS.
Mobile Measurement Partners (MMPs)
MMPs wrap SKAN postbacks with four functions (Growthenger, 2026-03-16):
- Cryptographic validation — verify Apple's postback signature to prevent fraud
- Data enrichment — blend ad cost data into postbacks for true ROI reporting
- Predictive analytics — use early Window 1 signals to forecast long-term LTV
- Dashboard / reporting — normalise SKAN data across ad networks
Major platforms and practitioner perception (adlibrary.com, 2026-05-10; r/mobilemarketing, 2025-10):
- Singular — described as "most SKAN-native"; built probabilistic modelling on top of SKAN postbacks earlier than competitors; publishes the most detailed public SKAN benchmarks
- AppsFlyer — "Conversion Studio" visual UI for schema management; "SKAN + Predict" probabilistic fill; noted to produce higher-quality modelled installs at scale (>50K installs/month per some practitioners)
- Adjust — conversion value manager with SKAdNetwork Signature fraud validation; WWDC25 coverage
- Branch — universal attribution bridge; strong for web-to-app attribution journeys
- Kochava — published early crowd anonymity tier analysis (2023)
MMP quality at scale: r/mobilemarketing (2025-10) thread leans Singular for SKAN-native quality. At least 3 commenters in the same thread argue AppsFlyer's probabilistic PBA layer is superior for apps above ~50K installs/month, making Singular's SKAN-native edge "irrelevant at scale."
MMP switching cost: r/mobilemarketing (2026-01) notes that switching MMPs mid-campaign is a "3-month project minimum" — most teams stay with incumbent MMP and accept suboptimal SKAN data.
Practitioner challenges
The three SKAN ROAS accuracy problems (adlibrary.com, 2026-05-10)
Modelled conversions fill gaps — where crowd anonymity suppresses real postbacks, platforms (Meta, Google, TikTok) apply statistical modelling. Modelled conversions can represent 30–60% of reported SKAN installs on mid-tier campaigns (as-of 2026-05-10, volatile). Methodology is not published by any platform.
Platform optimisation window misalignment — platform bid algorithms (typically 7-day window on Meta, 30-day on Google) may not align with SKAN measurement windows. Optimising on Window 1-only signal when the most predictive events occur in Window 3 is a structural mismatch.
Double-counting risk — for the ~25–30% of iOS users who granted ATT consent, both SKAN and deterministic MMP (Mobile Measurement Partner) attribution fire simultaneously. If deduplication is not correctly configured, installs are counted twice.
SKAN fraud
SKAN is not fraud-proof. Fraudulent ad networks can register fake installs via the SKAN API; Apple signs the postback because the install was valid at the API level; the MMP verifies Apple's signature and marks it valid (adlibrary.com, 2026-05-10). Behavioural fraud signals: uniform conversion value distributions, unusually fast postback timing, source IDs not matching registered campaigns.
"SKAN fatigue" (2025–2026)
r/mobilemarketing practitioners describe a deprioritisation trend: "everyone integrated it in 2021–2022 and spent a year tuning conversion values. Now in 2025–2026 many teams have deprioritised SKAN optimisation because the ROI of tuning it is uncertain and Marketing Mix Modelling (MMM) is giving them better strategic answers anyway" (r/mobilemarketing, 2025-11).
Directly contradicted by r/iOSProgramming practitioners who argue: "if you don't invest in bit-packing your CV schema you're leaving the only signal Apple gives you on the table" (r/iOSProgramming, 2026-01).
Measurement strategies post-ATT
Practitioners report a blended approach (Rock Paper Marketing, 2026-04-28; r/analytics, 2025-11):
- SKAN postbacks as directional input (not source of truth)
- Incrementality testing (geo holdout experiments) as "the only trustworthy iOS signal left"
- Marketing Mix Modelling (MMM) for strategic budget allocation
- Meta's Aggregated Event Measurement (AEM) for web-to-app purchase attribution in parallel
- First-party probabilistic models trained on logged first-party events, with SKAN calibration
"We run geo holdouts every quarter and use SKAN as a sanity check, not a source of truth" (r/analytics, 2025-11).
Recommended evaluation cadence: every 30 days, not weekly, because SKAN has a 30-day conversion window and postback delays (Google Ads, 2025-03-04).
AdAttributionKit — the successor framework
AdAttributionKit (AAK) was introduced at WWDC 2024 as the long-term successor to SKAdNetwork. Key design: AAK and SKAN are interoperable — ad networks running SKAN continue to receive SKAN postbacks; AAK is additive, not a hard cutover (Apple developer docs, via Adjust, 2025).
At WWDC 2025 (June 9, 2025), Apple announced five major AAK additions shipping with iOS 18.4 / iOS 26 (Apple Developer, 2025-06-09):
- Configurable attribution windows — previously fixed at 30-day click-through, 1-day view-through
- Configurable cooldown periods — prevents re-engagement ads from claiming credit for events belonging to a prior install conversion
- Country codes in postbacks — derived from App Store storefront; subject to a "bonus" crowd anonymity tier above the existing four
- Conversion tags — allows multiple simultaneous re-engagement windows, solving the problem where a second re-engagement ad overwrote prior measurement
- Developer Mode — in-settings testing without requiring a separate publisher app; time randomisation removed for local testing
Apple explicitly encourages migration: "If you're using SKAdNetwork, now is a great time to migrate over to AdAttributionKit" (Apple Developer WWDC25 session 221, 2025-06-09).
AAK adoption timeline: Singular (likely early/mid 2024) stated AAK implementation "is probably not even on adtech company development timeframes yet." Adjust's WWDC25 blog (June 2025) frames AAK as current industry focus with active partner implementation underway. These reflect different points in time; no current adoption percentage is available.
Relevance to retail ecommerce
SKAdNetwork applies specifically to native iOS app attribution — retailers driving installs and in-app purchases through paid mobile advertising. Relevance varies by scale:
- Large retailers with significant native app install volume (e.g. fashion apps, marketplace apps, subscription commerce): SKAN is central to iOS paid user acquisition measurement. Conversion value schema design is a material product/data decision.
- Mid-market retailers (primarily web-driven iOS traffic): r/ecommerce (2025-12) notes "SKAN only matters if you have a native app with meaningful install volume, and most mid-market retailers don't." Safari/web traffic is not measured by SKAN.
For UNIQLO-scale operations, SKAN would apply to the UNIQLO app's paid iOS install campaigns and in-app purchase attribution.
Key terms
| Term | Meaning |
|---|---|
| ATT | App Tracking Transparency — Apple's user-facing consent framework (iOS 14.5+) that determines whether IDFA-based tracking or SKAN attribution applies |
| SKAN | Common abbreviation for SKAdNetwork |
| Postback | The signed attribution signal Apple sends to the ad network after an install (and conversion window) |
| Conversion value | Integer 0–63 (fine) or low/medium/high (coarse) encoding post-install behaviour |
| Crowd anonymity | Apple's privacy protection suppressing granular data below a volume threshold |
| Tier | One of four crowd anonymity levels (0–3) determining postback data richness |
| lockWindow | SKAN 4 API parameter to finalise a conversion value before the window closes |
| MMP | Mobile Measurement Partner — third-party attribution platform (AppsFlyer, Adjust, Singular, Branch, Kochava) |
| AAK | AdAttributionKit — SKAN's successor framework (WWDC 2024+) |
| AEM | Aggregated Event Measurement — Meta's equivalent privacy-preserving attribution layer |
| PCM | Private Click Measurement — Apple's web ad attribution extension, limited to Safari, considered "too limited" by practitioners |
Benchmarks (as-of 2026-01-07 unless noted)
- SKAN attribution share of iOS: >35% of all iOS attribution (Business of Apps, 2026-01-07)
- ATT global opt-in: ~25–30% (adlibrary.com, 2026-05-10) / ~35% (Adjust, Q2 2025) — see contradiction above
- Modelled conversions as % of mid-tier SKAN installs: 30–60% (adlibrary.com, 2026-05-10, practitioner estimate, volatile)
- Creative test minimum for fine conversion data: ~25–50 installs per variant per window (practitioner estimates; Apple does not confirm)
- Campaign consolidation threshold (Growthenger, 2026-03-16): ~100–150 installs/day to consistently receive fine conversion values
What practitioners report
- "SKAN fatigue" is real in 2025–2026 — teams deprioritise conversion value tuning in favour of MMM (r/mobilemarketing, 2025-11)
- The 30–37 day total postback lag means real-time bidding signals are effectively impossible from SKAN alone
- Meta's SKAN integration sends postbacks faster and more reliably than Google UAC's (r/mobilemarketing, 2026-03)
- Pre-permission ATT request dialogs (custom prompt before system dialog) consistently drive 5–15pp higher opt-in rates (adlibrary.com, 2026-05-10, practitioner estimate)
- Server-to-server postback signature verification is under-discussed in practitioner communities despite being a real implementation concern
Dangling frontiers
- AdAttributionKit — AAK mechanics in detail; configurable windows; network adoption rates
- MMP (Mobile Measurement Partner) — comparative platform analysis; SKAN vs probabilistic measurement
- Marketing Mix Modelling (MMM) — complement to SKAN for iOS budget allocation
- Incrementality Testing — geo holdouts as "the only trustworthy iOS signal"
- Apple Search Ads — SKAN-equivalent attribution for Apple's own ad network
- Meta AEM (Aggregated Event Measurement) — parallel to SKAN for Meta platforms