SKAdNetwork iOS attribution explained: SKAN 4, AdAttributionKit and what to do now

SKAdNetwork is the one attribution signal that covers every iOS user. Here's how it works, what AdAttributionKit adds, and how to design a conversion schema that helps you bid.

Key takeaways
  • Without ATT consent, SKAdNetwork and AdAttributionKit are your main iOS attribution signal.
  • SKAN 4 gives three postbacks; only the first can carry a fine 0–63 value.
  • AdAttributionKit adds re-engagement, configurable windows, cooldowns and country codes.
  • Consolidate campaigns so postbacks clear privacy thresholds.
  • Design the conversion value schema around early predictors of revenue.

If you spend money on iOS user acquisition, SKAdNetwork iOS attribution is how most of that spend gets measured. Apple's privacy framework tells ad networks that an install or re-engagement happened, and passes back a limited, delayed signal about what the user did next. It's coarser than the user-level data marketers had before App Tracking Transparency, but it's the one signal that covers every iOS user, opted in or not. Apple's newer framework, AdAttributionKit, builds on it.

This guide explains how the system works in plain terms, what changed with SKAN 4 and AdAttributionKit, how to design a conversion value schema, and what a marketing team should actually do.

Why iOS attribution works differently

Since iOS 14.5, apps need the user's permission through the App Tracking Transparency (ATT) prompt to track them across other companies' apps and websites or to access the advertising identifier (IDFA). Without permission, the IDFA is all zeros. Apple defines tracking broadly, including linking data from your app with data from other companies for targeted advertising or advertising measurement, per Apple's user privacy guidance.

So for users who don't opt in, classic deterministic attribution (this ad click produced this user) isn't allowed. SKAdNetwork fills the gap by doing the attribution on the device and sending ad networks an anonymized, aggregated result.

Two other signals still exist alongside it. Users who accept the ATT prompt can be attributed at user level by your MMP as before. And Apple Search Ads, because it runs inside the App Store, has its own attribution through Apple's AdServices framework, which doesn't depend on ATT consent. A complete iOS measurement setup uses all three and understands where each one is blind.

How SKAdNetwork iOS attribution works

The flow, simplified:

  1. A signed ad is shown. The ad network signs the ad impression or click with its network ID and a campaign or source identifier.
  2. The user installs and opens the app. The device records which eligible ad gets credit.
  3. Your app updates a conversion value as the user does things: completes signup, starts a trial, purchases.
  4. A timer runs. After the measurement window closes, the device waits a random delay so the postback can't be tied to a specific moment.
  5. A postback is sent to the ad network (and optionally a copy to you or your MMP) with the source identifier, the conversion value and other fields, as long as privacy thresholds are met.

The key constraint is crowd anonymity. The more installs a campaign drives, the more detail Apple includes in the postback. Small campaigns get less: shorter source identifiers, coarse values instead of fine ones, or no conversion value at all.

SKAN 4 essentials

SKAdNetwork 4 introduced most of the structure marketers work with today:

FeatureWhat it means in practice
Three postbacksMeasurement windows of roughly days 0–2, 3–7 and 8–35 after install, so you see early and later behavior
Fine conversion valueA value from 0 to 63 (6 bits), available only in the first postback and only when the crowd anonymity tier is high enough
Coarse conversion valueLow, medium or high. Used in the second and third postbacks, and in the first when volume is too low for a fine value
Hierarchical source identifierTwo to four digits for campaign or creative detail. Higher-volume campaigns get more digits
Lock windowYour app can end a window early once the outcome is known, so the postback arrives sooner
Web-to-appAds on web pages in Safari can be attributed as well as in-app ads
Get a free growth plan for your app

Share your app and goals. We'll send a channel plan, starting budget and the first creatives we'd test — free, within 48 hours.

Get my free growth plan WhatsApp us

AdAttributionKit: what's new and what's the same

AdAttributionKit (AAK) is Apple's successor framework. It launched with iOS 17.4, is interoperable with SKAdNetwork so existing campaigns keep working, and supports alternative app marketplaces in regions where Apple allows them. It keeps the SKAN 4 model of postbacks, fine and coarse values and crowd anonymity, and adds:

Apple walks through these in its WWDC25 AdAttributionKit session. One caution: support across ad networks and MMPs has rolled out unevenly, and Singular has noted that adoption of newer versions has lagged. Check what each of your networks actually supports before relying on a feature.

Designing a conversion value schema

The conversion value is your only post-install signal for non-consenting users, so treat its design as a product decision, not a technical afterthought. A step-by-step approach:

  1. Pick the business outcome you optimize for. Revenue for commerce and games, trial-to-paid for subscriptions, a qualified action (such as KYC completion or first deposit) for fintech.
  2. Find early predictors. Using your own data, identify what users do in the first 48 hours that predicts that outcome: completed onboarding, trial start, first purchase amount, number of sessions.
  3. Map the fine value (0–63) to the first window. Common patterns are revenue buckets, a funnel ladder, or bits that combine flags (signed up, started trial, purchased).
  4. Map coarse values to clear tiers for all three windows. For example: low = installed and onboarded, medium = trial started, high = paid.
  5. Decide on locking. Lock the first window early if the key event usually happens in the first hours, so networks get faster feedback.
  6. Agree on decoding. Your MMP and ad networks must interpret the values the same way. Document the schema and version it.
  7. Review quarterly. Compare SKAN-reported results with your actual revenue by cohort, and adjust buckets that don't separate good users from bad.

A simple example for a subscription app:

WindowSignalExample mapping
0–2 days (fine)Funnel ladder1–10 onboarding steps, 20 paywall viewed, 30 trial started, 40+ paid by plan type
0–2 days (coarse)FallbackLow = onboarded, medium = trial, high = paid
3–7 days (coarse)Trial healthLow = inactive, medium = active trial, high = converted
8–35 days (coarse)Retention and renewalLow = churned, medium = active, high = renewed or upgraded

What iOS marketers should do now

Common SKAN mistakes

Need help with iOS measurement?

Appryze's founder has spent over 12 years running user acquisition for consumer and fintech apps on Google, Meta and Apple Search Ads, including iOS campaigns after ATT. We design the event plan and conversion schema during the build, so iOS campaigns have a usable signal from launch. See our Growth page, or read our Apple Search Ads guide.

Frequently asked questions

What is SKAdNetwork?

SKAdNetwork is Apple's privacy-preserving attribution framework for iOS. The device decides which ad gets credit for an install, then sends the ad network a delayed, anonymized postback with a campaign identifier and a conversion value set by the app. It works for all users, including those who decline tracking under App Tracking Transparency.

What is the difference between SKAdNetwork and AdAttributionKit?

AdAttributionKit is Apple's successor to SKAdNetwork, introduced with iOS 17.4 and interoperable with it. It keeps the same postback and privacy model, but adds re-engagement attribution, configurable attribution windows and cooldowns, country codes for high-volume campaigns, support for alternative marketplaces and development postbacks for testing.

How many postbacks does SKAN 4 send?

Up to three, one for each measurement window: roughly days 0 to 2, 3 to 7 and 8 to 35 after install. The first postback can carry a fine conversion value from 0 to 63 if the campaign has enough volume. The second and third carry only a coarse value of low, medium or high.

What should I put in my SKAN conversion values?

Encode the early user actions that best predict your real business outcome, such as onboarding completion, trial start or first purchase value, in the first window. Use coarse values for clear tiers like engaged, trial and paid. Document the schema, share it with your MMP and networks, and check it against actual cohort revenue regularly.

Why are my SKAdNetwork conversion values null?

Usually because the campaign didn't drive enough installs to clear Apple's crowd anonymity threshold, so the postback was sent without a conversion value. Consolidating campaigns and ad sets, reducing very granular targeting and increasing budget per campaign generally reduces nulls.

Get a free growth plan for your app

Share your app and goals. We'll send a channel plan, starting budget and the first creatives we'd test — free, within 48 hours.

Get my free growth plan WhatsApp us
AS

Amit Kumar Sharma — Founder, Appryze

12+ years running growth and user acquisition for consumer and fintech apps on Google App Campaigns, Meta and Apple Search Ads, and building Android, iOS and web products. Appryze builds apps for clients in the USA, UK, UAE and India — and markets them after launch.

More in SKAdNetwork iOS Attribution · All app marketing guides

💬