For iOS apps, you have the option to set up SKAdNetwork (SKAN) measurement in addition to MMP attribution. This guide walks you through SKAN attribution, steps for setting up SKAN attribution, and best practices for running SKAN campaigns.
What is SKAdNetwork (SKAN)?
SKAdNetwork (SKAN) is an iOS app install attribution system developed by Apple that is intended to prioritize user privacy by keeping user-level information undisclosed. It provides advertisers and ad partners with aggregated attribution results instead of unique device identifiers like IDFA when no explicit permission from users has been granted through App Tracking Transparency (ATT). SKAN has become a primary app attribution method on iOS since the changes in iOS 14.5.
How SKAdNetwork (SKAN) attribution works
-
Ad Display: An ad is displayed in a publishing app. When a user views the ad for at least 3 seconds, SKAN records this as a view.
Ad Interaction: When a StoreKit-rendered ad is presented (i.e.,
fidelity_type=1
), or when a user interacts with a view-through ad (i.e.,fidelity_type=0
), SKAN records this interaction. Moloco supports SKOverlay as a StoreKit-rendered ad. -
When a user installs the advertised app and launches it within the SKAN attribution window, the install is attributed to the ad network for the ad. The attribution window differs by ad type.
StoreKit-rendered ad (i.e.,
fidelity_type=1
): User has 30 days to install the app.View-through ad (i.e.,
fidelity_type=0
): User has 24 hours to install the app. This is available in SKAN 2.2 and later. -
Install postback data from SKAN isn't instantly made available to ad networks. Install potback data is typically available after a minimum of 24 hours from the first app launch. For SKAN 4.0, the minimum delay for the first postback is 3 to 4 days.
Key concepts in SKAdNetwork (SKAN) attribution
-
SKAN allows for measuring in-app actions through a conversion value represented by 6 bits (0-63). Advertisers can map these values to specific in-app events. In addition to the fine-grained values from pervious versions, SKAN 4.0 uses coarse-grained (low, medium, high) conversion values. Up to three postbacks can be sent in SKAN 4.0, with the first potentially containing a fine-grained value and subsequent ones containing coarse-grained values.
-
Apple implements a privacy measure called Crowd Anonymity in SKAN 4.0, which may mask data like conversion values and Source App IDs if the number of attributed installs doesn't meet a certain threshold. In SKAN 4.0, there are four tiers of crowd anonymity influencing the level of data shared, with ads in Tier 3 given access to more granular data than those in Tier 0. Achieving a daily count of 40 to 50 SKAN installs per campaign ID is suggested to minimize NULL conversion values.
-
Prior to SKAN 4.0, Campaign IDs provided limited information, as they were composed only of numbers ranging from
1
to100
, which amounts to 100 options per app, with Moloco campaigns assigned1
through60
. In SKAN 4.0, Campaign IDs are now Source Identifiers that allow for up to four digits, and this translates to 10,000 options per app. Moloco allocates these digits for creative group, ad group, and campaign.
How to set up SKAdNetwork (SKAN) attribution
To track your iOS campaign performance with SKAN through Moloco, you must follow the steps below.
Prerequisites
- You are running iOS campaigns only.
- The advertised app must have SKAN ownership. By default, SKAN ownership is assigned to only the first registered app bundle and ad account. If needed, you can request SKAN ownership reallocation through your Moloco representative. Note that you must wait 72 hours following reallocation before you can set up SKAN campaigns.
- Your traffic targeting must include SKAN-attributable traffic. To learn how to include SKAN traffic, see the SKAN traffic configuration guide.
Step 1: On Your MMP Dashboard
- Set up your app on your MMP dashboard and install the MMP's SDK in the app. Ensure your SDK supports SKAN.
- Configure SKAN postback settings on your MMP dashboard. This involves telling your MMP to track and process SKAN postbacks. For more detailed instructions, see the postback integration guide specific to your MMP.
- Register SKAN conversion values to define how you would like to map in-app events to SKAN conversion values. SKAN 4.0 offers fine-grained values (i.e.,
0
through63
) and coarse-grained values (i.e.,low
,medium
, andhigh
). This is crucial for measuring post-install activity within SKAN's limitations. - Create tracking links as you normally would for your ad partners. Your MMP will handle the SKAN attribution behind the scenes for users without App Tracking Transparency (ATT) permission.
- Ensure you have authorized your MMP to share full postback data, including Moloco-attributed, non-Moloco-attributed, and organic events with Moloco. We need this data for Moloco's machine learning algorithms to optimize campaign performance, especially for iOS campaigns with the limitations of SKAN postbacks.
Step 2: On Moloco Ads
- Register your app on Moloco Ads. Ensure the App Bundle ID is identical to that on your MMP dashboard.
- Check for SKAN ownership. To do this, sign in to Moloco Ads, and navigate to the Asset > Apps page. Confirm that the SKAdNetwork Event Management icon is visible for the iOS app.
- [Recommended] Register SKAN conversion values on Moloco Ads. For more details, see the SKAN configuration guide.
- Create your campaign for the iOS app that has SKAN ownership.
- Configure SKAN traffic targeting. To learn how to add SKAN-attributable traffic, see the SKAN traffic settings guide. We recommend using the default SKAN traffic targeting to capture all measurable traffic. However, if you would like to receive only SKAN related metrics, be sure that all SKAN-attributable options are selected.
Best practices for running SKAdNetwork (SKAN) campaigns
We recommend following the best practices outlined below for effectively setting up and managing your iOS campaign measurement using SKAN. While SKAN and MMP attribution are distinct frameworks, they work together to provide insights into your campaign performance in a privacy-centric environment.
-
Enabling PA in MMP is crucial for training our ML models. Without PA, we are unable to access event-level attribution data from iOS 14.5+ users who have opted out of Apple's App Tracking Transparency (ATT). This significantly restricts our ML capability, limiting our models to learn only from IDFA data with user consent.
-
While SKAN is crucial for users who don't opt-in, increasing ATT opt-in provides user-level data for more accurate targeting.
-
This provides more training data for ML models, improving prediction accuracy.
-
This helps in surpassing the privacy threshold more quickly and minimizing NULL conversion values. Aim for 20 to 25 installs per day, per app, per SKAN campaign ID.
-
Changes in budget may not be reflected immediately in metrics due to SKAN's postback delay of 2 to 4 days or 3 to 4 days depending on the SKAN version. Allow at least a 72-hour lookback window when analyzing performance after budget changes.
-
These have a longer attribution window of 30 days and can boost SKAN installs.
-
Utilize the fine-grained and coarse-grained values for better measurement across different time windows. Consult your MMP's guidance on SKAN 4.0 configuration.