- 26 May 2023
- 6 Minutes to read
- Updated on 26 May 2023
- 6 Minutes to read
What is SKAdNetwork?
SKAdnetwork is the new way of attribution introduced by Apple for iOS 14. This is the official documentation provided by Apple.
When using SKAdnetwork, a signature is attached to each ad click. When the user opens your app for the first time, Apple will be able to verify if they are coming from a specific ad with this signature. Then, a postback is sent back to the ad network to attribute a new install.
In order to integrate with SKAdnetworks, you will have to call the method below in the SDK. We have already updated both our iOS and Unity SDK to support the following method.
updatePostbackConversionValue(_:): This method should be called every time you want to update the conversion value attached to this specific user. You can call this method as many times as you want, but the conversion value will only be updated if it is higher than the previous one.
Please check with your ad-networks if they are ready to run SKAdnetwork campaigns.
SKAdNetwork Reporting in Tenjin
We've also created a short video to help you familiarize yourself with SKAdNetwork Reporting in Tenjin. In the video we cover what SKAdNetwork is and how Tenjin is thinking about it, what SKAdNetwork metrics you can access through Tenjin and where you can see them, and what networks or channels Tenjin supports for SKAdNetwork.
Watch the full video:
Conversion value is a numeric value between 0 and 63 which you can assign to a specific install. It's a "signal" that will help you understand how valuable a specific user is without giving you a way to identify them. Ad networks can use this information to understand how valuable each install is for your business. This signal can help ad networks identify better audiences to serve your ads and improve your campaign performances.
Below are some important characteristics you need to remember for conversion values:
- You can only update the conversion value with a value higher than your previous call (1-> 2 but not 3->2).
- A limited value between 0-63.
- You can measure conversion values for any time frame within the user's life time, but the longer you wait, the later the ad-networks will get the postback from Apple. In Tenjin, we recommend using 24 hours time window for this reason.
- The conversion value only appears if there are enough installs from the publisher according to Apple’s privacy thresholds.
In Tenjin, we give developers full flexibility to choose whatever conversion values you want to map to a specific user event. Tenjin's Customer Success team is happy to work with you to figure out the best implementation for your app. Please contact firstname.lastname@example.org. Below are a couple of basic recommendations for apps that are mainly monetized through in-app ads.
1. Map ad revenue to conversion values
Figure out the conversion value buckets for each accumulated ad revenue calculated on the device for 24 hours since the install using historical data.
Implement the conversion value buckets in the SDK: map accumulated ad revenue to conversion values.
Send the corresponding conversion value to Tenjin (and Apple) using
updatePostbackConversionValue(_:)method in the Tenjin SDK when the ad impression happens every time until 24 hours of install.
Note: The mapping of ad revenue to conversion values may change over time and require an updates in the app. You also need to integrate Impression Level Revenue Data(ILRD) in the mediation SDK.
2. Map ad impressions to conversion values
Figure out the conversion value buckets for each accumulated ad impressions calculated on the device for 24 hours since the install using historical data.
Implement the conversion value buckets in the SDK: map accumulated ad impressions to conversion values.
Send the conversion value (impression counts) to Tenjin (and Apple) using
updatePostbackConversionValue(_:)method in the Tenjin SDK every time the impression happens until the first 24 hours of install.
Note: The mapping of ad impressions to conversion values may change over time and require updates in the app.
- Count the sessions as they are accumulated over a 24 hour period since the install.
- Send the CV (accumulated session count) to Tenjin (and Apple) using
updatePostbackConversionValue(_:)method in Tenjin SDK every time the session occurs until the first 24 hours of install.
Here is an example of conversion value implementation shared by other customers:
SKAdnetwork postback timer
In the postback sent from Apple to ad-network, there are two different types of timers:
- 24 hours timer: can be reset multiple times and has a defined duration of 24 hours
- Random timer: once it starts, it can't reset. The duration is random, between 0-24hours
When you fire
updatePostbackConversionValue(), the 24 hours timer starts. If you decide to fire
updatePostbackConversionValue(_:) again, the 24 hours timer is reset to zero and starts again. Every time you fire
updatePostbackConversionValue(_:), the 24 hours timer will reset.
Suppose you don't fire
updatePostbackConversionValue(_:) before the 24 hours timer expires, a random timer will start. Once the random timer starts, you can't update the conversion value anymore. At the end of the random timer, the postback is sent to the ad network. This postback may or may not include a conversion value (it will be the latest value you set for this specific user)
Feel free to email to email@example.com if you have any questions.
List of supported networks
Here is the current list of the networks that support SKAdnetwork.
|Network||Status||Postback or reporting API*||Definition of |
|Supported||Reporting API||SKAdnetwork installs|
|Google Ads||Supported||Reporting API||** (see below)|
|Liftoff Accelerate||Supported||Postback||MMP installs|
|Snap||Supported||Postback||*** (see below)|
|Unity Ads||Supported||Postback||MMP installs|
|Liftoff Direct (Vungle)||Supported||Postback||MMP installs|
*: Does the network pass us SKAdnetwork conversions via postback or reporting API?
**: Conversions from dual opt-in users and Google's modeling conversions (https://support.google.com/google-ads/answer/10081327)
***: Conversions from dual opt-in users and Snap's proprietary attribution method, Advanced Conversions
We created a short video to help you familiarize yourself with the SKAdNetwork Report in Tenjin. In the video, we cover what SKAdNetwork is, and how Tenjin is thinking about it, what SKAdNetwork metrics you can access through Tenjin and where you can see them, and what Networks Tenjin supports for SKAdNetwork.
Watch the full video here. https://www.youtube.com/watch?v=k4mMY2WK_RE&t=1s
SKAdnetwork data is available in Data Exporter tab. Go to ANALYZE -> Data Exporter on the dashboard, and select "SK Ad Network" as RERORT TYPE. You can apply app and channel filters for your data.
You can choose multiple group-by options from this list:
- Required dimensions
- Tenjin dimensions
- SK Adnetwork dimensions
- Conversion Value
- Fidelity Type
- SK Channel
- SK Campaign
- SK Source app
You can also select multiple metrics from this list:
- Conversion Value Count (Default)
- Conversion Value Average (Default)
- Conversion Value Total
- First Download Count
- First Download Conversion Value Average
- First Download Conversion Value Total
- Redownload Count
- Redownload Conversion Value Average
- Redownload Conversion Value Total
- Redownload Assists
- First Download Assists
You can see the definition of those metrics here.