Как на самом деле работает SKAdNetwork: гайд по iOS-аналитике без розовых очков
Dilshat Rakhimov
May 2026 · 5 min read
Когда вышла iOS 14.5 с окном App Tracking Transparency (ATT), привычная атрибуция через IDFA сломалась. Сейчас SKAdNetwork (SKAN) от Apple остался единственным способом хоть как-то оценить эффективность рекламы на iOS. Нам всем пришлось забыть об отслеживании конкретных пользователей и учиться работать с общими когортами и задержанными данными. Если ваша команда научится грамотно связывать данные SKAN, MMP и Firebase, вы перестанете сливать бюджет в пустоту и сможете нормально оптимизировать CAC.

Контекст: с чем мы столкнулись
До ATT все было просто: пользователь кликал по рекламе, сеть отдавала ID устройства (IDFA) в MMP, а после установки MMP склеивал клик и конверсию со 100% точностью.
Новая реальность со SKAN выглядит иначе:
- Агрегация данных: мы больше не видим конкретного пользователя. Данные прилетают общими пачками.
- Задержка постбэков: уведомления о конверсии специально задерживаются на 24-48 часов (иногда дольше), чтобы мы не могли вычислить пользователя по времени установки.
- Ограничение событий: появилась система Conversion Values (ценность конверсии). Это просто число от 0 до 63. И у вас есть совсем небольшое окно, чтобы передать в этом числе самую важную информацию.
Естественно, возникает вопрос: как быстро оптимизировать рекламные кампании, если результат прилетает только через пару дней и в таком урезанном виде?
Deep Dive: как это работает под капотом
Чтобы нормально работать со SKAN, нужно понимать весь путь данных от клика до дашборда. Здесь участвуют устройство (iOS), сама Apple, рекламная сеть и ваш MMP.

Логика таймеров и Conversion Values (CV)
В основе SKAN лежит система Conversion Values (CV). Как только пользователь впервые открывает приложение, запускается 24-часовой таймер. Любое важное действие (регистрация или покупка) может обновить значение CV, но только в большую сторону.
Важный нюанс: каждое успешное обновление CV обнуляет 24-часовой таймер. Мы собираем больше данных о поведении, но еще сильнее оттягиваем момент отправки постбэка.
Когда пользователь перестает совершать нужные действия и таймер истекает, iOS запускает второй, случайный таймер (от 0 до 24 часов). Постбэк уходит в рекламную сеть и MMP только после его завершения. Именно из-за этого случайного таймера цифры в рекламных кабинетах всегда запаздывают.
Путь интеграции (SKAN + MMP + Firebase)
Без нормальной инфраструктуры данные SKAN так и останутся непонятными числами от 0 до 63. Наша задача — расшифровать их, привязать к расходам на рекламу и положить в основную аналитику (Firebase, GA4 или BigQuery).
Роль MMP (AppsFlyer, Adjust, Branch)
MMP здесь работает как центральный хаб:
- Настройка маппинга CV: в кабинете MMP вы задаете правила. Например, CV 1 = "Регистрация", CV 2 = "Покупка < $10".
- Сбор постбэков: сети присылают SKAN-постбэки в MMP, а он их расшифровывает по вашим правилам.
- Склейка данных: MMP объединяет эти данные со своими атрибуциями и расходами из рекламных кабинетов.
Интеграция с Firebase и BigQuery
Так как в SKAN-постбэках нет user_id или app_instance_id, мы не можем просто так взять и связать их с сессиями пользователей в Firebase. Правильная архитектура строится через хранилище:

Вместо того чтобы пытаться пушить события SKAN напрямую в Firebase, мы выгружаем сырые данные из MMP (через Data Locker или Pull API) и сырые события из Firebase в единую базу — BigQuery. И уже там собираем агрегированные отчеты вроде Blended ROAS.¹
Оптимизировать кампании в реальном времени — плохая идея. Из-за задержек SKAN адекватно оценить когорту можно только на 3-4 день после установки. Дайте кампаниям время.
Что делать дальше
Маркетологам:
- Оценивайте кампании окнами по 3-7 дней, забудьте про daily-оптимизацию.
- Сфокусируйтесь на прогнозировании LTV (pLTV). Найдите те действия в первые 24 часа, которые лучше всего говорят о будущих покупках, и настройте на них Conversion Values.
- Смотрите на Blended ROAS (Общий доход / Общий бюджет) для оценки картины в целом.²
Аналитикам:
- Настройте выгрузку Raw Data из MMP в Google BigQuery.
- Соберите единую модель данных, которая свяжет расходы из кабинетов, SKAN-постбэки и события из Firebase.
Разработчикам:
- Проверьте, что SDK MMP инициализируется сразу после старта приложения. Иначе вы потеряете начало окна установки.
- Показывайте запрос ATT (App Tracking Transparency) в правильный момент онбординга, чтобы пользователи охотнее давали согласие на трекинг.
Секрет в том, чтобы выйти за рамки старых метрик атрибуции и собрать стек на базе BigQuery, который будет нормально работать даже при жестких ограничениях приватности.
Dilshat Rakhimov
Growth Analytics & Digital Architecture
¹ Firebase & BigQuery Integration Guide
² Blended ROAS рассчитывается как отношение общих расходов на рекламу ко всему сгенерированному доходу.