I have been getting a lot of similar questions in the past couple of months. Something like:
Why is this happening? Quick IDFA recap
Following the announcement of ATT, Apple’s privacy-centric attribution framework SKAdNetwork (SKAN) is your new boss. Since the beginning, everybody said most iOS users will deny access to their user-level data in versions 14.5 and above so you are pretty much fucked. After some time, we found out that 40+% players actually share IDFA.
The ugly truth still is that you rely on SKAN to measure the success of your campaigns. I do too!
SKAN has turned mobile UA upside down on iOS, introducing completely new mechanisms to balance between data privacy and marketing measurement.
Expect delays in your reporting from 24 – 72 hours from the actual install or subsequent in-app conversion event. This is a result of Apple’s delay framework. Conversion value updates from your app may delay reporting beyond 48 hours depending on your conversion model. Currently, limit conversion values to events that occur within the 24 hours following the first app open. This is the golden rule for iOS profitable campaigns! This may mean not configuring some events that tend to occur days or weeks after an install
Let’s get back to our problem. What could be the issue of zero conversions in your UA campaigns?
Wrong conversion schema?
This is always the first thing I am checking when starting to work on a new game. How does the conversion schema setup looks like. It can really make or break your whole iOS UA efforts.
I’ve been testing this out since the beginning of the SKAN. Oh boy, how much fun did I have. Going from funnel schema, to revenue schema (which actually worked!) to custom schema where I combine both funnel events with revenue brackets.
Why combination? Revenue brackets are important for you to be able to run Value optimised campaigns!
- which ones do people use? What is recommended?
- For more genres and benchmarks look here: https://www.appsflyer.com/benchmarks/gaming-action/skad/global/2022-05-01/
As you can see on the screenshots from different genres, in-app-events + revenue (brackets) is the most used conversion schema out there. Test it on your end as well, don’t use it blindly.
After being 300% sure the SKAN conversion schema is correct, I always look at the campaigns performance. Usually campaigns are not passing the privacy threshold therefore getting 0 conversions.
Privacy thresholds are an important component and SKAd post-backs..
..play a key role in conversion attribution. When a user installs and launches an app on iOS after viewing an ad, Apple requires a certain number of conversions to occur before providing attribution for installs with conversion values for an ad to a given Ad Network. This is called the SKAdNetwork Privacy Threshold, which helps prevent advertisers from identifying a unique user.
Apple has said the post-back conversion may include a conversion value and the source app’s ID if Apple determines that providing the values meets their privacy threshold.
When Apple believes there’s a risk of identifying a user the conversions are deemed “NULL” conversions in the SKAdNetwork post-back.
Apple does not share the exact privacy threshold needed for different UA channels. Worry not, answer is below because I love you.
For campaigns optimizing for in-app events: this impacts both optimization and reporting for in-app events as the Ad Networks gets limited data for the purpose of optimizing performance of an AEO campaign.
You are running an iOS Purchase campaign on Facebook, but you can’t really see any postbacks. Right?
Let me tell you this -> 0 SKAN postbacks on FB = not passing the privacy threshold! But this is not an issue only on Facebook.
Let’s take a look at different UA channels:
Each network has its own internal logic when it comes to figuring out the privacy threshold.
To avoid null values for SKAd post-backs, you need to ensure that you get a minimum number of installs above Apple’s privacy threshold.
They offer their advertisers guidance accordingly; each with its own set of campaigns hierarchy, ad-sets, publishers etc.
Snapchat recommends driving at least 75+ Installs per Ad Set per Day for optimal measurement. They have observed a positive impact on clearing privacy thresholds and reducing Withheld conversion values when the number of daily attributed installs is high.
The Unity team recommends aiming for a minimum of 30 installs per day. If you see a lot of null values, we recommend reducing the number of campaigns and/or creatives per campaign. While you have a limit of 50 live campaigns and/or creative packs per app, using all of these may cause you to be below the minimum of 30 installs per day for the privacy threshold.
Facebook, for example, aims for at least 88 app installs per day: If you don’t have at least 88 app installs per campaign per day, you’ll likely see null conversions in your reporting. Combining ad sets and campaigns can help meet the 88 app install threshold to minimize null conversions. You can also consider increasing budgets and/or moving up the funnel to more populous or more frequent events.
TikTok recommends a daily target of 90+ installs per iOS 14 campaign. If you are seeing much fewer installs for your iOS 14 campaigns, they recommend reviewing your campaign specs.
Google campaigns are using modeled conversions which means that modeled conversions may take up to 5 days to appear, and this is expected behavior. This modeling delay is in addition to existing conversion delays. Also be aware that reporting for recent campaign performance will continue to be affected by modeling lags, and you should continue to be prepared for performance fluctuations.
In the world of User acquisition, 72 hours is already too long (this is the time you are not able to evaluate anything on other channels) not talking about 5 days delay. You need to get at least 100 installs per day per campaign.
What could you do to start getting postbacks and meet the privacy threshold?
well guess what!
increase budget (DUH!)
Run campaigns with considerably high budgets. Look at your CPIs on Android, multiply them 5-8x and calculate the budget. Simplified, if you run $150-200/day on Android, on iOS you need to start at least on $500-600/day.
Consolidate countries and create geo Tier buckets. My current Tiers example:
T1: US, UK, CA, DE, FR, AU, KR, JP, CH
T2: DK, FI, NO, SE, NL, ES, IT, HK, SG, NZ
T3: PL, CZ, SK, BE, AT, IE, TR, UAE, SA, TW, TH
I usually group all tier 1 countries together not looking at the language, but only LTV (lifetime value), then create tier 2 segment and Rest of the World. This is based on LTV for a specific game.
Don’t copy, do your own homework!
broader targeting strategies
Use broad targeting as much as possible, and consolidate lookalikes, interest or behavior with high overlap into larger groups.
experiment with campaign optimisation
With Facebook consider switching campaigns to AAA (Automated app ads) structure to help overcome the privacy threshold and start getting postbacks.
Use AAA campaign with MAI+Purchase optimization. As such, 50% of the time the campaign will optimise for installs and other 50% will optimise for purchase. Using this campaign type especially on iOS to get lower CPIs, but also quality players.
You have a limited number of UA campaigns so consider grouping countries, consolidating lookalike and interest group audiences where you have similar bids or similar ARPU.
Don’t make campaign adjustments in the first 72 hours after launching the iOS 14 campaign.
Wait until you see first data, then when evaluating overall campaign performance, please wait for an additional 24 hours (ideally 72 hours) so that the campaign can fully receive all SKAN conversion post-backs.
Expect a longer learning phase for the iOS14 campaigns due to SKAN delays and IDFA loss. Super important!
When you do all these things this is how it should look!
All good, right?