SKAdNetwork and AdAttributionKit
Expert: with sources and numbers. Plain: the same, without them, for beginners.
Apple's privacy-preserving attribution frameworks, what they deliberately hide and what an ASO practitioner needs from them.
Context only. This is an attribution and engineering topic; what matters here is why iOS paid numbers behave the way they do.
What they are
A SKAdNetwork was Apple’s first privacy-preserving ad attribution framework, powered by crowd anonymity. (AdAttributionKit and SKAdNetwork interoperability, verified 2026-09-18)
A AdAttributionKit lets registered advertising networks and developers attribute app installations and re-engagement to a campaign by receiving a signed signal from Apple, limiting the data included in the attribution postback, and builds on SKAdNetwork’s functionality. Same source.
A For ads on third-party advertising platforms, Apple offers AdAttributionKit. (Ad attribution, verified 2026-09-18)
How they differ from AdServices
A The AdServices API is for Apple Ads, uses Apple’s first-party data only, and gives campaign, placement, ad group and keyword-level attribution. (Ad attribution overview, verified 2026-09-18)
A Apple describes AdServices and AdAttributionKit as two freely available and complementary methods for Apple Ads customers. Same source.
| AdServices | AdAttributionKit / SKAdNetwork | |
|---|---|---|
| For | Apple Ads only | Any registered ad network |
| Data | Apple’s first-party | Signed postback from Apple |
| Granularity | Keyword level | Deliberately limited |
| Sees non-App-Store ads | No | Yes, that is its purpose |
Keyword-level attribution exists only inside Apple Ads, because Apple owns both the ad and the store. That is why the keyword harvesting loop is possible on Apple Ads and nowhere else (90-10).
What they deliberately do not give you
Both frameworks limit data by design. That is the point, not a defect. In practice:
No user-level data. Aggregated by construction.
Delayed. Postbacks arrive after a deliberate delay, so same-day campaign reading is not available.
Coarse. Limited campaign identifiers and limited conversion detail.
Thresholded. Low-volume campaigns can return less detail, or none, the same class of problem as reporting thresholds elsewhere (80-04).
What an ASO practitioner needs from this
One thing, mainly: it explains why iOS paid reporting is slower, coarser and more disputed than Android’s. When a UA colleague says the iOS numbers are not in yet, or that campaign-level detail is missing, this is why. It is not a tooling failure.
Second: it is why Apple Ads is measured better than other iOS channels. AdServices gives keyword-level, first-party data that no third-party network on iOS can match. That asymmetry is a genuine argument for Apple Ads beyond its media value.
Third: it does not touch organic. Store analytics are unaffected (80-01). ASO measurement did not get harder; paid measurement did.
The rabbit hole
Conversion value encoding, postback tiers and windows, crowd anonymity thresholds, the SKAdNetwork-to-AdAttributionKit migration. Real, deep, and owned by whoever owns attribution. If you are being asked to make decisions that depend on these details, the right move is to bring in that owner.
What goes wrong
Expecting same-day iOS campaign data. Postbacks are delayed by design.
Blaming the MMP for coarse iOS data. It is the framework.
Assuming AdServices granularity applies to other networks. Apple Ads only.
Thinking this affects organic reporting. It does not.
In short
Every fact on this page in one line, with its evidence tier, source and verification date, 3 A. Generated from the claim register, so it cannot drift from the page above.
Context only. This is genuinely an engineering and measurement topic; what actually matters here is understanding why paid numbers on this side of the centre behave the way they do.
What these systems actually are
One was this platform's first privacy-preserving way of crediting advertising, built on the anonymity of a large crowd rather than tracking any one shopper.
A newer system lets registered advertising networks and shop owners credit a walk-in or a return visit to a specific campaign, by receiving a signed signal from the centre itself that deliberately limits what data comes back, and it builds directly on the older system's own foundations.
For advertising running on genuinely outside platforms, the centre offers this newer system specifically.
How these differ from the centre's own first-party tool
The centre's own first-party tool is only for its own billboard, uses only the centre's own first-party data, and gives credit all the way down to the individual word. The newer signal-based systems are for any registered advertising network at all, use a signed signal from the centre rather than direct first-party data, deliberately limit their own detail, and genuinely can't see advertising outside the centre's own shopfront, which is precisely their whole purpose.
The centre describes its own first-party tool and the newer signal-based system as two freely available, complementary methods for its own billboard customers specifically.
Word-level credit exists only inside the centre's own billboard, because the same centre owns both the billboard and the shopfront itself. That's exactly why the whole word-harvesting loop is only really possible there, and nowhere else.
What these systems deliberately don't give you
Both of these frameworks limit what comes back by design. That's the whole point, not a flaw. In practice:
No detail on any one individual. Grouped together by construction.
Delayed. The signal arrives only after a deliberate delay, so reading a campaign's results on the very same day simply isn't available.
Coarse. Limited campaign labels and limited detail on what actually converted.
Subject to a minimum. A low-volume campaign can get less detail back, or none at all, the same broad kind of problem as a minimum reporting threshold anywhere else.
What someone doing this job actually needs from this
Mainly one thing: it explains why paid reporting on this side is slower, coarser and more argued-over than the other centre's. When a colleague working on paid growth says the numbers for this side aren't in yet, or that campaign-level detail is missing, this is why. It isn't a tool failing to work properly.
Second: it's exactly why the centre's own paid billboard is measured better than any other advertising on this side. The centre's own first-party tool gives word-level, first-party data that no outside network on this side can ever match. That real asymmetry is a genuine argument for the centre's own billboard, beyond its advertising value alone.
Third: none of this touches your own unpaid results at all. Your own back-office's own numbers are completely unaffected. Being found and chosen didn't get any harder to measure; only paid measurement did.
The rabbit hole
Encoding a conversion's value, signal tiers and their windows, the actual thresholds behind crowd anonymity, migrating between the older and newer systems. Real, deep, and owned by whoever actually owns measurement. If you're being asked to make a decision that depends on these specific details, the right move is simply to bring that owner into the room.
What tends to go wrong
Expecting same-day campaign data on this side. The signal is delayed by design.
Blaming your own scorekeeper for coarse data here. It's the underlying framework, not the tool.
Assuming the centre's own fine-grained detail applies to other networks too. Only its own billboard gets that.
Thinking any of this affects your own unpaid reporting. It genuinely doesn't.