Living, Not Surviving, with SKAdNetwork

8 min readDec 13, 2023


Evaluating iOS ad campaigns requires Marketing Analysts and User Acquisition Managers to access information about users and their in-app actions after installation. Prior to 2021, all attributions were tracked at the player level using a unique random identifier — Identifier for Advertisers (IDFA), which Apple assigned to each device.

However, the landscape shifted significantly in 2021, making the optimization of advertising campaigns far less straightforward. AppQuantum is here to detail how life has changed two years since the advent of SKAdNetwork and to share the methods that have elevated User Acquisition to a new level.

Disclaimer: The article was written and published in July 2023. Some details have changed since this time, but the main points are relevant.

The first six months of life with iOS 14.5

Remember that access to user activity data during gaming sessions became limited after the widely publicized scandal with Meta (formerly Facebook). In April 2021, Apple introduced a new ATT user data privacy policy and the SKAdNetwork, their proprietary framework.

With its launch, advertisers found themselves grappling with new challenges when it came to tracking actual player behavior. This severely influenced the traffic acquisition strategies. Even though app metrics remained available, allowing us to determine what specific traffic the metrics reflected, it was not enough to ensure the most efficient performance.

Immediately after the release of the SKAdNetwork, we noticed a substantial drop in our revenue from iOS traffic. It became clear that Apple users were hesitant to share their IDFAs, and our capability to identify the source ad campaign for individual players evaporated. This new challenge prompted us to start brainstorming solutions.

As time passed, various attribution services began offering solutions to track large volumes of lost data. However, such systems only worked with specific traffic sources, thereby limiting access to a potential user database.

In one way or another, revenue from iOS games was still able to reach a level comparable to the period before the iOS 14.5 release. Nevertheless, AppQuantum had reached a profit ceiling. Working with a limited set of tools for buying traffic had become a problem.

Recognizing this, we began to delve into a thorough study of the SKAdNetwork.

Learning to live again

How SKAdNetwork works

Data on users are transmitted in a truncated form. For each player, we can get so-called ‘postbacks’ transferred during the first 24 hours of a user’s life in the game. This information is cut to a single event containing a value from 0 to 63.

When any user starts the app, a window pops up asking them to confirm or decline providing data to the advertiser:

  • If the answer is positive, the player’s data goes to Mobile Measurement Partners, so we see all their events and activity as before.
  • If the answer is negative, we no longer receive attribution, drastically reducing our analytical capabilities.

Enables the algorithm to send a postback to SKAdNetwork (regardless of the user’s response).

SKAdNetwork’s operating scheme prior to SKAN 4.0

How has the system impacted project work?

If you’re interested in making money from your games, your primary task is to gain more profit from users than the amount you spend to attract them. The larger the difference, the greater the profitability.

This translates into a simple formula: CPI < LTV

However, working with the limited amount of information received has become much more complex, and one formula can’t solve the problem. So, what’s next?

In the initial stages of working with Apple’s framework, we tried to develop a tool for cohort-based campaign evaluation to address this issue. In AppQuantum, our position was better due to the specific characteristics of our product genres: casual projects, idle games, and tycoon games have a distinctive user lifespan that enables us to understand the payback from a player even from day one.

In addition to this, games operated by AppQuantum have another advantage — hybrid monetization. Without this, resolving the problem would be rather challenging. On the first day of a player’s engagement, the conversion into a paying user from some advertising campaigns might not even reach 0.1%. We make money not only from paying users but also from those who watch in-game ads. Plus, we utilize reward videos — the most direct path to revenue.

First mapping and traffic estimation system

So, Apple has reduced the number of available conversions to get information about user actions. What to do?

  • Objective: to fit the value of iAP and the number of ad views into 64 conversions
  • Solution: our own mapping scheme

In fact, this mapping combines the range of money the user spends and the number of ads they watch. This forms the foundation of our basic algorithm for app traffic estimation. Internally, we refer to it as the algorithm for estimating traffic based on the first day of a user’s life.

First evaluation system

This algorithm is based on the KPI ROAS d0, which can be used on applications with a short user lifetime.

First evaluation system

From an outsider’s perspective, it may seem strange, but we still have probabilistic attribution sources on iOS. And how else, if not through them, can we verify the functionality of the formula?

So, we found that ROAS d0 describes the real ROAS of a campaign within one week with an accuracy of 15%. In other words, if the model indicates that ROAS is 20%, then the actual ROAS would likely fall within the 17% to 23% range. We found such results satisfactory for the new start of UA activities on sources without an attribution solution.

New challenges

After the initial few months of utilizing this evaluation system, it became evident that operating the source was significantly easier when there was a user LTV to refer to. At AppQuantum, we have an effective predictive model that shows the LTV of each user cohort.

However, the inaccuracies of our ROAS model eventually presented some challenges. We had concerns that the KPIs for ROAS d0 were not sensitive enough, leading to the potential cessation of a campaign if a user didn’t make a purchase on the first day. As we know, players often start “paying” on the second day of engagement with a game, and we typically don’t have data on this.

With a new problem came a new solution. We developed a user reattribution model that has been in operation since January 2022 in its unchanged form (except for minor adjustments specific to each game). It provides up to 15% accuracy over the user’s lifetime, narrowing to around 10% accuracy by day 30 of a user’s life.

Now, the only thing we don’t know at the user level is the campaign they came from.

How the reattribution model works

For example, we have 20 postbacks from SKAdNetwork for a given day: a date with cv = 10. They are all from different campaigns, and the users are from different countries.

We also have 40 users without attribution with the same cv = 10, but with install day = date — 2 days. Why exactly two?

That’s how long, on average, it takes from setup to postback arrival for each user. This was shown by our research based on players with attribution and using overlay charts, the number of postbacks, and new unique installations by day.

Reattribution model

Next, we employ a “weighted random” approach, where we modify the appearance chance of each option. So, how does this work?

Picture a cube as a random number generator. We can increase the likelihood of the number 1 to 90% and reduce all other numbers to 2%. While randomness remains, the probability changes. We attribute a specific user to a specific campaign based on the distribution of clicks by country and campaign.

The outcome is cohort data for each advertising campaign, broken down by day and country.

Remember that we have campaigns with attribution, which serve as an effective training ground. Such “training” has revealed that the accuracy of attribution is about 30% within the limits of the coincidence of the initial attribution with the final one, which the algorithm gives out. However, in the context of dealing with money and profit, there are no significant issues. In fact, the algorithm maintains an accuracy of up to 15% over the entire user lifetime, narrowing down to 10% by day 30 of a user’s lifetime.

Regrettably, the algorithm will only truly prove its effectiveness once we manage to monitor its accuracy in real-time. To this end, AppQuantum has developed monitoring based on the above-mentioned method.

Life with a fundamental algorithm

The UA team was granted access to the monitoring system for complete transparency of the algorithm. Consequently, the algorithm gained traction within a month. We were no longer afraid of inaccuracies.

Following the introduction of SKAdNetwork, the UA department spent hundreds of thousands of dollars without certainty in the results. However, our work on the algorithm has already amplified the volume of UA campaigns up to millions of dollars, and we’ve done so wisely.

Information on organics uplift

We didn’t want to halt our progress there, as other challenges awaited us.

Each time we launched new ad networks, their performance would decline — in percentage terms, installations from these traffic sources were less than those from others combined. Consequently, we launched them with a pure GEO test to eliminate the problem of distrusting the revenue from such small cohorts.

So, how does the test work? We can determine the total install increase if a particular GEO has only one traffic source with stable organic traffic. This number equates to the number of installs from that traffic source. It’s then a matter of performing the same GEO uplift test for revenue. Ultimately, we obtain additional reconciliation for the model to operate and extra confidence for the UA team.

However, another critical question concerned us: Does our model operate based on information from the store? To evaluate this, we established a process to regularly reconcile actual revenue by traffic source with data from AppStoreConnect. The accuracy of our algorithm turned out to be around 10%.

SKAdNetwork has made life as a Marketing Analyst and UA Manager more difficult. But every problem is just another challenge for our team.

We continue actively improving our analytics systems and tools to cope with a very intensively changing mobile market. Currently, the AppQuantum analytics team is working on improving the algorithm for the new version of SKAdNetwork 4.0, which will allow us to get information on the user up to their 30th day of life in the app. But we will talk about that next time.

AppQuantum will continue to keep you updated on the latest trends in the mobile industry and share its insights. Let’s make hits together!