Maximizing SKAdNetwork insights with AppsFlyer

By Barak Witkowski
skadnetwork solution ios 14

Much has been written about SKAdNetwork since Apple’s announcements at WWDC20.

Today, we are excited to share AppsFlyer’s iOS solution for working with SKAdNetwork, and elaborate on how it will be embedded into our full attribution solution.

Maximizing SKAdNetwork data plays an important part in our new Aggregated Attribution solution, as these new signals make the full attribution solution more accurate. SKAdNetwork data, which is stripped of all user identifiers by definition, fits perfectly into that model by putting users’ privacy first, at the heart of the solution.

Overcoming the challenges

However, using SKAdNetwork presents new functional challenges for the advertiser, including:

  • No real ROI/LTV – SKAdNetwork only really measures installs. Further down in the article we’ll explain how Appsflyer’s solution overcomes this.
  • Granularity – Campaign level only, limited to 100 campaigns
  • Postback delay – At least 24 hours, sometimes longer
  • Prone to low levels of trust from advertisers – Data is owned and reported by networks
  • Ad fraud risk – Data can easily be manipulated
  • No re-engagement attribution support

Aside from the functional challenges, it also introduces structural ones.

The postbacks are sent only to the attributed ad network. Therefore the advertisers, or anyone processing data on their behalf, are blind to it.

This raises some tough questions:

  1. How will advertisers collect SKAdnetwork data from all of the different networks? The list of networks can be very long, leading to extensive R&D, integration and support cycles for each of them.
  2. How will results be displayed in one centralized place, for actionable marketing insights?
  3. How will data be validated? The data could potentially be manipulated by many players along the way. Dirty data means bad marketing decisions.
  4. How will networks decipher the actual meaning of the conversion value per app?

We designed our solution to tackle these functional and structural challenges.

Our solution

The main highlights of our solution are:

  1. Data aggregation: Collecting all SKAdNetwork information from each ad network, on behalf of the advertiser
  2. Data validation: Ensuring all postbacks are signed by Apple and aren’t manipulated in transit 
  3. Data enrichment: Matching SKAdNetwork information with other data points, such as impressions, clicks, cost, organic traffic and more, for complete ROI analysis
  4. Data enablement: Facilitating SKAdNetwork data for convenient consumption by the advertiser, through dedicated dashboards and APIs
  5. Seamless integration: Full encapsulation, requiring close to zero effort from the advertiser, including for future changes in the SKAdNetwork protocol
  6. Conversion events: Server side, dynamic and flexible in-app event to conversion value configuration. 

In order to enable this, here are our solution pillars:

  1. Access to postbacks: We’ve defined an easy-to-follow process to enable postback forwarding to an end point by AppsFlyer, together with an integration doc depicting the fields ad networks should expect in each postback. We’ll be sharing this integration doc with all of our partners in the coming days.
  2. Mutual model enrichment: Last week we introduced our Aggregated Attribution solution. AppsFlyer’s attribution approach is holistic: every new signal enriches all the different models. In our vision, SKAdNetwork is no different in this manner; in the future, these signals will be used to enrich our aggregated attribution model, to provide a full attribution picture.
  3. SDK wrapping: AppsFlyer’s SDK within the advertised app will encapsulate all calls to SKAdNetwork OS functions. The advertiser doesn’t have to do anything beyond integrating our SDK.

Dynamic post-install in-app events attribution for SKAdNetwork

A lot has been said about the conversion value field in SKAdNetwork. We believe in full flexibility here. That’s why we decided to enable advertisers to configure what they want to measure with it; revenue, conversions, engagement or retention.

Advertisers can control or change it on-the-go directly from AppsFlyer’s dashboard, and the SDK and entire system will adjust immediately.

To be clear, everything will be controlled from server-side, with zero changes to the app code and no re-submissions to the store.

The screenshot below shows how advertisers choose their preferred mode.

According to the active configuration, AppsFlyer will decode the conversion value from SKAdNetwork data, present it to the advertiser, and also report back to the networks for campaign optimization purposes (based on advertisers’ postback configuration):

We’re happy to share that we have enriched this model even further to enable customers to activate more than one mode in parallel (conversion, engagement and revenue).

By randomly splitting the users of the app to different groups, and upon scaling the results, we can support measurement of all KPIs to achieve optimal marketing insights.

AppsFlyer’s SKAdNetwork Overview Dashboard

We’re excited to share a first look at our brand new SKAdNetwork overview dashboard.

This dashboard presents all SK data collected from the different networks, after being validated and enriched with all other signals collected externally to SKAdNetwork from the networks and AppsFlyer SDK.

The dashboard presents the entire marketing funnel, per each media source and campaign: impressions, clicks, installs, conversions, engagement and revenue. In other words, measuring your main KPIs per campaign: CVR, ROI, CPI, ARPU, ROAS, eCPA.

The dashboard also shows trends over time revealing insights and comparisons, using your organic traffic as a baseline.

Let’s look for example on the 3 pie charts in the center and the marketing insights they generate. We’ll note that Network A generates a big portion of the installs (35%), but these users aren’t converting well (15% of converted users, and only 9% of paying users). On the other hand, for Network C the results are the opposite. The marketing implications are clear.

What’s expected until the release of iOS14?

Advertisers: In the coming days, we will release our SKAdNetwork-compatible SDK. Advertisers will need to update their SDK to this version in order to enjoy SKAdNetwork attribution functionality.

In parallel, we are updating our Help Center with full documentation about the configuration of post-install attribution, limitations, dashboard and APIs.

Ad networks: We are in the process of releasing our integration spec detailing the interface between AppsFlyer and networks:

  • How to send AppsFlyer the SKAdNetwork data 
  • Campaign mapping
  • Postbacks from AppsFlyer to networks for SKAdNetwork data and campaign optimizations

We welcome all of our partners to approach us to receive the spec and start integrating with our SKAdNetwork solution.

Wrapping it up

We realize and sympathize that SKAdNetwork is not optimal. ROI and LTV measurements are somewhat limited.

However, when enriching these postbacks with other data points as presented above, one can still generate significant insights and take the right marketing decisions based on them.

After all, that’s what attribution is all about.

Barak Witkowski

Barak is the VP Product at AppsFlyer. He is a seasoned entrepreneur who has launched mobile apps with tens of millions of users worldwide.

Follow Barak Witkowski

Ready to start making good choices?