The iOS market share in Poland currently exceeds 15% . In most cases, however, the user of this system is more active, and its life value is much higher. On the other hand, the number of restrictions on tracking the iOS user is a headache, which I will try to limit a bit 🙂

Starting from the beginning, in April 2021, Apple launched the App Tracking Transparency (ATT) framework as part of iOS 14.5. All iOS apps were required to ask users for permission to store and enable their IDFA for tracking purposes (in the same way they ask for permission for notifications, location, photo access, etc.).

No consent equals IDFA zero, so no attribution or remarketing. IDFA consent is currently around 29% — significantly higher than the original 9% measured right after ATT launched. New initiatives like SKAN are a must to reach the remaining 71% of iOS users .

att zgoda ios
Such a screen is an example of ATT, i.e. asking the user for consent to tracking.

Contents

What is SKAdNetwork?

SKAdNetwork (aka SKAN) is Apple's attribution solution for users who opt out of IDFA .

SKAdNetwork lets you track campaigns to determine which ones led to an install or purchase , but without revealing detailed user-level data. Unfortunately, SKAdNetwork has significant limitations, such as limited reporting and no control over attribution windows.

For example, we will know that a given campaign (or medium) will get an install (or an in-app conversion), but we will not have information about the ad groups, creatives, keyword, etc.

MMPs (i.e. mobile measurement partners – technologies for measuring applications) can use various signals (time, device, etc.) and match ads to conversions. However, Apple does not necessarily want to share this information, effectively limiting access to it, or dosing information depending on the scale of operations. Each mobile application measurement partner builds its own solutions for iOS user tracking based on SKAN.

How does SKAdNetwork work in practice?

SKAdNetwork is based on information flows between the user's device, advertisers, and MMP technology. This can be written in three simple steps:

  1. Users see ads from a given advertising channel, such as Meta, Google or TikTok.
  2. Users install the app.
  3. Advertisers send information to SKAdNetwork via the SDK to validate these installs.

At this point, a 24-hour timer starts, waiting for further signals. If the conversion value is updated during this period, the counter resets for another 24 hours. There can be a total of 63 such resets. Why? I'll explain in a moment. It's only worth adding here that each application analytics tool like Appsflyer or Adjust has its own APP policy - Aggregated Advanced Privacy. This means that it implements systems that prevent the unambiguous identification of a user or device.

Returning to our timer, the SCAN Conversion Value (SCAN CA) always consists of a 6-bit number. A "bit" is a binary digit (0 or 1). The 6 bits can be grouped into 64 unique 6-bit sequences (e.g. 100100).

Each sequence has its own decimal value that creates the SCAN value, for example "100100" means "36". In theory it may seem difficult, but MMP systems facilitate the whole process of iOS conversion mapping within SCAN by providing tools to configure it.

Example of event monitoring in SKAN

Examples of using SCAN

  1. Using the sequence, you can examine the use of a given function in a mobile application , where 0 means that it was not called. In this way, you can examine up to 6 functions , e.g. registration, purchase, etc. Initially, all bits are set to 0, and when the user triggers an event, the corresponding bit will be marked as 1. In the example below, the user performed 4 events defined as "1" and did not perform two defined as "0". The binary notation in the form of 111010 was converted to CV42 .
identyfikacja konwersji SKAN - przykład
Example of conversion identification in SCAN

2. Using SCAN you can also measure purchase values , where e.g. 000001 means 1 PLN, 000011 means 2 PLN, etc. Of course, these are ranges, but 64 allows you to analyze these levels quite precisely.

    Conversion Value / CV Income (Bands)
    0 0
    1 1-2
    2 2-4
    3 4-6
    4 7-8
    5 9-10
    .. ..
    40 100-110
    …
    63 500-1000
    Example of using conversion value mapping in SKAN

    One of the less commonly used methods is to measure the number of occurrences but one conversion . The initial CV value is 0 and each time a user triggers a conversion event. In this case, the value is incremented by 1 each time the event is triggered. Here, you can track events such as in-app purchases, ad impressions, or anything else. You are limited to 63 consecutive triggers.

    You can use the default SCAN configuration in a tool like Appsflyer, which typically considers conversion events within 24 hours. Different ad systems have their own recommendations here, though, and Google Ads, for example, recommends a 3-day window.

    Changes in SCAN 4.0

    Crowd Anonymity is one of the most important concepts introduced by Apple in the new version of SKAN 4.0 and a good starting point for understanding Apple's idea. The more installs a campaign generates, the greater the so-called crowd anonymity; and consequently, the more data about the campaign you will receive. In other words, the more data, the less Apple is concerned about privacy violations.

    In previous versions of SKAN Apple relied solely on privacy thresholds. If the campaign generated enough installs, it would send a return message with a conversion value. The whole thing is done on the basis of mapping and a string of characters. The more data, the more information will be transferred, e.g. location, placement, etc. In SKAN 3.0, after installation or any other conversion, a 24-hour timer was started. During this time, if the user performed any action that updated the SKAdNetwork conversion value, the timer reset for another 24 hours.

    In SKAN 4.0, timers can be different for each conversion window . In SKAN 4.0, we also have a new parameter Lock Window , a method that allows advertisers to "lock" and send the conversion value before the conversion window ends (the data will flow earlier, but not immediately. Additionally, any further user actions that occur during the remaining time of the same conversion window will be ignored).

    Conversion Categories in SCAN 4.0

    SCAN version 4.0 introduces two conversion categories:

    â—Ź Precise values (0-63) : The same conversion value type that was available in previous versions of SCAN - a 6-bit value allowing for up to 64 combinations (from 0 to 63) that can be configured to collect user behavior signals

    â—Ź Coarse-grained values : A new conversion value type that can yield one of three different values: "low", "medium", or "high", depending on the type of event completed by the user and the conversion value mapping

    The condition for using SKAN 4.0 is that the Apple device runs on iOS16+ , and the publisher or owner of the advertising space has configured their environment to version 4.0. So it does not happen completely automatically.