SKAdNetwork is Apple's privacy-preserving system for measuring iOS ad installs without sharing user-level data. It sends ad networks a signed, delayed "postback" that says an install happened, which campaign drove it, and (sometimes) what the user did next. In 2027 it works alongside AdAttributionKit.
Here is what surprises most app teams. SKAdNetwork 4 can report a fine-grained conversion value of 0 to 63, which is 64 possible values, but only in the first of three postbacks and only when the campaign has enough installs to pass Apple's privacy threshold (Apple WWDC22, What's new in SKAdNetwork, 2022). Everything else comes back as "low," "medium," or "high," or does not come back at all. If you run US iOS campaigns, you are budgeting against a signal that is delayed, capped, and conditional. This guide covers how the system works, how to design conversion values, how crowd anonymity shapes your data, and how a US growth team should plan for 2027.
Key takeaways
- SKAdNetwork 4 sends up to three postbacks per install, covering days 0-2, 3-7, and 8-35 (Apple WWDC22, 2022).
- Only the first postback can carry a fine conversion value (0-63); the other two carry coarse values (Apple Developer documentation, 2026).
- Crowd anonymity tiers (0-3) decide how many source identifier digits and which conversion value you receive, so small campaigns return less data (Apple WWDC22, 2022).
- AdAttributionKit builds on the same privacy model and adds re-engagement attribution (Apple Developer documentation, 2026).
What is SKAdNetwork and how does it measure iOS installs?
SKAdNetwork measures an install by having the App Store, not your servers or the ad network, confirm that an ad led to a download. Apple signs the result and sends it to the ad network after a delay, with no device ID attached. You never see which person installed; you see that someone did.
Apple introduced the framework before App Tracking Transparency (ATT) became mandatory in iOS 14.5, and it became the default path for paid iOS measurement once users could decline tracking. You can read the current framework description on the Apple Developer SKAdNetwork page, and the privacy rules around tracking on the App Store user privacy page.
Three parties take part. The source app shows the ad. The ad network signs the ad impression and receives the postback. Your advertised app calls Apple's API to register the install and update the conversion value. Your attribution partner (an MMP) then decodes the postbacks and reports them to you.
A few facts that shape how you plan:
- The older SKAdNetwork 3 gave you a two-digit campaign ID, so only 100 campaign values existed. SKAdNetwork 4 replaced it with a source identifier of up to four digits (Apple WWDC22, 2022).
- Postbacks are delayed on purpose. Apple adds a random wait so a postback cannot be matched to a specific user action.
- You can also receive your own copy of postbacks by setting an endpoint in your app's Info.plist (Apple Developer documentation, 2026), which helps you check what your MMP reports.
For illustration: imagine a US subscription fitness app spending $10,000 a week on iOS across four ad networks. Under SKAdNetwork it can learn that a campaign produced installs and that some reached a "started trial" value. It cannot learn that user #8841 from campaign A came back on day 12. That is the trade, and every decision below follows from it.
How should you design SKAdNetwork conversion values?
Design conversion values around one question: which early in-app event best predicts revenue? You have 64 fine values for the first window and three coarse buckets after that, so you must compress a whole user funnel into a very small code. Plan this before launch, because changing the schema later breaks your trend lines.
A conversion value schema is the mapping you define between in-app behavior (events, revenue ranges, time) and the number your app writes to Apple's API. Apple does not give you a template. The schema is yours.
Work through it in this order:
- Pick a revenue proxy. For a subscription app, that is usually trial start or first paid conversion. For a game, it is a day-0 or day-1 purchase or a level milestone.
- Split the 64 values. Reserve one range for "no event," a second for engagement milestones, and a third for revenue buckets. A common layout uses bits: a few for events and a few for revenue tiers.
- Set the coarse mapping. Decide what "low," "medium," and "high" mean for postbacks 2 and 3. Tie them to the same revenue logic, such as low means retained, medium means trialed, high means paid.
- Use the lock-window option wisely. SKAdNetwork 4 lets your app lock the current window early, so a postback can send sooner (Apple Developer documentation, 2026). Lock once the user has done the event that matters, not before.
- Test against real revenue. Compare predicted value to revenue you see in your own analytics for the same cohort window, and adjust.
Two traps appear here. Teams over-engineer the schema until nobody can read it, and teams pick an event that fires too late for the 0-2 day window. If most of your paying users convert on day 5, the fine value will mostly read zero, so lean on the coarse values for that app.
Your schema also feeds channel decisions. A good one lets your app marketing team compare campaigns on predicted value instead of raw installs, which is what bidding systems need. Pair it with creative testing and store page work, since a better App Store listing raises conversion before SKAdNetwork even enters the picture.
SKAdNetwork 4 by the numbers: postbacks, windows, and crowd anonymity
SKAdNetwork 4 limits what you see through three postbacks and four privacy tiers. Knowing the exact windows and tiers lets you set realistic expectations for how fast and how detailed your iOS data will be. The numbers below come straight from Apple.
| Postback | Conversion window | Value type returned | Send delay after window |
|---|---|---|---|
| First | Days 0-2 | Fine (0-63) or coarse, depending on tier | 24-48 hours |
| Second | Days 3-7 | Coarse only (low, medium, high) | 24-144 hours |
| Third | Days 8-35 | Coarse only (low, medium, high) | 24-144 hours |
Source: Apple WWDC22, What's new in SKAdNetwork (2022).
Crowd anonymity is Apple's mechanism for hiding individuals inside a large enough group of installs. Apple groups each postback into one of four tiers, 0 to 3. A higher tier means more installs shared that campaign and source, so Apple releases more detail.
| Crowd anonymity tier | Source identifier digits | Conversion value in first postback |
|---|---|---|
| 0 (lowest) | 2 | None |
| 1 | 2 | Coarse |
| 2 | 3 | Coarse |
| 3 (highest) | 4 | Fine (0-63) |
Source: summarized from Apple WWDC22 (2022). Apple does not publish the install counts needed for each tier, so confirm current behavior in the Apple Developer documentation.
What this means in practice:
- Four-digit source identifiers give 10,000 possible values, against 100 campaign IDs under SKAdNetwork 3 (Apple WWDC22, 2022). You can encode campaign, creative, and geography, but only if volume reaches the top tier.
- Thin campaigns lose detail. A campaign that splits budget across too many source identifiers can land in tier 0 or 1 and return little or no value.
- Time to learn is long. A third postback can arrive well over a month after install, since the final window runs to day 35 plus a delay (Apple WWDC22, 2022).
Insight: treat source identifier digits as a budget. Each extra digit of detail you want needs more installs behind it. Start with two digits (campaign and geography), then add creative or placement only where daily installs are high enough to hold the tier.
How ApsteQ approaches this
ApsteQ treats SKAdNetwork as a planning constraint on paid iOS growth, not a reporting afterthought. Since 2015 we have worked with 300+ apps and brands. Founder Arsh Singh brings 20+ years in growth marketing, and a team of 40+ specialists has helped drive 52M+ installs and manage $2.5M+ in ad spend.
That experience shapes a simple process for US iOS campaigns:
- Define the value event first. We agree on the in-app action that best predicts revenue before anyone builds the schema.
- Consolidate campaigns. Fewer, larger campaigns hold higher crowd anonymity tiers, which returns more usable data.
- Cross-check with your own data. We compare postback results with first-party analytics and with the Android side, where device-level attribution still exists.
- Judge channels on quality. We look at retention and revenue signals, not install counts alone.
This is the core of our user acquisition work. If you want a second pair of eyes on how your current iOS setup reads postbacks, request a free app audit.
What are the most common SKAdNetwork mistakes?
The most common mistake is reading SKAdNetwork reports as if they were the old device-level data. Fixing the habits below usually matters more than any tool change.
Splitting budget across too many source identifiers
For illustration: imagine an app spreads $5,000 a week over 60 campaign and creative combinations. Each combination gets a handful of installs, falls into a low crowd anonymity tier, and returns no conversion value. Merging into 8 campaigns would likely lift several into a higher tier. The fix is structural, not a bidding tweak.
Choosing a value event that fires too late
If your best revenue signal appears after day 2, the fine value in the first postback will mostly read empty. Map later behavior to coarse values in postbacks 2 and 3 and accept that your optimization signal lags.
Counting installs as success
Install volume says little about quality. Two ApsteQ case studies show the gap between downloads and active users: for EarningsCall, a US fintech app for investors, 60% of downloads from the 2022 to 2023 campaign were monthly active (3K+ MAU on 5K+ downloads). For Enjoy Movies Your Way, a US family streaming filters app, 76% of downloads were active monthly by December 2023 (38K+ MAU on 50K+ downloads). These are engagement results, not SKAdNetwork data, but they show why a schema that rewards activity beats one that rewards installs.
Forgetting the creative layer
Measurement limits make creative testing more important, not less. In the LunarLinc case study (an Android friendship app launched in India), 113 video ads drove 41,420 installs on Meta against 468 installs from 83 image ads. The lesson transfers: test formats hard, then let a limited signal like SKAdNetwork confirm the winners. Our app development team also builds the in-app events your schema depends on, so tracking is planned with the product, not bolted on.
Ignoring the delay
Judging a campaign after 48 hours means judging on a postback that may not have arrived yet. Set review dates that respect the 24-48 hour first-postback delay and the longer waits for postbacks 2 and 3.
What will change for SKAdNetwork and AdAttributionKit in 2027?
In 2027, plan for two systems at once. AdAttributionKit is Apple's newer framework for ad attribution; it keeps the privacy model of SKAdNetwork and adds re-engagement attribution, so you can measure ads that bring existing users back (Apple Developer documentation, 2026). Apple describes it in its documentation as working with the same style of postbacks and conversion values.
What to prepare:
- Ask your MMP and ad networks which framework they support and on which iOS versions. Support is uneven and changes quickly.
- Keep your schema portable. If your conversion value logic is documented and version-controlled, moving it to AdAttributionKit is a mapping exercise, not a rebuild.
- Add re-engagement tests. Lapsed-user campaigns were hard to measure on iOS. Treat this as new ground and run small, well-labelled tests.
- Expect more modeling. With less direct data, most teams will lean on incrementality tests, media mix models, and first-party cohorts. Apple's own App Tracking Transparency documentation shows how much depends on user consent, so do not plan around opt-in rates.
The direction is clear, even if exact dates are not: Apple will keep tightening what advertisers can see while giving app marketers more coarse tools. Teams that build a clean schema and consolidated campaign structure now will adapt fastest.
Frequently Asked Questions
What does SKAdNetwork stand for and who uses it?
SKAdNetwork is Apple's StoreKit ad network API. Ad networks, attribution providers, and app advertisers use it to measure iOS installs without device identifiers. A postback tells the network an install happened, with a conversion value of 0-63 returned only in the first postback when privacy thresholds are met (Apple Developer documentation, 2026).
How long does it take to get SKAdNetwork 4 data?
The first postback arrives 24-48 hours after the day 0-2 window closes. The second and third postbacks, covering days 3-7 and days 8-35, arrive 24-144 hours after their windows end. So complete data for one install can take more than five weeks (Apple WWDC22, 2022).
What is a conversion value in SKAdNetwork?
A conversion value is a number your app sends to Apple to summarize early user behavior. SKAdNetwork 4 allows a fine value from 0 to 63 in the first postback and a coarse value of low, medium, or high in later ones. You define what each number means. Our user acquisition team helps map values to revenue.
What is crowd anonymity in SKAdNetwork?
Crowd anonymity is Apple's rule that detail in a postback depends on how many installs share a campaign. There are four tiers, 0 to 3. At tier 3 you get a four-digit source identifier and a fine conversion value; at tier 0 you get only two digits and no value (Apple WWDC22, 2022).
Is AdAttributionKit replacing SKAdNetwork?
AdAttributionKit is Apple's newer attribution framework and builds on the same privacy approach as SKAdNetwork. Its main addition is re-engagement attribution, which measures ads aimed at existing users. Apple documents both, so most US advertisers will run SKAdNetwork and AdAttributionKit side by side while ad networks and measurement partners move over (Apple Developer documentation, 2026).
Conclusion
SKAdNetwork rewards teams that plan their measurement before they spend. The data is delayed and partial by design, yet it is usable once the schema, campaign structure, and review timing fit how Apple releases it.
- Design conversion values around the early event that best predicts revenue, and keep the schema documented.
- Consolidate campaigns so more postbacks reach the higher crowd anonymity tiers.
- Wait for the full set of three postbacks before judging a campaign.
- Judge channels on engagement and retention, not installs alone.
- Prepare for AdAttributionKit by keeping your logic portable.
If you want help turning this into a working iOS plan, book a free strategy call with ApsteQ, or start with a free app audit of your current setup.

Free download
7 Expensive Mistakes That Kill App Launches
The launch errors we see most often across 300+ app engagements, and what to do instead.
Get the Free EbookBrowse all free guides