Атрибуция установок приложения: MMP, SKAdNetwork и приватность
Продвинутое4 минРедакция Innovialabs
Коротко
Атрибуция связывает установку с рекламой, которая её привела. На Android для этого всё ещё есть рекламный ID и Install Referrer, на iOS без согласия через ATT остаётся агрегированная и отложенная статистика SKAdNetwork. MMP объединяет эти источники в одном отчёте.
Что такое атрибуция и как она работает
Атрибуция установок отвечает на вопрос: какая реклама привела пользователя, который установил и открыл приложение. Без неё нельзя понять, какие кампании окупаются.
Классическая схема:
- Пользователь видит или кликает рекламу. Рекламная сеть или MMP (mobile measurement partner) фиксирует это касание.
- Пользователь устанавливает приложение из стора.
- При первом запуске SDK MMP отправляет данные об устройстве и установке.
- MMP сопоставляет установку с касанием и присваивает её источнику — обычно по модели последнего клика в пределах окна атрибуции.
Способы сопоставления:
- Рекламный идентификатор — IDFA на iOS, GAID на Android. Точный, но зависит от согласия пользователя.
- Google Play Install Referrer — Google Play передаёт приложению параметры ссылки, по которой пришла установка. Точный способ для установок из Google Play.
- SKAdNetwork / AdAttributionKit — агрегированная атрибуция от Apple без идентификаторов пользователя.
- Самоатрибутирующиеся сети (Meta, Google Ads и другие) сами сообщают MMP, что установка их.
App Tracking Transparency
На iOS доступ к IDFA есть только если пользователь разрешил отслеживание в системном окне ATT. Без согласия IDFA возвращается нулями.
import AppTrackingTransparency
ATTrackingManager.requestTrackingAuthorization { status in
// .authorized — IDFA доступен, иначе нет
}
Что важно:
- нужен текст
NSUserTrackingUsageDescriptionвInfo.plist, честно объясняющий цель; - показывайте запрос не на первом экране, а когда пользователь понимает ценность приложения; можно добавить свой пояснительный экран перед системным окном, но без давления и обмана;
- fingerprinting — определение устройства по IP, модели и другим признакам — Apple запрещает независимо от ответа в ATT.
Значительная часть пользователей отказывается, поэтому для iOS основой измерения становится SKAdNetwork.
SKAdNetwork
SKAdNetwork (SKAN) — механизм Apple, в котором атрибуцию выполняет сама система, а рекламная сеть получает обезличенный отчёт (postback).
Как это устроено:
- в
Info.plistвSKAdNetworkItemsперечисляются идентификаторы рекламных сетей, с которыми вы работаете; - после установки приложение обновляет conversion value — число, кодирующее действия пользователя: регистрацию, покупку, диапазон выручки;
- postback приходит с задержкой и без данных о конкретном пользователе;
- в SKAN 4 есть до трёх postback-ов за разные окна после установки, точное значение (fine) и грубое (coarse: low, medium, high);
- уровень детализации зависит от crowd anonymity: при малом объёме установок вы получите меньше данных о кампании.
Обычно conversion value выставляет SDK MMP по схеме, которую вы настраиваете в его кабинете. Главная работа — спроектировать схему: какие события первых дней лучше всего предсказывают ценность пользователя.
Apple также развивает AdAttributionKit — более новый фреймворк, совместимый с SKAdNetwork. Следите за документацией Apple.
Android: рекламный ID и Privacy Sandbox
- GAID пока доступен, но пользователь может удалить рекламный ID в настройках — тогда приложение получит нули.
- Приложения, нацеленные на Android 13 и выше, должны объявить разрешение
com.google.android.gms.permission.AD_ID, если используют рекламный ID. - Install Referrer работает независимо от рекламного ID.
- Privacy Sandbox на Android — инициатива Google с API вроде Attribution Reporting как замены отслеживанию по рекламному ID. Сроки и статус несколько раз менялись, поэтому сверяйтесь с актуальной документацией и поддержкой у вашего MMP.
Как выбрать MMP
Среди известных провайдеров — AppsFlyer, Adjust, Singular, Branch, Kochava. Для рекламы в Яндексе и аудитории в СНГ часто рассматривают AppMetrica, где тоже есть атрибуция установок.
| Критерий | Что проверить |
|---|---|
| Интеграции | Поддержка именно ваших рекламных сетей, включая локальные |
| SKAN | Удобство настройки схемы conversion value и отчётов |
| Сырые данные | Выгрузка событий в своё хранилище или BI |
| Защита от фрода | Фильтрация ботов и подмены установок |
| Диплинки | Отложенные диплинки и ссылки для онбординга |
| Цена | Модель оплаты: за атрибутированные установки, за события или фиксированная |
| SDK | Размер, влияние на запуск, соответствие требованиям приватности сторов |
Частые ошибки
- Ожидать, что данные MMP совпадут с App Store Connect и Play Console: методики подсчёта разные.
- Не настроить схему conversion value и получать пустые отчёты SKAN.
- Включить сбор данных до получения согласия там, где оно требуется по закону.
- Не указать отслеживание в разделах приватности App Store и Data safety в Google Play.