Insights · Measurement & Attribution

SKAdNetwork, explained for GCC app marketers (without the jargon)

By Ahmed KhojaApp user acquisition

SKAdNetwork is Apple's way of measuring iOS app installs without tracking individual people. Instead of telling you which user installed after which ad, it hands you results that are delayed, lumped together, and deliberately fuzzy. For a marketer that means your iOS numbers arrive later, blur at the edges, and stop matching the dashboards you used to trust. Its successor is called AdAttributionKit. Here is what actually changes, in plain terms.

I run paid user acquisition for a GCC fintech app, and I watched iOS measurement quietly break for months before it was fixed. If your iOS results stopped adding up after Apple's privacy changes, you are not imagining it. Here is the no-jargon version of why, and how to keep spending sanely when you can no longer see the user.

What is SKAdNetwork, in plain English?

SKAdNetwork (SKAN for short) is the system Apple built so advertisers can still tell whether iOS ads work, without learning anything about the individual who tapped the ad. It has been the reality on iOS since Apple's App Tracking Transparency (ATT) prompt arrived with iOS 14.5. Before that, you got a clean receipt: this person saw this ad and installed. Now you get something closer to a tally sheet handed to you at the end of the day, with the names blacked out and the timing rounded off.

Three things define it, and all three trip marketers up:

None of this means iOS is unmeasurable. It means iOS is measured differently, and reading it like the old world is where budgets quietly leak.

Why did my iOS numbers stop matching after iOS 14.5?

Because most iOS users say no. The ATT prompt asks permission to track, opt-in rates are low and vary a lot (often somewhere around a quarter to a third globally, and lower in some apps), and without that permission the old person-level attribution simply goes dark. Paid installs that used to be traceable now have nowhere to land, so they roll into "organic."

This is not theoretical. On the GCC fintech app I run, the single biggest reported source of registrations reads as organic, and a real share of that is paid iOS that attribution can no longer see. If you judge iOS purely on what your ad platform claims it drove, you will under-credit it and over-cut it. The installs are happening. The label on them is missing.

After ATT, "organic went up and paid went down" is often a measurement artifact, not a performance story.

SKAdNetwork vs AdAttributionKit (AAK): what actually changed?

They are the same idea, one generation apart. AdAttributionKit (AAK) is the successor to SKAdNetwork, introduced by Apple in 2024 and expanded in 2025. There was never a "SKAN 5.0"; Apple moved to AAK instead. If your agency or your tools still talk only in "SKAN," update the vocabulary, because the setup you configure is shifting underneath you.

SKAdNetwork (SKAN)AdAttributionKit (AAK)
What it isThe original iOS privacy-attribution frameworkThe successor Apple is moving everyone toward
The modelAggregated, delayed, privacy-limited install attributionSame core model, more capability (e.g. re-engagement, more flexible postbacks)
What you getConversion values, delayed postbacks, crowd-anonymity limitsThe same building blocks, evolved
What to doStop treating it as the endpointUpdate your MMP setup and reporting language to AAK

For a marketer the headline is simple: the privacy-first, aggregated, delayed reality is not going away. The framework's name and features are just maturing.

Why do my ad platform and my MMP disagree on iOS?

Because each one is filling in the blanks its own way. SKAN gives everyone the same fuzzy, delayed, partial picture, and then every tool models the missing pieces differently. Your ad platform is optimistic about its own contribution. Your MMP (Adjust, AppsFlyer, and the like) reconciles across sources. So the two numbers drift apart, sometimes badly.

On the GCC fintech app I run, the ad platform's own count and the MMP disagreed by roughly 30% on the same registrations, even after a platform-side fix narrowed the gap. On the worst-measured surface, iOS, two trusted sources sat as much as three to five times apart. That is not a rounding error, and you cannot average your way out of it.

The rule that keeps you sane: pick one source of truth for cross-channel decisions, and make it the MMP. Let the ad platform be its own opinion of its own work. When you compare channels against each other, compare them in one consistent place, or you are comparing two different fictions.

Can I still trust iOS enough to spend on it?

Yes, if you change how you read it rather than how much you spend. The mistake is treating a blurry iOS number as if it were the old crisp one and then making a big bet on it. The fix is to scale where your sources agree and hold where they don't.

Concretely: when the ad platform and the MMP broadly line up on a surface (often the case on Android), that is where you scale with confidence. When they sit multiples apart (often iOS), you hold that surface steady and keep testing until the measurement clears, instead of pouring budget into a number you cannot verify. One more trap specific to Apple's privacy era: when a campaign shows a "Limited" delivery state tied to the tracking setup, its cost per result is artificially inflated. Acknowledge that before you judge it, or you will kill something that is actually working.

How to actually run iOS UA under SKAdNetwork

A short, repeatable checklist that survives the privacy rules:

  1. Feed each campaign enough volume to be counted. Apple only returns data once a campaign clears its crowd-anonymity thresholds. There is no published exact cutoff, but a common working minimum is roughly 100 installs per campaign per day. Below that, your signal is suppressed, so consolidate rather than splinter into many tiny campaigns.
  2. Set your conversion values to the event that matters, not the install. Encode the downstream action (registration, first deposit) so the little data you do get points at real value.
  3. Make the MMP your single source of truth for comparing channels, and treat each ad platform as its own self-report.
  4. Do not scale a surface you cannot measure. If two trusted sources are multiples apart on iOS, that is a signal to hold, not to bet.
  5. Measure the unmeasurable with holdouts. When last-click is blind (awareness, or heavily-organic iOS), a simple on/off incrementality test tells you more than any dashboard: pause, watch what happens to the whole funnel, turn it back on.

Do this and iOS stops being a black box you fear and becomes a channel you read carefully.

What this means specifically for GCC app marketers

The GCC skews iOS-heavy and high-value, which means the exact surface SKAdNetwork blurs is often your most valuable audience. Two implications. First, do not let weak iOS attribution push you into over-spending on Android just because Android is easier to measure; measure iOS properly instead of avoiding it. Second, the affluent iOS user who does not opt into tracking is still worth winning, so build your reading of iOS around modeled and incremental signals rather than waiting for a clean per-user number that is not coming back.

FAQ

Is SKAdNetwork going away?

Not the concept, only the name and the generation. Apple has moved to AdAttributionKit (AAK) as the successor, and there was no "SKAN 5.0." The privacy-first, aggregated, delayed model of iOS attribution is here to stay, so update your tools and your language to AAK while keeping the same mental model.

What's a good iOS ATT opt-in rate?

Low and variable. Global figures often land somewhere around a quarter to a third, and lower in some categories. The practical stance is to assume you will not get clean per-user data for most of your iOS audience and to build your measurement around aggregated and modeled signals from the start.

Why do my paid iOS installs show up as organic?

Because without tracking permission, the link between the ad and the install is broken, so the install rolls into organic. If organic looks like your biggest source after ATT, a meaningful part of it is usually paid iOS that attribution can no longer label. Judge iOS on incrementality, not just on what the platform claims.

Do I still need an MMP like Adjust or AppsFlyer under SKAdNetwork?

More than ever. SKAN hands everyone the same partial, delayed picture, and the MMP is what reconciles that with the rest of your data into one comparable source of truth. Without it you are stuck trusting each ad platform's opinion of its own performance, and those disagree.

How many installs does a campaign need for SKAdNetwork data?

Enough to clear Apple's crowd-anonymity thresholds. Apple does not publish the exact number, but a common working minimum is roughly 100 installs per campaign per day. Splitting spend across many tiny campaigns starves each one of countable signal, so consolidate.

Does SKAdNetwork affect Android?

No. SKAdNetwork is Apple-only. Android has its own, different measurement world, and Google's planned privacy changes there were shelved, so third-party signals still work differently. Keep iOS and Android as separate measurement problems and never extrapolate one from the other.

Not sure whether your iOS numbers are telling you the truth? I run a free App Growth Review: a short, no-pitch look at your live campaigns, your attribution setup, and where the budget is leaking.

Get a free App Growth Review

About the author — Ahmed Khoja is an app user-acquisition consultant with 10+ years in performance marketing, running paid growth for GCC fintech, marketplace and consumer apps across Meta, Google App campaigns, TikTok and Apple Search Ads, with a focus on MMP-based measurement and attribution.
Get a free App Growth Review