Apple is moving install attribution from SKAdNetwork to AdAttributionKit, and the migration changes what your team can actually see about a campaign’s performance. AdAttributionKit keeps the privacy-preserving design — no device-level identifiers, no cross-app tracking — but widens the conversion-value range and adds more flexible postback windows. Get the mapping wrong and you’ll either starve your ad networks of signal or blow through Apple’s privacy thresholds and lose granularity altogether.
The practical problem for most teams is that conversion values are still a single coarse number, not a full event stream. Every install, re-engagement, or revenue signal you care about has to be compressed into that one value, then decoded on the other side by your MMP or ad network. If your conversion-value scheme isn’t documented and versioned, the marketing team ends up guessing what “value 47” meant three campaigns ago.
Data Points to Track
- Conversion value schema: the full lookup table mapping integer values to user actions (install, trial start, first purchase, etc.), versioned by release
- Postback window: which of the available attribution windows (0, 1, or 2) actually fired for a given install
- Source app / campaign ID: the privacy-safe identifiers AdAttributionKit returns, mapped back to your ad network’s campaign naming
- Coarse vs. fine-grained value flag: whether the postback met the threshold for fine-grained conversion data or fell back to coarse buckets
- Re-engagement attribution: separate tracking for re-engagement postbacks versus first-install postbacks, since they use different value schemas
Setup Steps
- Define the conversion-value table with your growth team before launch — decide which 6-bit (or expanded) values map to which in-app milestones, and store it in a shared, versioned document.
- Implement the AdAttributionKit calls at the relevant lifecycle points (install, key activation events, revenue events), updating the conversion value as the user progresses rather than firing once.
- Configure postback endpoints with your MMP or ad network so coarse and fine-grained postbacks are both captured and logged server-side, not just consumed by the network.
- Reconcile against server-side events weekly to confirm the conversion values your code is sending match what actually happened, since there’s no way to retroactively inspect a fired postback.
- Document schema changes every time you adjust the conversion-value mapping, so historical campaign reports remain interpretable.
Actionable Insights
A clean conversion-value schema is what lets marketing tell the difference between a campaign that drives installs and one that drives paying users — without it, every channel looks the same once Apple’s privacy thresholds kick in. Reconciling postback data against server-side truth on a regular cadence also catches silent attribution drift before it skews a quarter’s worth of CAC reporting.
Treat the migration window itself as a measurement project, not just an SDK upgrade. Run SKAdNetwork and AdAttributionKit in parallel for at least one full campaign cycle so you can compare the two attribution pictures side by side before retiring the old integration. Watch for systematic shifts in reported install volume or value distribution between the two — a sudden change usually means a mapping error rather than a genuine performance swing. Share the conversion-value table with every ad network and MMP your team works with, since a mismatch between what your app sends and what a partner expects to receive will silently corrupt their optimisation models, not just your own dashboards.
Related Resources
Need help tracking this in your app?
Our team sets up analytics pipelines for mobile and web teams every day. Talk to us and get your first events flowing in under an hour.
Talk to an expert