ReflectEditorial
/boostCMSStart free
Home/Blog/SKAdNetwork & Privacy
SKAdNetwork & Privacy·11 min read·Published September 8, 2026

Mastering SKAdNetwork 4.0 & AdAttributionKit: How to Configure 64 Conversion Values for Maximum ROAS

A practical, mathematical guide to postback windows, coarse vs. fine values, lockWindow timing, and crowd anonymity tiers.

Key Executive Takeaways
  • SKAN 4.0 transforms iOS attribution from a single 24-hour snapshot into three structured measurement windows (0-2 days, 3-7 days, 8-35 days), capturing long-term retention and purchase cohorts.
  • 6-bit Fine Conversion Values (0-63) are only delivered in Window 1 and under high Crowd Anonymity (Tier 2 and Tier 3). Low-volume campaigns drop down to coarse values (low, medium, high).
  • The `lockWindow` parameter is the most powerful tool in your arsenal: locking Window 1 on day 1 allows postbacks to fire within 24-48 hours instead of delaying campaign steering by days.
  • AdAttributionKit (AAK) is Apple's unified framework across iOS 17.4+, harmonizing App Store campaigns, re-engagement, and alternative app marketplace measurement under one protocol.

The Evolution: From SKAN 2.0 Chaos to SKAN 4.0 Maturity

When Apple introduced SKAdNetwork 2.0 alongside iOS 14.5, it sent shockwaves through the mobile advertising industry. Marketers were suddenly limited to a single 6-bit integer (values 0 to 63) that could only be updated monotonically within a 24-hour rolling timer.

SKAdNetwork 4.0 (and its successor, Apple's AdAttributionKit) fundamentally re-engineers this paradigm:

3 Windows
Window 1: 0-48h · Window 2: 3-7d · Window 3: 8-35d
Distinct postback measurement windows allowing up to 35-day cohort tracking

In this guide, we break down the exact mathematics of schema design, how to balance revenue buckets against behavioral milestones, and how to configure Reflect's automated SKAN manager.


1. Understanding the Three Measurement Windows

Unlike SKAN 3, which fired a single postback, SKAN 4 can return up to three postbacks per attributed install:

  1. Window 1 (Day 0 – 2): Measures initial funnel completion, registration, onboarding, and first purchase. Supports Fine values (0–63) and Coarse values (low / medium / high) depending on crowd anonymity.
  2. Window 2 (Day 3 – 7): Measures early retention, day-3/day-7 engagement, and subscription conversion. Supports Coarse values only.
  3. Window 3 (Day 8 – 35): Measures month-1 retention and high-value player spend. Supports Coarse values only.

Postback Arrival Timelines

Each window is followed by a randomized delay (24 to 48 hours for Window 1; 24 to 144 hours for Windows 2 & 3) designed by Apple to prevent timing-based user identification.

Install
   │
   ├── Window 1 [0h - 48h] ──> Random Delay [24h - 48h] ──> Postback 1 (Fine or Coarse)
   │
   ├── Window 2 [3d - 7d]  ──> Random Delay [24h - 144h] ──> Postback 2 (Coarse only)
   │
   └── Window 3 [8d - 35d] ──> Random Delay [24h - 144h] ──> Postback 3 (Coarse only)

2. Crowd Anonymity Tiers: Why You Might Receive Null

Apple calculates a dynamic Crowd Anonymity Tier (Tier 0, Tier 1, Tier 2, Tier 3) based on the install volume of the campaign, publishing app, and ad network:

Anonymity TierWindow 1 ValueSource IdentifierWindow 2 & 3
Tier 0 (Lowest)null2 digitsnull
Tier 1Coarse (low/med/high)2 digitsnull
Tier 2Fine (0–63)3 digitsCoarse
Tier 3 (Highest)Fine (0–63)4 digitsCoarse
⚠️ Caution & Risk

The Volume Threshold Trap: If you fragment your UA budget across 50 small ad sets with only 5 installs per day each, you will sit permanently in Tier 0 and receive 100% null conversion values. Consolidate ad sets to push past the Tier 2 threshold.


3. How to Architect Your 64 Fine Conversion Values

You have 64 discrete integers (0 to 63) to describe user value in Window 1. How should you partition them?

There are three primary strategies:

Strategy A: Pure Revenue Tiering (Best for E-Commerce & Retail)

Partition the 64 values into non-linear revenue brackets:

  • Values 0–5: Non-purchasers (Onboarding step 1, 2, 3, Registered, Added to Cart)
  • Values 6–20: Micro-transactions ($1.00 – $15.00)
  • Values 21–45: Mid-tier orders ($15.01 – $75.00)
  • Values 46–63: High-ticket orders ($75.01 – $500.00+)

Strategy B: Hybrid Funnel + Monetization (Best for Subscription & Fintech)

  • Bits 0–3 (0–15): Product engagement (e.g., Connected Bank Account, KYC Verified, First Trade)
  • Bits 4–5 (16–63): Subscription tier selected (Monthly, Annual, Lifetime) or deposit volume.
💡 Pro Tip

Reflect Schema Validator: Reflect enforces strict monotonic revenue mapping. If your top bucket revenue minimum is less than lower tiers, our engine flags it immediately. Check our API Reference for automated schema sync.


4. The Superpower: lockWindow Mechanics

One of the greatest innovations in SKAN 4 is Apple's lockWindow argument in updatePostbackConversionValue.

Why lockWindow Matters:

If you wait for Window 1's full 48 hours, plus the 24-48 hour delay, your marketing algorithm receives zero postback feedback until Day 4.

If a user completes your core conversion milestone (e.g., Subscribes to Annual Plan) at Hour 6, you can call:

swift
// iOS Native Swift call
try await updatePostbackConversionValue(
    fineValue: 58,
    coarseValue: .high,
    lockWindow: true
)

By locking the window, Apple immediately closes Window 1 and begins the randomized timer. You receive the postback on Day 2 instead of Day 4, speeding up algorithmic bidding on Meta, Google, and TikTok Ads by over 50%!


5. Apple AdAttributionKit (AAK): What You Must Know

Starting with iOS 17.4 and expanding in iOS 18, Apple introduced AdAttributionKit (AAK). AAK is not a deprecation of SKAN, but rather a superset that brings crucial capabilities:

  1. Re-engagement / Retargeting Support: AAK introduces attribution for existing users who tap an ad to reopen an installed app.
  2. Alternative App Marketplaces: AAK natively supports attribution for installs originating from third-party app stores in the European Union.
  3. Developer-Direct Postbacks: Simplified postback routing directly to your MMP without intermediary ad network tampering.

Reflect provides first-class support for both SKAN 4.0 and AdAttributionKit out of the box in our iOS Core SDK.


6. Checklist: 5 Steps to Maximize iOS ROAS Today

  1. Audit Your Anonymity Tiers: Verify what percentage of your Window 1 postbacks arrive with null. If it exceeds 15%, consolidate campaigns immediately.
  2. Adopt Coarse Value Fallbacks: Ensure your SDK configures meaningful .low, .medium, and .high flags so Tier 1 postbacks still inform your bidding algorithms.
  3. Trigger `lockWindow` on High-Intent Events: Don't let valuable conversion signals wait the full 48 hours.
  4. Align With Deterministic Waterfalls: Cross-reference consented IDFA traffic against SKAN aggregates to calibrate modeled conversion multipliers. See our Deterministic vs Probabilistic Guide.
  5. Switch to Open, Fair-Priced MMP Infrastructure: Don't pay legacy tax on SKAN postbacks. Calculate your monthly bill with our Pricing Calculator.
Dr. Elena Rostova

Written by Dr. Elena Rostova

Head of Privacy & Algorithmic Measurement

Specialist in zero-knowledge proofs and differential privacy. Former iOS measurement lead at top tier gaming studios.

Scale Your Mobile App With Sub-Linear Pricing

Eliminate enterprise MMP lock-in. Real-time deterministic matching, full SKAN 4 & AdAttributionKit support, and sub-penny pricing at scale.