SKAN 4 postbacks, windows and privacy tiers

How SKAdNetwork 4 postbacks work: three conversion windows, random delays, fine and coarse values, crowd anonymity tiers and what changes with AdAttributionKit.

Short answer: SKAN 4 can send up to three postbacks for the winning ad, one for each conversion window: days 0 to 2, 3 to 7 and 8 to 35 after first launch. Apple adds a random delay after each window, and decides how much detail each postback carries through crowd anonymity tiers. Only the first postback can carry a fine value.

What a SKAN postback is

SKAN postback: a signed message Apple sends to an ad network, and optionally a copy to the developer, confirming that an install came from one of its ads, with a conversion value where privacy rules allow.

SKAdNetwork measures iOS installs without user-level identifiers. Apps do not need ATT permission to use it, according to Apple. Apple's SKAdNetwork page now points developers to AdAttributionKit for app ad campaigns, but the two work together, as covered below.

How many postbacks does SKAN 4 send?

Up to three for the winning ad, on iOS 16.1 or later with ads signed for SKAN 4. Up to five non-winning ads can also receive a postback, marked did-win false, but only for the first window and without a conversion value.

The three conversion windows

PostbackWindow after first launchDelay after window endsValue type
FirstDays 0 to 224 to 48 hoursFine (0 to 63) or coarse, depending on tier
SecondDays 3 to 724 to 144 hoursCoarse only
ThirdDays 8 to 3524 to 144 hoursCoarse only

Points to know:

  • Windows start at first launch, not at install.
  • Locking a window with lockWindow set to true finalises its value early, and Apple ignores further updates in that window. The delay then starts from the lock.
  • The random delay is deliberate, so the timing of a postback cannot identify a user.
  • SKAN 3 and earlier used a single rolling 24-hour timer, with a postback 24 to 48 hours after the last update.

Fine and coarse values

  • Fine value: a 6-bit integer from 0 to 63. Values outside that range return an invalid conversion value error and are ignored. Apple ignores fine values after the first window.
  • Coarse value: low, medium or high. You or your ad network decide what each means.
  • The update method matters. The older updatePostbackConversionValue method without a coarse value only works in the first window and does not produce multiple postbacks. Use the version that takes coarseValue and lockWindow.

Crowd anonymity tiers

Apple gives each download a tier based on crowd size: how many installs share the same publisher app or domain, advertised app, country and source identifier.

TierFirst postbackSecond and third postbacks
Tier 32 to 4 digit source ID, fine value, source app ID or domain, optional country2-digit source ID, coarse value
Tier 22 to 4 digit source ID, fine value2-digit source ID, coarse value
Tier 12-digit source ID, coarse value2-digit source ID, coarse value
Tier 02-digit source ID onlyNone

At WWDC25, Apple described the country code as a bonus tier on top of the four, present only with enough volume in that country.

Install windows and limits

  • 30 days to install after a StoreKit-rendered ad or an attributable web ad.
  • 24 hours to install after a view-through ad.
  • 60 days after install for the app to be launched, and 60 days for the device to send the first conversion update.
  • StoreKit records up to 15 view-through impressions per source app, each expiring after 24 hours.
  • The minimum time from impression to postback is 24 to 48 hours. Apple's testing profile reduces it to about 5 to 10 minutes.

How AdAttributionKit fits in

AdAttributionKit is Apple's newer framework, available from iOS 17.4 for installs, with re-engagement added in iOS 18. It uses the same three windows and the same delays as SKAN 4. AdAttributionKit and SKAN impressions are ranked together and only one wins: click-through always beats view-through, then recency. SKAN conversion updates are mirrored into AdAttributionKit, and its postbacks label each conversion as download, redownload or re-engagement.

Common problems

FAQ

Common questions

What are the SKAN 4 conversion windows?

Days 0 to 2, 3 to 7 and 8 to 35, counted from the first launch of the app. Each can produce one postback for the winning ad.

Why do later SKAN postbacks take so long?

Apple adds a random delay of 24 to 144 hours after the second and third windows close. The third window alone runs to day 35.

Can the second postback carry a fine value?

No. Apple ignores fine values after the first window, so the second and third postbacks carry only coarse values.

What decides the crowd anonymity tier?

Apple assigns it from crowd size, based on the publisher app or domain, the advertised app, the install country and the source identifier. Bigger crowds get higher tiers and more detail.

Do I still need SKAN if I use AdAttributionKit?

Many ad networks still sign SKAN ads, and the two frameworks are ranked together on device. Apple mirrors SKAN conversion updates into AdAttributionKit, so supporting both is the safer path while networks move over.

What is mobile attribution?

Mobile attribution is the process of crediting each app install or in-app event to the ad, link or channel that drove it. A mobile measurement partner (MMP) does this across all your channels so each install is counted once.