Apple SKAdNetwork 4: What's New?

8 min read
Thumbnail for Blog Post - Apple SKAdNetwork 4: What's New? || blog/apple-skadnetwork-4-whats-new-and-how-does-it-impact-attribution/screenshot-2023-06-30-at-09.34.53.png

At Tasman, we work with attribution model a lot. Our clients like the fact that we can bring a very sophisticated approach to the table, while still maintaining first-party benefits and retaining customer privacy. This landscape however is changing a lot — most recently by the launch of Apple's new Ad Network kits. We'll go into detail how it works, where the limitations are, and what it means for analytics.

The latest version of SKAdNetwork, version 4.0, has introduced several significant changes that improve upon its previous limitations and solve key problems. 

One issue is that conversion values are only included in install postbacks when a certain privacy threshold is met, meaning that a campaign must generate enough installs to meet Apple’s privacy regulations in order for conversion values and source app identifiers to be included. 

SKAdNetwork 4.0 addresses this by introducing a coarse-grained conversion value in the postback when a minimal level of crowd anonymity is met. 

Another issue is that the existing timer system incentivizes advertisers to collect conversion values from early in the customer journey, resulting in a lack of transparency when measuring user engagement. 

The new version of the kit replaces the timer system with three attribution windows, allowing advertisers to measure user engagement from later stages of the user journey. 

Finally, the current version of SKAdNetwork limits the number of campaign identifiers to 100 per app per ad platform, which restricts the number of permutations that an ad platform can test at a time. 

The 4.0 release addresses this by creating a hierarchical source identifier field that can hold up to four digits, allowing for a total of 10,000 different possible values. 

New features explained

Multiple conversions and lock-window

Background

Before, SKAd only had 1 postback which made things very difficult to measure and the conversion window was up to 48 hrs.

Changes

Apple has changed the conversion values, by changing the fine-grained value one (6 bits and all the way up to 64 variables) and adding a new called: coarse-grained value.

They also have introduced up to 3 postbacks which contain specific conversion windows, and each conversion window can include multiple engagements. One of the key features is that each postback is related to a conversion, where the advertiser can actually measure LTV if they want/can. 

Postbacks explained

First postback has two main features:

  1. Advertiser can measure up to 48 hours of user activity, whereas before if the user was not active for 24 hours we would not be able to measure anything beyond that timeframe
  2. Apple has introduced coarse-grain conversion value which has only 3 values: low, medium or high and it works in a similar way than the normal mapping we can do from the 0 to 63 values.

The reason why this is a great thing but also a bit of a 🫠 (melting brain) is that while we can map the events or revenue in this way, when a cohort does not reach the threshold imposed by Apple, instead of passing a null the postback will output one of these three values.

Null values are dropping dramatically due to this new feature, and the coarse-grained values will take quite a lot of the room for this.

The key thing to know is that even though both values (fine-grained and coarse-grained) will be captured during the measurement window, only one of these will be sent back to the advertiser.

Tasman recommendation: Perfect postback to understand trial started or initial purchases for apps who have subscriptions. 

Second postback

We can now measure user activity for 3 to day 7. The only data collected for this postback would be:

  • coarse-grained or null values for conversions
  • This second postback will be only sent if the user has been active in this timeframe.

Tasman recommendation: Perfect postback to understand trials converted.

Third postback

We can now measure user activity for 8 to day 35! The only data collected for this postback would be:

  • coarse-grained or null values for conversions
  • This third postback will be only sent if the user has been active in this timeframe.

Tasman recommendation: Perfect postback to understand subscription conversions (Started paying the subscription).

Some clarifications we have discovered by working our clients and their MMP partners

If a given user was active during the time-frame in postback 1 and postback 3, but didn’t open or engage with the platform during postback 2 time-frames, do the Adnetworks get postback 3?

Whether the 3rd postback is sent or not, is related to three factors:

  • the ad exposure
  • the app size
  • the number of installs per campaign and day.

Does it impact the order of occurring events? e.g. we are in the 3rd postback, our HIGH VALUE event (trial converted) occurred 1 day before the LOW VALUE one (session started). Does the high value event get shared back?

  • If the condition that is mapped to the high value is being triggered during the third measurement window, the Adnetwork / MMP  will send that update to Apple.
  • As with any conversion values, they don’t need to happen in a specific order. MMP will send the highest conversion value reached to Apple, and Apple should then send this value in their final postback.

Crowd Anonymity

Background

Marketing platforms had a very low threshold, so if a cohort of users did not pass the privacy threshold, Apple would drop the conversion value and/or source app ID from the postback and both would be nulled.

Changes

What the new feature brings is new tiers for the anonymity that go from 0 to 3, and the way it works is that Apple will determine to which tier the install belongs to and drop one or more fields in the tier (fields being conversion value, source id, etc)

Tiers explained

The lower end of the crowd anonymity is Tier 0. 

This is when the install count for the cohort is low and therefore doesn’t meet the privacy threshold. So what get is:

  • The source identifier with two digits
  • No conversion values in the first postback
  • No further postback.

Tier 1 also sits at the lower end of crowd anonymity, but with enough installs to meet the threshold. In this tier, we’d get:

  • The source identifier with two digits
  • The coarse-grained conversion value.

For Tiers 2 and 3, where user anonymity blends in with the crowd we get almost the same thing except that Tier 3 gets one more data point.

In Tier 2

  • The source identifier with two, three, or four digits in the first postback
  • The source identifier with two digits in postbacks 2 and 3
  • The fine-grained conversion value in the first postback
  • The coarse-grained conversion value in postbacks 2 and 3.

In Tier 3

  • The source identifier with two, three, or four digits in the first postback
  • The source identifier with two digits in postbacks 2 and 3
  • The coarse-grained conversion value in postbacks 2 and 3
  • The source-app-id (for in-app ads) or source-domain (for web-to-app ads)
  • The fine-grained conversion value in the first postback.

Hierarchical source identifiers

Background

Apple used to have 2 digit campaign identifiers which in summary limited the number of campaigns that you were allowed to run in different marketing platforms.

Changes

They replaced this with 4 digits which means that will cover: campaign, location, placement. The way that it would work is that two digits could stand for the ad campaign, the third could represent the location, and the fourth could mean the ad placement.

So, the platforms now will have more flexibility in campaign structures and testing. Instead of having only 100 IDs for testing campaign variables to get deterministic attributions, there will be 10,000 different combinations available.

The main downside is that the 4 digits will be limited to the threshold mentioned in the first comment. While the postback will always have the first 2 digits, if the cohort does not reach the required tier, the other combinations of digits (3 and 4) won’t be shared.

SKAdNetwork Attributions for Web

Background

The way to track and attribute web activity within the SKAdNetwork ecosystem was very limited, if you wanted to track users who were redirected to the app store after clicking on your search or display ads, was almost impossible or with a lot of hypotheses and assumptions made.

Changes

With the new updates and using their Private click measurement ecosystem, Apple will allow advertisers to attribute web-based ads that lead directly to the brand app’s product page on the App Store. 

At the moment they only support Safari as a browser but if you use any Apple products there is a high probability (+85%) that your default browser will be Safari. 

Ad impression

Background

Ad impressions were only available to be tracked at campaign level without much customisation. 

Changes

The new release will allow the advertiser to choose the setup of attribution. Which means that instead of doing in the winning click, what the new feature would give the advertiser is the ability to capture up to three conversions that result in postbacks for the winning ad impression.

So the level seems to remain the same, still campaign level, but you can understand the performance of the events based on impressions

TL;DR

This is what the new SKAdNetwork 4 will bring:

  • Changes in the number of conversion value bits from 6 to 8 which allows advertisers to provide more granular information about app installs and conversion events.
  • New attribution rules designed to provide more accurate data to advertisers while still protecting user privacy
  • View-through attribution which allows advertisers to measure the impact of ad impressions even if the users does not click on the ad. Key feature for when brands are running brand awareness type of campaigns. 

Advertisers next steps

  • Think about your conversion events and what benefits you will have to track them.
  • Map them out to the most relevant postbacks following the importance of the events from a reporting perspective, as well as the impact they have from an optimisation perspective.
  • Analyse the right cutoff points for the postbacks cutoff windows in order to make sure you get sufficient enough data to optimise your activity. 
  • Test these changes before the big release!