Настройка SKAN 4.0 для атрибуции iOS-приложения

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Настройка SKAN 4.0 для атрибуции iOS-приложения
Сложный
~3-5 дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Настройка SKAN 4.0 для атрибуции iOS-приложения

SKAdNetwork 4.0 (SKAN 4.0) появился с iOS 16.1 и принёс несколько важных изменений по сравнению с SKAN 2.x/3.x: три постбэка вместо одного, coarse value как дополнение к fine conversion value, а также lockWindow API для явного управления таймером. Если ваше приложение работает с рекламными сетями, поддерживающими SKAN 4.0, — переходить стоит, потому что три постбэка дают принципиально больше информации о жизненном цикле пользователя в первые 35 дней.

Что изменилось в SKAN 4.0

Три постбэка вместо одного

В SKAN 2.x/3.x рекламная сеть получала ровно один постбэк — когда истекал таймер конверсии. SKAN 4.0 вводит три временных окна:

Постбэк Временное окно Что содержит
Первый 0–2 дня после установки fine value (0–63) + coarse value + source identifier
Второй 3–7 дни coarse value (low/medium/high)
Третий 8–35 дни coarse value

Второй и третий постбэки отправляются только если пользователь проявлял активность в соответствующем окне. Это позволяет рекламной сети видеть, остался ли пользователь активным на 7-й и 35-й день — без первого постбэка это было невозможно.

Fine value и coarse value

Fine conversion value — прежние 6 бит (0–63). Остаётся только в первом постбэке и только при высоком crowd anonymity (Apple не раскрывает точный порог, ориентировочно несколько тысяч установок из одной кампании).

Coarse value — новое поле с тремя значениями: low, medium, high. Отправляется во всех трёх постбэках даже при малых объёмах трафика. Менее информативно, но стабильно.

Source identifier

Новое 2–4 значное поле, заменяющее campaign ID. Первые две цифры всегда включены в постбэк, третья и четвёртая — только при достаточном crowd anonymity. Позволяет кодировать не только кампанию, но и ad set или отдельное объявление.

Интеграция SKAN 4.0

Обновление updateConversionValue

В SKAN 4.0 метод принимает три параметра:

import StoreKit

// iOS 16.1+
if #available(iOS 16.1, *) {
    SKAdNetwork.updatePostbackConversionValue(
        fineValue: 15,          // 0–63, только для первого окна
        coarseValue: .medium,   // .low, .medium, .high
        lockWindow: false,      // true = немедленно закрыть окно, не ждать таймер
        completionHandler: { error in
            if let error = error {
                print("SKAN update failed: \(error)")
            }
        }
    )
}

Параметр lockWindow: true — новый в SKAN 4.0. Если вызвать с true, Apple немедленно запускает отправку постбэка без ожидания таймера. Полезно когда вы знаете, что пользователь совершил ключевое действие и дальнейшие обновления не нужны.

Backward compatibility

Приложение обязано поддерживать SKAN 3.x для iOS 14.x–16.0 и SKAN 4.0 для iOS 16.1+. Оба API нужно вызывать параллельно:

func trackPurchase(revenue: Double) {
    let fineValue = encodeFineValue(revenue: revenue)
    let coarseValue: SKAdNetwork.CoarseConversionValue = revenue > 20 ? .high : .medium

    if #available(iOS 16.1, *) {
        SKAdNetwork.updatePostbackConversionValue(
            fineValue,
            coarseValue: coarseValue,
            lockWindow: false
        ) { _ in }
    } else if #available(iOS 14.0, *) {
        SKAdNetwork.updateConversionValue(fineValue)
    }
}

Настройка в MMP

AppsFlyer и Adjust уже поддерживают SKAN 4.0, но нужно явно активировать три постбэка в настройках приложения в дашборде. По умолчанию MMP продолжает работать в режиме SKAN 3.x.

В AppsFlyer в разделе iOS App Settings → SKAdNetwork: выбрать SKAN 4.0 mode, задать coarse value mapping для второго и третьего окон.

Проектирование conversion value schema для трёх окон

Для SKAN 4.0 нужно проектировать три независимые схемы — по одной на каждое постбэк-окно:

Первое окно (0–2 дня): детальная информация о первых действиях. Fine value кодирует, например:

  • 0–15: регистрация без покупки, уровень вовлечённости
  • 16–31: добавил в корзину, категория продукта
  • 32–63: совершил покупку, revenue bucket

Второе окно (3–7 дней): coarse value отражает retention статус:

  • low — не вернулся
  • medium — открыл приложение, но без ключевого события
  • high — повторная покупка или высокая вовлечённость

Третье окно (8–35 дней): аналогично второму, но для 2-го месяца жизненного цикла.

Ограничения и реальность

Crowd anonymity означает, что для небольших приложений (менее 1000–2000 установок с конкретной кампании) fine value в первом постбэке Apple заменяет на null. Coarse value приходит всегда. Это нужно учитывать при анализе: отсутствие fine value — не ошибка интеграции, а защита приватности.

Что входит в работу

  • Аудит текущей SKAN-интеграции и версии SKAdNetwork в Info.plist
  • Проектирование трёхуровневой conversion value schema
  • Реализация updatePostbackConversionValue с поддержкой iOS 14–16.1+
  • Настройка SKAN 4.0 в AppsFlyer / Adjust
  • Верификация постбэков через тестовый трафик

Сроки

3–5 дней. Большую часть времени занимает проектирование схемы и согласование с рекламной командой, не сам код. Стоимость рассчитывается индивидуально.