SKAdNetwork for Unity

Unity SKAdNetwork

There are three contexts in which SKAdNetwork (SKAN) can be used together with Unity.

  • Unity as an ad network – the use case for advertisers.
  • Unity as an ad monetization platform- the use case for publishers.
  • Unity as a development platform/engine – the use case for developers.d

Unity Ads and SKAdNetwork for advertisers

The advertising part can also be divided into three closely related parts:

  • Performance optimization – send Unity ads conversion values so Unity ads algorithms can use them to automatically optimize the served traffic.
  • Measurement – display campaign performance that advertisers can use to manually optimize their campaigns. 
  • Billing – Unity ads bill advertisers based on the number of impressions their campaign gets and not the number of generated installs.

SKAdNetwork integration is partner agnostic. Once you have a generic integration that manages ConversionValues, you are fine to advertise with Unity Ads.

Example: SKAdNetwork setup with Unity ads

How to test SKAdNetwork integration?

Unity Ads SKAdNetwork postback

The data transaction between Apple, Unity Ads, and an advertiser is performed via postback

Lear more aboutt SKAdNetwork postbacks

Unity Ads SKAdNetwork postbacks

Recommendation:  Make sure to set up direct postbacks to get additional insights such as source id. 

 Here is the instruction on how to set up direct SKAdNetwork postback from Apple.

SKAdNetwork data can also be accessed via Unity’s Advertising Statistics API. The API has the metrics and dimensions as Apple’s postback data.

Unity Ads Conversion Values

Learn more about SKAdnetwork Conversion Vales

Setting up Conversion Value event mapping is optional but highly recommended as it leads to better overall campaign performance.

Unity ads recommends the following priciples when setting up Conversion Values:

Assign Conversion Values according to the event importance in the ascending order. For example, it’s not a good idea to assing value 63 to ‘complete tutorial’ and value 1 to ‘purchase’ event.

The last Conversion Value update should occur within 48 hours of install.

The recommendation here is to map Conversion Values to common events that split user base into approximate groupings of the top 10-20%, the next 20-40%, and etc.


Unity Ads Conversion Values example

Unity Ads is proposing the following mapping for advertisers that are not sure what Coversion Values schema to use.

EventConversion valueShare of installs
Install033%
Second Session123%
Third Session113%
Fourth and fifth session315%
Sixth-plus session416%

Unity Ads Crowd Anonymity (Privacy Threshold)

Unity ads Privacy Threshold (post updated in Q2 2023): >30 installs per campaign in 24 hours

Privacy Threshold or Crowd Anonymity after SKAN 4 is a crucial component of SKAdNetwork.

When there are fewer installs in a campaign than in the setup of the privacy threshold for ad network, advertisers should expect the following:

  • NULL in Conversion Values instead of actual values in the reporting.
  • Ad networks won’t have ConversionValues for automatic ad optimization.
  • Missing source app ID
  • The source identifier is going to have two digits instead of three or four

The end results will depend on the number of installs in the campaign. There are 4 combinations of the received data that depend on the volume of installs in the campaign.

Unity Ads Campaign limitation: 50

In general, SKAdNetwork allows having only 100 campaigns per app. However, this number varies depending on how an ad network is integrated with SKAdNetwork.

SKAdNetwork and Unity for publishers

You need to configure the app to render and manage ads.

Unity SKAdNetwork id: 4dzt52r2t5.skadnetwork

The id should be used Info.plist

Follow SKAdNetwork ad monetization guide to learn more.

SKAdNetwork and Unity for developers

The majority of marketing & analytics SDKs support Unity. The SKAdNetwork setup does not differ from other development platforms.

Example: Google Admob for Unity app

This form is currently undergoing maintenance. Please try again later.