As the industry moves away from individual identifiers, multiple forms of measurement have emerged for iOS App campaigns, including SKAdNetwork.
SKAdNetwork helps app advertisers measure their ad activity, such as impressions, clicks, and app installs, on an aggregated level and has become increasingly important to app advertisers in assessing their iOS campaign performance.
Particularly, to measure in-app event performance and more effectively optimize campaigns for post-install actions or a target return on your ad spend, we recommend app advertisers set up their SKAdNetwork conversion value schema. This schema is a means to designate which in-app events matter to your business.
Set up your schema for in-app event measurement
Today, you can set up your SKAdNetwork conversion value schema for in-app event measurement through Google Analytics 4, a Google-approved App Attribution Partner, or the Google Ads API. It’s highly recommended that advertisers choose one place to set up their conversion value schema. Conversion value schemas set up through Google Analytics 4 can be exported with the Admin API. After configuring your schema, it will then need to be integrated with your Google Ads account for campaign optimization, more on that below.
Your SKAdNetwork conversion value schema will be highly specific to your business and app. You should ensure that the conversion value (CV) fields you set in your schema represent the in-app events you plan on optimizing your App campaigns for and that these events are also present as biddable conversion events within your Google Ads conversion settings.
With version 4.0 updates to SKAdNetwork, while setting up your schema, you’ll have 3 different measurement windows including 0-2 days, 3-7 days, and 8-35 days after the initial install. This will result in 3 different postbacks:
- The first postback can be a fine or coarse-grain conversion value. Fine-grain conversion values are an anonymized number between 0-63.
- The second and third postbacks will be coarse-grain conversion values. A coarse-grain conversion value is a bucket of defined values labeled low, medium, or high. You’ll learn more about this below. If the postback doesn’t meet the privacy thresholds defined by Apple, you’ll receive a "NULL" value.
For these 3 postbacks, you’ll want to consider the volume and frequency of the most impactful events to your business and code them in your schema. Events with higher volume and frequency may result in more conversion data and less null values.
For apps with key in-app events that occur beyond the first 2 days, postback 2 and 3 are important updates. However, you should keep in mind that fine-grain conversion values aren’t available in postback 2 and postback 3. This means the most granular data you'll be able to receive in these 2 new windows will be a coarse-grain value.
SKAdNetwork version 4.0 updates also introduce a new concept, “lockWindow,” which gives app advertisers the ability to lock the conversion window for their postbacks. For example, you can lock the window of the second postback anywhere between day 3 and day 7 of the user's activity. So, if you know your most valuable users are found by day 5, you can add a “lock.” This means that your postback data will come on day 5 instead of waiting until day 7, and we’ll receive the data faster for that conversion. This is important for advertisers that want to optimize faster and feel that they don’t need further data past that lock day.
Understanding coarse-grain conversion values
In addition to multiple postback windows, version 4.0 updates to SKAdNetwork also introduce new, coarse-grain conversion values for campaign measurement with iOS 16+ users. Coarse-grain is a new type of SKAdNetwork conversion value that can represent only one of 3 set values including low, medium, or high.
Coarse-grain conversion values can now populate in all 3 of the updated conversion postback windows that are present within SKAdNetwork 4.0, depending on the postback tier that Apple assigns to that conversion. For iOS 16+ users, coarse-grain conversion values may begin to populate instead of fine-grain conversion values or “unavailable” postbacks also known as NULL postbacks.
To configure coarse-grain values for SKAdNetwork, we recommend the following:
- First, ensure fine-grain conversion value events are created following the best practices outlined in the section above.
- Set the coarse-grain value for your in-app events over the 3 distinct postback windows. Note that each window may have different designations. The conversion event is the action that you want to measure, such as a purchase or a sign-up. The coarse-grain value is a user-defined representation of low, medium, or high for a given event or combination of events.
Google recommends that you configure both fine and coarse-grain conversion values for use across relevant postback windows.
You can do this today with Google Analytics 4, a Google-approved App Attribution Partner, or the Google Ads API.
Considerations for ideating conversion values for your business
You should include the events that you want to optimize your App campaigns for in your schema. Every additional event you track should be for your own measurement purposes. For any event included in your schema, ensure that the event has more than 10 conversion events per day.
You may want to consider starting from the beginning of the user’s journey and listing all in-app events from upper funnel to lower funnel. Given the limitation that SKAdNetwork can measure short-term conversions more accurately, taking a funnel approach and optimizing towards events within 3 days after installation may result in increased performance for iOS campaigns.
Example in-app funnel
This diagram illustrates a sample conversion funnel for in-app events.
Aim to achieve around 50 installs per day and consider including high frequency, impactful events in your schema that you plan to bid on in your App campaigns. Below are some example events that you may want to consider:
- Gaming
- Join group
- Level up
- Post score
- Select content
- Spend virtual currency
- Tutorial begin
- Tutorial complete
- Unlock achievement
- In-app purchase
- Finance
- Sign up complete
- Credit check submitted
- Bank account linked
- Verified checking or debit
- First deposit
- Trade ready
- Stock purchase
- Retail
- Generate lead
- View item
- View item list
- View search results
- Purchase refund
- Add to wishlist
- Add to cart
- Begin checkout
- Add payment info
- E-commerce purchase
- Travel
- Search
- View search results
- View item
- View item list
- Add to wishlist
- Add to cart
- Add payment info
- Begin checkout
- E-commerce purchase
Integrate your schema with Google Ads for campaign optimization
After you’ve set up your SKAdNetwork conversion value schema, you’ll need to integrate it with your Google Ads account for campaign optimization. Currently, this schema integration ability is available in limited beta. Reach out to your Account Manager to learn more.
Ensure that you have set your conversion value schema to the appropriate measurement mode specific to your App Attribution Partner.
Partner | Modes |
Adjust | Custom |
Airbridge | Revenue, Event, and Number of order complete |
AppsFlyer | Custom, Revenue, Conversion, Engagement, Decode |
Google Analytics 4 | Custom |
Branch | Customer event alias, Revenue range |
Kochava | Revenue, Highest value event, Engagement, User journey |
Singular | Revenue, Conversion events, Engagement funnel, Mixed models |
Tenjin | Custom |
Map your events with Google Ads
As mentioned, today in limited beta, we offer the ability to utilize your SKAdNetwork schema to improve the optimization of your tCPA and tROAS App campaigns. If you are utilizing a third-party App Attribution Partner for SKAdNetwork conversion value schema setting, but bidding on Google Analytics 4 in-app events, it will be critical that the in-app event names set up through your partner align with your Google Analytics 4 in-app event names. As part of this beta, you’ll need to provide a mapping of both event names to your account management team.
This mapping is important and Google requires it since your events may have different naming conventions. For example, you should ensure your “in_app_purchase” event in your third-party partner interface aligns to “purchase_one” in Google Analytics 4. Without mapping the events to each other, Google won't be able to determine which SKAdNetwork conversion values tie to your partner events and Google Analytics 4 events and we won't be able to calibrate our models effectively.
If you aren’t in this beta, you can still prepare for this step by having your mapping ready and by making sure all your events, both in Google Analytics 4 and your App Attribution Partner, have already been added as conversion events in Google Ads. In the future, Google Ads will offer a way for you to communicate this mapping to us.