Внедрение SKAN 4.0 на iOS с coarse value и lockWindow

Многие разработчики сталкиваются с неожиданным поведением: после перехода на SKAdNetwork 4.0 (SKAN 4.0) fine conversion value приходит только в первом постбэке, а coarse value — неочевидный параметр. Разберёмся, как настроить эту механику и не потерять данные атрибуции. Наша команда имеет опыт внедр

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Внедрение SKAN 4.0 на iOS с coarse value и lockWindow
Сложный
~3-5 дней

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

Часто задаваемые вопросы

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Многие разработчики сталкиваются с неожиданным поведением: после перехода на SKAdNetwork 4.0 (SKAN 4.0) fine conversion value приходит только в первом постбэке, а coarse value — неочевидный параметр. Разберёмся, как настроить эту механику и не потерять данные атрибуции. Наша команда имеет опыт внедрения SKAN 4.0 для приложений с ежемесячным рекламным бюджетом от $10,000. Получите консультацию по внедрению — это займёт не больше часа.

Что изменилось в 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 в три шага?

Процесс состоит из трёх шагов:

  1. Обновите вызов updatePostbackConversionValue с параметрами fineValue, coarseValue и lockWindow.
  2. Обеспечьте обратную совместимость с iOS 14.x, оставив вызов updateConversionValue для старых версий.
  3. Настройте MMP (AppsFlyer, Adjust) для приёма трёх постбэков и маппинга coarse value.

Обновление 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 немедленно запускает отправку постбэка без ожидания таймера. Полезно когда вы знаете, что пользователь совершил ключевое действие и дальнейшие обновления не нужны. Согласно документации Apple, lockWindow позволяет немедленно закрыть окно.

Backward compatibility

Приложение обязано поддерживать SKAN 3.x для iOS 14.x и SKAN 4.0 для поздних версий. Оба 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 для второго и третьего окон.

Что такое lockWindow и как его использовать?

LockWindow — новый инструмент для точного управления таймером. Когда вы вызываете updatePostbackConversionValue с lockWindow: true, Apple немедленно фиксирует текущие значения и отправляет постбэк, не дожидаясь естественного истечения окна. Это критично для событий, после которых дальнейшие обновления не имеют смысла (например, разовая покупка).

Coarse value как запасный сигнал

Coarse value — это «запасной» сигнал для ситуаций, когда fine value скрыт из-за crowd anonymity. Даже при небольшом количестве установок (менее 1000–2000 с одной кампании) вы получите хотя бы coarse: low, medium или high. Это позволяет оценить retention и конверсии без привязки к точной сумме.

Проектирование 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-го месяца жизненного цикла.

Почему SKAN 4.0 эффективнее SKAN 3.x?

Характеристика SKAN 3.x SKAN 4.0
Количество постбэков 1 до 3
Fine conversion value есть (0–63) только в первом
Coarse value нет есть (low/medium/high)
LockWindow нет есть
Source identifier campaign ID 2–4-значный идентификатор
Crowd anonymity защита только fine fine + source identifier

SKAN 4.0 в три раза информативнее, так как предоставляет данные о поведении пользователя на 7-й и 35-й день.

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

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

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

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

Сроки

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

Свяжитесь с нами, чтобы мы помогли настроить SKAN 4.0 под ваши задачи. Получите консультацию специалиста.