SKAN 4 strategy: how to transition from SKAN 3

By John Koetsier April 22, 2024

SKAN 4 is here and we’re starting to see about 40% adoption across the supply side of the industry. That means about 40% of the postbacks Singular is receiving are now SKAN 4 postbacks. SKAN 3 is obviously still in the lead, and until the biggest platforms such as Google and Meta commit to SKAN 4, it will remain that way.

However, that switchover could happen at any given time. And that means it’s time to build your SKAN 4 strategy now to take advantage of Apple’s updated mobile attribution framework.

Spoiler alert: it’s not incredibly easy. The transition from SKAN 3 to SKAN 4 has some serious minefields to be aware of and prepared for. The good news for Singular customers, however, is that you can switch SKAN 4 on while remaining backwards compatible with SKAN 3. That gives you more time to prepare, to get more data from SKAN 4-enabled partners, and to remain SKAN 3 functional for partners who haven’t updated yet.

What you’ll find here, is a concise summary of the changes in SKAN 4 and an overview of how to approach each of the major ones, significantly updated for new data as of late April 2024.

In addition, I’ll add some details on what you can expect in your SKAN reporting from Singular.


SKAN 4 summary: what changed from SKAN 3

If you’re already a SKAN expert, just skip this section and move on to the section on preparing to make the switch. Otherwise, skim or read as needed for a refresher.

Crowd anonymity and source identifier: SKAN 4’s first big update

SKAN 3’s Privacy Thresholds are gone. Now Apple is using what it calls Crowd Anonymity to ensure privacy in mobile attribution. At the same time — and very related — say goodbye to the old campaign ID in SKAN 3. Now, that is the Source Identifier in SKAN 4.

SKAN 4 crowd anonymity

Crowd Anonymity determines how much data you get from SKAdNetwork both in postbacks and in your Source Identifiers, which are super valuable for encoding network dimensions such as campaign ID, asset, geo, ad placement data, and so on.

All of this is simple in concept but complicated in detail.

The simple part: more installs per campaign equals higher crowd anonymity which will return more data. If you get only a few installs per campaign, you’ll only get minimal data. A large number of installs per campaign — only Apple knows how many, and the parameters could change over time — gets you the most data.

If you remember nothing else about Crowd Anonymity, you’re probably OK on a high level. The big platforms will help you ensure that you have enough scale in each campaign to achieve high levels of Crowd Anonymity, but you may need to make some changes to make certain you have enough spend in each campaign to get good data out.

Crowd anonymity and source identifier SKAN 4

To break that down with a bit more detail …

  • If you have MANY installs per campaign
    • You’ll get all 4 digits of Source Identifier information in your SKAN 4 postbacks
      • You can use them to gather data on campaign ID, ad set, geotargeting, ad placement, or other info
      • You can optimize campaigns
      • You can get better insight on campaign results
    • Importantly, you’ll also get 64 potential values of post-install conversion data in your SKAN 4 postbacks, which you can use to understand engagement, activity, and revenue from your new app users at a much deeper level than SKAN 3
    • Note: you’ll be the full 4 digits of Source Identifier data and the full 64 values of post-install conversion for your first SKAN 4 postback for an install only: the second and third postbacks for that install will always have less data 
  • If you have FEW installs per campaign
    • You’ll get less data in your Source Identifier
      • Perhaps only 2 digits, similar but not identical to SKAN 3
    • You’ll get less data in your conversion values

Multiple postbacks: SKAN 4’s second big update

SKAN 3 only had 1 single lonely little postback, making mobile marketers struggle to understand the value of their ad campaigns. If you achieve sufficient Crowd Anonymity, SKAN 4 offers 3 postbacks spread out over time, providing more insight and more value.

  • Postback 1
    Postback 1 is the most data-rich postback, as you saw above, and it can be sent the quickest: within 2 days.
  • Postbacks 2 & 3
    Postbacks 2 and 3 are very simple: each only has 1 of 3 possible values that you can set, and they will be set over longer periods of time. Think high, medium, and low, or something like that.
    • Postback 2: 3-7 days
    • Postback 3: 8-35 days
  • Random delivery delays
    Note: just to make things more fun for marketers, actual delivery of postbacks will be impacted by a random timer. More on this later …
SKAN 4 postbacks

Postback 1 is the most critical postback for obvious reasons: it returns the quickest, and it carries the most data. There’s a lot of complexity in the range of values that you can potentially get from postback 1 depending on the level of crowd anonymity that you have achieved.

SKAN 4 conversion values

If you look at the above chart highlighting the data you can get from SKAN 4, Tier 3 is where you want to be on postback 1, which will give you full Source Identifier data and maximum first postback conversion values. Getting there requires that you achieve high levels of Crowd Anonymity in a campaign through a large number of installs. 

That buys you:

  • Maximum data in your Source Identifier
    • 4 digits of data
    • Plus a source app notification: essentially, a publisher ID telling you where the ad was shown 
  • Maximum data in your conversion values
    • 64 possible values, which Apple calls a “fine” conversion value

If you only achieve lower levels of crowd anonymity, you will receive less source identifier data and less conversion data:

  • Tier 0 returns no data at all
  • Tier 1 returns minimal data
    • Source Identifier: 2 digits only, not 4 (similar to SKAN 3)
    • Conversion values: 3 possible conversion values only, not the full 64 (similar to postbacks 2 and 3 in SKAN 4)
  • Tier 2 returns a very useful amount of data:
    • Source identifier: 4 digits (but omits the source app)
    • Conversion values: 64 values of fine conversion data

For postbacks 2 and 3, everything is much simpler, but that simplicity comes at the cost of less data. Postbacks 2 and 3 are always only one of 3 values each. Basically, you can use any values you choose for your P2 and P3 values, as long as there are only 3. Think along these lines:

  • 0, 1, 2
  • Bad, OK, Good
  • Window-shopper, Buyer, Subscriber

Swimming in complexity already? Freaking out? Take a deep breath. Don’t worry. Unified Measurement is now here.

The key learning is simple: larger, fewer campaigns will maximize data return. Achieve that and you will (almost) always get all available SKAN 4 data. Also, be aware: Singular will both enrich your data with first-party insights from your own app — your own analytics know when you get an install, engagement, and purchases — plus other data sources with different attribution strategies, and will present your data in a simple, user-friendly, understandable way. The result is that Singular just released Unified Measurement, which significantly expands the data you can get from SKAN without burning any of your SKAN conversion value slots.

But keep in mind, there’s more detail to think about, because we haven’t talked about delivery times yet.

Postback delays and locking conversion values: SKAN 4’s third big update

If every postback arrived precisely at the end of its postback period, Apple’s efforts at ensuring marketing measurement privacy would probably not be very successful.  The first postback, for example, can be updated until 2 days after app install. If marketing analytics platforms got the postback immediately, they could simply tie it back to new app user arrivals, and bingo: associate a specific SKAdNetwork postback with a specific app user.

Bye-bye privacy.

So Apple adds random timers, which have changed in SKAN 4:

  • Postback 1 random timer
    • 24-48 hours, or 1-2 days
  • Postback 2 random timer
    • 24-144 hours, or 1-6 days
  • Postback 3 random timer
    • 24-144 hours, or 1-6 days
SKAN 4 postbacks

These are massive delays, especially for the second and third postback. This is a really big deal, and it means that if marketers use the full postback update window in each case:

  • Postback 1 could arrive 3 to 4 days after an install
  • Postback 2 could be 10 to 15 days after an install
  • Postback 3 could be a staggering 36 to 41 days after an install

But that’s not all. Because this is SKAN 4, we’re not done with the complexity yet. There’s yet another new feature that Apple has introduced in SKAN 4 that can return SKAdNetwork postbacks sooner. It’s called locking conversion values. 

If marketers and developers choose, they can lock conversion values as soon as their in-app analytics detect an acceptable level of data. 

In other words, if someone installs your retail app and buys an item immediately, you could lock the conversion and prepare a postback to be sent right away. In a game, if they play 5 levels on day 0, you could do the same. Don’t forget, however, each postback still has to wait for the random delay to expire: between 1-2 days on postback 1, and between 1-6 days for postbacks 2 and 3.

(If Apple didn’t require this, advertisers could lock all postbacks regardless of value at some point and then, as above, tease out which postbacks relate to which new app users.)

This means that in a scenario where you get great engagement and activity basically immediately and you lock the postback, you could achieve the following postback arrival periods:

  • Postback 1 could arrive 1 to 2 days after install
  • Postback 2 could arrive 4 to 5 days after install
  • Postback 3 could arrive 8 to 14 days after an install 

Have you spotted the core challenge here? 

There’s a huge diversity between earliest possible and latest possible postback delivery times … which is poison for being able to measure and evaluate cohorts of new users. Essentially, marketers could see a potential diversity between earliest and latest possible postback delivery of:

  • Postback 1: from 1 to 4 days
  • Postback 2: from 3 to 13 days
  • Postback 3: from 8 to 41 days

Remember this delta.

That potential diversity in postback delivery dates will become significant for how you approach your SKAN 4 strategy, as you’ll see later in the section on making the transition from SKAN 3 to SKAN 4. Quick hint: it makes cohort measurement MUCH harder.

Web to app support: SKAN 4’s fourth big update

It’s not universal across all browsers — it only works in mobile Safari — and it’s not terribly comprehensive yet, but SKAN 4.0 does enable web to app measurement via the SKAdNetwork for Web Ads API. 

The benefit for marketers is clear: web ads can be cheaper than in-app ads, and web onboarding experiences can be richer, more immersive, and more engaging than a standard app listing page in the App Store.

There are a bunch of steps to make it happen: the entity serving the SKAdNetwork-attributable link needs to be registered as an ad network with Apple, the link needs to be configured properly, and there must be an endpoint to provide a signed web ad impression, but there are some strong possibilities here in both web-to-app user acquisition.

(Note: for owned platforms such as your own website or landing page, you can simply use Singular deep links for full measurement and analytics capability.)

It’s possible we’ll see more updates for web to app support in SKAN 5.

Conversion value decreases: SKAN 4’s fifth big update

Finally: bear in mind that in SKAN 4, unlike SKAN 3, conversion values can go up AND down. 

In SKAN 3, if you were updating a conversion value before the postback timer period clock ran up, it could only go up. Now in SKAN 4, you can also decrement conversion values.

This seems minor, but it’s a big deal for 2 reasons:

  1. It’s a complete mind-shift from SKAN 3
  2. It enables much more flexibility around the value of newly acquired users

Every app has flows that successful (ROI-returning) app users follow. And every app has flows that unprofitable users follow. The challenge in SKAN 3 is that sometimes the first few stages of user engagement and activity can look very similar for both groups. If that’s the case for you, in SKAN 4 you can decrease conversion values during the postback timer periods and supply yourself with valuable data for decision-making.


  • You run a subscription app
  • Some users sign up and provide long-term revenue
  • Some users sign up but cancel their subscriptions after the trial period
  • If you can find differences between those groups (and you might have multiple subgroups within each) you can include that data in your SKAN 4.0 postbacks
  • That data can help you value cohorts, estimate LTV, and optimize ad budget allocation


Preparation: getting ready for the SKAN 3 to SKAN 4 transition

OK. You’ve either read or skimmed through 1,800 words of how SKAN 4 works, or you skipped down here right away. What do you need to do to prepare for the transition from SKAN 3 to SKAN 4?

We’ve put together a detailed SKAN 4.0 readiness checklist which you can check out. But in short, here’s what you need to do:

1: Update the Singular SDK in your app

Sure, it’s obvious, but it also requires communication, preparation, and action on the part of your product team: schedule an update to the Singular SDK in your app. As of November 2022, the Singular SDK has been SKAN 4 ready.

And don’t worry: it’s SKAN 3 backwards compatible, so there’s no worry or risk of damage to existing SKAdNetwork implementations or attributions on legacy campaigns. You can safely update.

2: Talk to your acquisition and monetization partners

Find out where they are in their SKAN 4 transition plans. If they’re already moving forward now, you need to catch up. You can get a good sense of where major user acquisition ad partners are in their SKAN 4 transition plans at our SKAN 4 adoption dashboard.

All that is actually needed to generate SKAn 4 postbacks is this:

  1. iOS 16.1 device (and up)
  2. Ad network encodes SKAN 4 click

These are getting pretty common. Most iOS users have updated to iOS 16, and many ad partners are sending at least some of their postbacks as SKAN 4 postbacks. What that means is that if you haven’t set up a SKAN 4 model in your Singular dashboard, you’re going to be missing some data. (Note: it’s pretty easy … click a button and choose some settings.) In particular, you won’t get any data for coarse conversion values: there’s no model prepared to receive that data.

So have the conversation and get started.

3: Talk to your web partners

If you currently run ads on the web or are now considering it thanks to SKAN 4, chat with those ad partners as well.

Get details on their timetables and anything you might need to do to integrate or work together.

4: Share your source identifier hierarchies

Part of the reason you want data from SKAdNetwork is to know what’s working. 

Part of the reason ad networks need data from SKAdNetwork is essentially for the same reason: so that they can optimize campaign targeting, delivery, and volume in near real-time to deliver the best results for marketers. Share what you’ve encoded into the SKAN 4 source identifier digits, so they know when they’ve succeeded, know when they’ve failed, and can act appropriately in each circumstance.

Singular makes this easy and automatic: talk to your customer success manager for any details or clarification you might need.

5: Plan your coarse conversion value strategy

In some cases, due to low install volume, all you’ll get for postback 1 is a coarse conversion value. And for postbacks 2 and 3, that’s all it’s possible to get. Decide how to use coarse conversion values and what events or revenue amounts to encode to each of the 3 coarse values: low, medium, high:

SKAN 4 coarse conversion value

Something we’ve see work: align your coarse conversion value strategy with your fine conversion value strategy, so that whatever data you get back — whether it was from fine or coarse — is coherent and actionable.

A coherent strategy between the 2 possible conversion payloads will ensure that your coarse conversion postbacks will be comparable and speaking the same language as your fine conversion postbacks, though of course they will be less specific.

Here’s an example with a mixed event/revenue model:

SKAN 4 coarse conversion value

With a simpler revenue-only model, decide which revenue ranges in your fine conversion values should count as “low” in your coarse conversion values, and do the same for both “medium” and “high.”

6: Build a framework to evaluate users at each of the 3 postback stages

The good news is that Singular will enhance reporting at each stage with SKAN Advanced Analytics, modeling for missing data due to insufficient crowd anonymity, and enriching cohort reporting for revenue and ROI at each stage. 

Even better: you’ll get confidence intervals so you know how much you can trust the modeled data: critical if you’re making significant budgeting decisions. And now with Unified Measurement augmenting SKAN data with MMP data and first-party data, SKAN in general is significantly more valuable as a measurement method. 

Add that to the extra information you can get from SKAN 4, and it’s a world of difference from the first few months of using SKAN 3.


Implementation: building your SKAN 4 transition strategy

OK. You’ve learned, you’re prepared, and you’re ready to begin making the transition. 

Wait just a moment. You may have all the technical details down pat, but there are a few strategic questions to answer before you flip the switch.

1. Building your conversion value models

Decide what data you need from each of the 4 possible postbacks you’ll be getting.

As I stated above, postback 1 fine and coarse conversion values should be aligned so that your post-install conversion data is compatible and makes sense. Postbacks 2 and 3 should be deep-funnel events that take place between D2-D35 or high-value conversions that will provide the most critical possible insight about the value of each cohort.

Possible models include:

  • Revenue
  • Conversion events
  • Engagement
  • Funnel
  • Mixed models
    • Conversion Events and Revenue
    • Engagement and Revenue
    • Funnel and Revenue
  • Custom events/revenue model

Bear in mind that most mobile experts don’t expect to get this right immediately. Don’t let the desire for perfection shackle you. Do what seems right, and you’ll be able to update it later without a long, painful transition period. (See model migration below.)

One other note: Singular already offers optimized SKAN conversion model recommendations in many situations. This feature literally ranks SKAN conversion models for effectiveness, analyzing your app, your postbacks, and your goals, and suggests the optimal conversion strategy. With always-on SKAN conversion model optimization checking in the background, you’ll get notified if there are potentially more accurate models to try. 

2: Test, because Singular gives you easy model migrations

Model migration has historically been extremely challenging in SKAdNetwork. The problem has been that when you migrated to a new model, you suffer from data gaps as the old model ages out and the new one phases in. In SKAN 3, that could be weeks. Under SKAN 4, it could be a significantly more extreme challenge due to the very long possible postback time periods, plus random delays.

You could literally be waiting for a month and a half to have entirely present and clean data for the new model.

But not anymore.

The good news is that with Singular’s SKAN Advanced Analytics, you can migrate seamlessly and quickly, getting accurately modeled data on the same day you transition. 

Schedule time to chat for more details.

3: Decide whether you’ll use conversion locking or not

Remember what we said about postback timing and conversion locking? There is a massive range between the earliest to latest delivery times in SKAN 4. That massive diversity is poison to your ability to generate accurate modeled cohorts. 

As mentioned earlier, SKAN 4 postbacks from the same campaign and from the same day could be separated by as much as:

  • Postback 1: up to 4 days
  • Postback 2: from 3 to 13 days
  • Postback 3: from 8 to 41 days

That’s why Singular’s recommendation to not use conversion locking. Your app is unique, your needs are unique, so your mileage may vary, of course, but in general, the cost of getting conversion value payloads in early postbacks is extremely high. 

The challenge is that you have limited clarity on what day the conversion was locked, which creates a lot of uncertainty around the estimated install date. The result of that is cohorts are much harder to accurately model and your understanding of campaign value suffers. Sticking with the standard conversion windows for each of the postback periods buys you the certainty that each conversion was locked at the same time. Yes, there are still random timer delays, but 1 unknown is better than 2. 

4: Choose when to set up your SKAN 4 models in Singular 

You could literally be getting SKAN 4 postbacks right now. In fact, you almost certainly are, even before setting up your SKAN 4 models in your Singular MMP dashboard. This does result in missing data, so you should implement your new conversion model strategies now to make sure you’re getting all possible data.

The good news: a SKAN 3 click from an ad network that hasn’t yet encoded SKAN 4 clicks or a pre-iOS 16.1 device will be handled properly by Singular.

The challenge:

If you start getting SKAN 4 postbacks before you configure a SKAN 4 model, you’ll start seeing SKAN 4 data. However, you won’t get any data for coarse conversion values, because they haven’t yet been created and encoded into a model. You will see 4-digital source identifiers, if your campaigns achieve high levels of crowd anonymity.

Another challenge: transitioning.

Singular has created “transition mode” for the inevitable period in which you’ll be getting both SKAN 3 and SKAN 4 postbacks. In transition mode 1, you can start getting SKAN 4 postbacks, but because you don’t have a SKAN 4 model set up, you won’t get coarse values or postback 2 or 3. In transition mode 2, you will have set up a SKAN 4 model, and both SKAN 3 and SKAN 4 will work. However, while in transition mode 2, SKAN 4 conversions for the first postback period will be limited to 24 hours using conversion locking, so that all your data (SKAN 3.0 and SKAN 4) is equivalent and makes sense.

This is operable via a toggle mode, so you can turn transition mode — and which version of transition mode — on or off as you choose.

The key decision you’ll have to make upon chatting with your ad partners is deciding when you’ll only accept SKAN 4 data and therefore will not invest in any subsequent SKAN 3-only campaigns. For example, if you use 10 user acquisition ad networks but only 5 are fully updated for SKAN 4, you might choose to run in transition mode. If, on the other hand, 8 are fully updated for SKAN 4 and only 2 are not, you might decide to go full steam ahead on SKAN 4 and pause campaigns with the laggard ad networks until they complete their SKAdNetwork 4 build-out and configuration.

Talk to your Singular representative about the right time to make all of this live.


Running SKAN 4: what to expect in your Singular SKAN dashboard

Assuming you’ve worked through all of the above, prepared, strategized, and transitioned, you should end up in a happier place than you were with SKAdNetwork 3. Even if you used SKAN Advanced Analytics to achieve close to 90% accurate D7 revenue.

For SKAN 4, Singular will display a coherent view of the data from all the postbacks that you are getting, providing a single number for revenue, installs, and events for each campaign.

That’s thanks to a modeling layer which takes in all postbacks, including those with null conversion values, coarse conversion values (low, medium, high, or whatever you’ve chosen), and detailed fine conversion values. Singular’s technology also takes into account activity, engagement, and purchases in your own first-party data from your app, and then provides a modeled view of the data. Thanks to Unified Measurement you’ll also get Singular’s incredibly accurate modeling of actual installs and revenue, based on SKAN, MMP data, and your first-party data.

SKAN 4 modeling layer

This campaign view will be aligned to the conversion models that you’ve set up for your SKAN 4 reporting, and will show what each campaign ID has achieved. That will include D1, D7, and D35 revenue, which is now more accurate than under SKAN 3 thanks to the additional data from SKAN 4.

With more data, you’ll also be able to set up SKAN 4 to provide deeper granularity for geo-based reporting:

SKAN 4 geo report

With modeled data from each potential postback and your own in-app data, you’ll also be able to see cohort revenue. In fact, you’ll get 35-day cohorts in iOS thanks to Unified Measurement.

SKAN 4 modeling layer

All of this is possible because Singular’s SKAdNetwork solution enriches campaign names, decodes conversion values, models missing data, and provides extremely accurate data estimates. All of which appears alongside your cost and percentage of installs that you’ve received conversion values for.

Get help?

We know this is complicated and new to most mobile marketers. Some haven’t had the chance to become SKAN 3 experts yet, and we’re already moving to SKAN 4, with the prospect of similar challenges on the Android side next year as Privacy Sandbox kicks into gear there.

We’re more than happy to help.

Get in touch today, and we’ll help you every step of the way.

Stay up to date on the latest happenings in digital marketing

Simply send us your email and you’re in! We promise not to spam you.