Attribution

AdAttributionKit: the new SKAdNetwork?

By John Koetsier June 11, 2024

Hello AdAttributionKit. Goodbye SKAdNetwork?

At WWDC 2024 this morning, Apple unveiled more details about AdAttributionKit, which is likely the new SKAdNetwork. That remains to be fully seen, and SKAdNetwork is still here, but basically AAK (or AdKit?) is SKAdNetwork with a few updates and, likely, a longer lifespan.

Why do I say that?

In the WWDC 2024 session, Apple says that AdAttributionKit has “full interoperability with SKAdNetwork.” For more information on SKAdNetwork, Apple refers viewers to the WWDC presentation of SKAN 4 from 2022. Furthermore, Sara Camden, the head of product marketing at InMobi, told me this morning that Apple’s main attribution landing page that covered SKAN as well as Private Click Measurement has been entirely overhauled to focus on AdAttributionKit … and any mention of SKAN 5 coming soon is gone.

Here’s the before in December 2023, and the after, from January 2024:

 

AdAttributionKit new SKAN

 

I rest my case …

(Oh, while you’re reading this, please join our LinkedIn Live about AdAttributionKit.)

AdAttributionKit: the big new stuff

There are 5 major differences between AdAttributionKit and SKAdNetwork.

  1. Built for multiple app stores
    The biggest and most significant change is that AdAttributionKit is built for a world of multiple app stores, thanks to the EU and its Digital Markets Act. That means there is now a “marketplace identifier” which will indicate which app marketplace an app install came from.
  2. Re-engagement support is here at last
    One of the most requested features for SKAdNetwork was re-engagement support, which has now arrived. The “conversion-type” field in AdAttributionKit can have 1 of 3 different values: download, redownload, and re-engagement.
  3. Support for multiple creative types
    In SKAdNetwork, an ad is an ad is an ad. AdAttributionKit, however, has explicit differentiation in both displaying ads and attributing conversion by creative type: clickable custom creative, view-through ads like videos, and what Apple is calling “recommendations,” which are in-app app listing features like SKOverlay (a small view into an app listing page) and SKStoreProductViewController (a larger, full-screen version of the app listing page). And Apple’s developer overview of AdAttributionKit says that it supports “multiple advertising formats, including static images, videos, audio, and interactive ads.”
  4. Hello deeplinks
    If advertisers add opt into re-engagement, they can add the “eligible-for-re-engagement” flag to the code that displays an ad. If that flag is present and AdAttributionKit detects that the app being advertised is already installed, it can open the app to a specific screen using universal links
  5. Developer mode
    It’s generally hard to test SKAdNetwork because the postback delays and long conversion windows make developers wait to find out if what they did worked. Now Apple will allow you set developer mode for AdAttributionKit, which will remove the time randomization, shorten conversion windows, and send postbacks much quicker.

There’s more, but those are the big new announcements in AdAttributionKit.

All about re-engagement in AAK

Losing re-engagement campaigns was a massive blow in SKAdNetwork that wasn’t solved in SKAN 4, but was promised for SKAN 5. Now Apple is delivering it in AdAttributionKit.

Here’s the flow:

  1. Ad networks add the “eligible-for-re-engagement” parameter, telling AdAttributionKit to consider the ad for re-engagement conversions if the app being advertised is already installed
  2. If a person who sees the re-engagement ad taps on it, AAK will open the advertised app to a specific screen using a universal link
    1. Note: an ad can have the re-engagement parameter and still work perfectly fine as an app install ad in cases where the advertised app is not yet installed
  3. As AdAttributionKit opens the app via the universal link, the ad network appends a query parameter to the link to show that the app was opened as a direct result of a re-engagement ad
  4. AdAttributionKit will send postbacks to the ad network (and optionally the advertiser), but they’re a bit different than install postbacks
    1. Re-engagement postbacks will contain a “conversion-type” field with the value “re-engagement”
    2. AdAttributionKit only supports click interactions for re-engagement; not view-through interactions
    3. Conversion values for re-engagement can be updated separately from installation postbacks
    4. The first conversion value update must occur within 48 hours of the re-engagement event
  5. Given that AdAttributionKit sends postbacks for re-engagement campaigns and appends a special AdAttributionKitReengagementOpen parameter to the deep link that opens the app, there’s going to be good measurement capability
re-engagement in AdAttributionKit

AdAttributionKit vs SKAdNetwork

Apple’s WWDC session made it clear: AAK has full interoperability with SKAdNetwork. That means it operates essentially like SKAdNetwork with all the SKAN features you’ve come to know over the past few years:

  • SKAN 4’s 3 separate postbacks 
  • Coarse and fine conversion values
  • Crowd Anonymity governing how much data AAK releases
  • SKAN 4’s conversion value locking
  • Random delays before postbacks get fired
  • Source Identifiers
  • App ID, now called Advertised item ID

The key difference, as noted in the AdAttributionKit documentation, is that “AdAttributionKit works with both the App Store and alternative app marketplaces, while SKAdNetwork works specifically with the App Store.”

It is possible to pick 1 framework and stick with it, but it is also possible to use both concurrently, Apple says. 

However, 1 framework will win.

“If an app has both AdAttributionKit and SKAdNetwork impressions, the system sorts both of them and decides the winner. Only 1 impression can win for a conversion, whether it came from AdAttributionKit or SKAdNetwork.”

“The system,” as Apple says, will pick the most recently tapped ad for the attribution. If there were no click-through engagements, the most recently viewed ad wins. In cases where the actions in AdAttributionKit and SKAdNetwork are both clicks or both views, the most recent action wins.

Ultimately, however, if you have the choice of implementing either 1, you’re naturally going to pick AdAttributionKit because it has wider applicability: it will work with all app marketplaces.

True, that’s not super-relevant right now because there currently are no significant alternative app stores for iOS, but presumably that will change over time.

In addition, it seems likely that if there are updates to Apple’s attribution frameworks, they’ll happen for AdAttributionKit, not SKAdNetwork.

What about Web AdAttributionKit?

Today’s WWDC session focused mostly on App AdAttributionKit, and the same is true about the existing documentation.

But there is also a Web AdAttributionKit.

There isn’t a lot about Web AdAttributionKit yet, apparently from bits and pieces in Apple developer documentation for other things, like this documentation for UIKit.

What Apple does say there is not super-definite, calling Web AdAttributionKit a “proposed standard.”

“Web AdAttributionKit (formerly known as Private Click Measurement, or PCM) is a proposed web standard that allows external websites to measure when external links, such as ads, result in a conversion.”

That’s likely due to PCM’s genesis as a project in WebKit, the open source codebase and organization behind Apple’s Safari browser. It is likely to be cleaned up in the future.

Much more to come: check out our LinkedIn Live

We’ll be hosting a LinkedIn Live on AdAttributionKit this coming Thursday, June 13. At that event, Singular CEO Gadi Eliashiv and CTO Eran Friedman will discuss what AdAttributionKit means, how it will work, what will happen with SKAdNetwork, and much more.

 

AdAttributionKit LinkedIn Live

 

Join us by clicking this link and RSVPing!

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.