Новости компании Mobio

Обзор изменения в мобильной атрибуции устройств на платформе iOS 14.5+

Мобильная экосистема постоянно меняется и, в целом, движется в сторону усиления политики конфиденциальности данных. Очередное изменение произошло с релизом iOS 14.5, где применено новое правило приватности Apple: приложения должны запрашивать у пользователей с помощью фреймворка AppTrackingTransparency (ATT) разрешение на обработку и передачу данных с подробным их описанием, и, в частности, разрешение на передачу и использование идентификатора IDFA.


Почему IDFA (Identifier for Advertisers) так важен?

С помощью этого уникального идентификатора MMP(Mobile Measurement Partner), например Appsflyer, может однозначно связать рекламную кампанию и установку приложения. Кроме того, он играет ключевую роль в ретаргетинговых кампаниях, сборе аудиторий, позволяет эффективнее таргетировать рекламу —  словом, использовать все привычные инструменты, увеличивающие конверсию.

Рисунок 1. Окно запроса ATT.

Важно отметить, что теперь полноценно использовать IDFA в рекламных кампаниях можно только если пользователь дал, так называемый, «двойной консент» - т.е. дал согласие на использование IDFA (обработку и передачу) в приложении, в котором ему показывается реклама, и в приложении, которое он установил. Таких пользователей называют opt-in. Если пользователь сделал отказ хотя бы в одном случае, отслеживать установку детерминистическим (классическим) методом не представляется возможным, и таких пользователей называют opt-out.

Таким образом, с позиций усиления требований конфиденциальности Apple мы имеем:

  1. Полную прозрачность обработки и передачи данных для пользователей iOS 14.5+
  2. Невозможность использования детерменистического (классического) метода атрибуции для opt-out пользователей, а равно использования ряда привычных методов, технологий и инструментов мобильного маркетинга. 
  3. Отсутствие возможности таргетированной рекламы на opt-out пользователей, снижение ценности такой рекламы. Это может стать проблемой для приложений, модель монетизации которых основана на рекламе (если пользователь opt-out, то инсталл считается органическим). 
  4. Невозможность ретаргетинга.
  5. Opt-in пользователей может быть недостаточно для запуска lookalike кампаний.

Что делать с opt-out пользователями


Apple грозится удалять из appstore приложения, которые передают идентификаторы, позволяющие однозначно идентифицировать пользователя без их согласия, к таким относится, в частности, fingerprint (цифровой отпечаток устройства, включающий доступные параметры устройства).

Единственный легальный инструмент, который предлагают сами Apple – это SKAdNetwork. Сам фреймворк не является новинкой, он появился еще в 2018 году, однако в силу очевидных причин (зачем пользоваться непонятным и запутанным механизмом, если львиная доля idfa и так передается) не пользовался популярностью. Позже подробнее остановимся на принципе и механизме работы данного фреймворка.

Основные моменты:

  1. Хотя SKAdNetwork и позволяет однозначно связать рекламную кампанию и установку , получаемый набор данных сильно ограничен (всего один постбек, детализация до уровня рекламных кампаний).
  2. Механизм работы SKAdNetwork достаточно сложен для понимания. 
  3. Невозможно регулировать атрибуционные окна. 
  4. Данные о конверсиях приходят с задержкой (минимум 24 часа).
  5. Рекламные объявления в привычном понимании (видео креативы, баннеры и т.д.) поставлены в заведомо невыгодное положение по сравнению со StoreKit-rendered ads и имеют меньший атрибуционный вес.
  6. Сложно оценивать эффективность кампании, если целью кампании является действие лежащее за пределами первых 24 часов после установки, например, подписка.
  7. SKAdNetwork работает независимо от того, дал пользователь консент или нет, поэтому данные об установках могут пересекаться для opt-in пользователей. 
  8. Повышенный риск фрода, т.к. за подсчет конверсий отвечает сама рекламная сеть, а не ММР.

В условиях отказа от IDFA большую роль будет играть вероятностная модель атрибуции, когда атрибуция происходит по параметрам клика, не подпадающих под АТТ (ip адрес, useragent и т.д.). Однако, не все MMP (Mobile Measurement Partner) поддерживают такой тип атрибуции.

Кроме того, не стоит сбрасывать со счетов и детерминистическую атрибуцию, т.е. opt-in пользователей. Следует использовать все доступные «законные» механизмы для увеличения процента пользователей давших согласие (консент).

Как увеличить количество opt-in пользователей


Рисунок 2. Текст в рамке можно кастомизировать.

Для того, чтобы увеличить количество opt-in пользователей, есть несколько приемов:
  1. Можно кастомизировать окно консента, а точнее текст в рамке (рис.2)
  2. Окно консента можно показать один раз, однако момент его показа можно выбирать самому. Поэтому можно показывать это окно, когда пользователь уже получил какой-то начальный опыт в приложении. 
  3. Использовать предварительный экран, в котором пользователя можно “подогреть”. Здесь можно использовать свой дизайн и подробно описать зачем это нужно. Например, согласие на передачу позволит сохранить приложение бесплатным, данные будут показаны для релевантной рекламы и не будут переданы 3-им лицам, и т.д. 
  4. Использовать комбинации вышеперечисленных методов (рис.3)

Рисунок 3. Комбинация методов - первый опыт в приложении, предварительный экран и запрос консента.

Однако есть ряд ограничений - то, чего делать нельзя. Нельзя предварять появление запроса консента сообщениями, которые могут запутать или ввести пользователя в заблуждение, тем самым повлияв на осознанность принятия консента. Примеры:

Рисунок 4. Запрещенные приемы при запросе консента.

  1. Нельзя «подкупать» пользователя, используя поощрения за принятия консента. Кроме того, нельзя ограничивать пользователя в функционале приложения (ограничение контента, вывод приложения из строя и т.д.), до тех пор пока он не примет консент и, тем самым, разрешит трекинг (Рис.4а). 
  2. Нельзя выводить предварительный экран, который копирует функционал системного запроса ATT. В частности, нельзя использовать кнопки «Разрешить» или со схожими значениями, т. к. на этом экране пользователь, по сути, не дает согласие(Рис.4б).
  3. Нельзя выводить в предварительном экране картинку с копией системного запроса АТТ и каким-либо образом модифицировать этот запрос на рисунке(Рис.4в).
  4. Нельзя каким-либо образом акцентировать внимание пользователя на кнопке «Разрешить» в системном запросе консента(Рис.4г).

SKAdNetwork схема работы


Общая схема работы SKAdNetwork представлена на рисунке 5. Не вдаваясь в техническую реализацию, принцип работы можно описать так:

Рисунок 5. Схема работы SKAdNetwork.

  1. Рекламная сеть должна быть зарегистрирована в Apple. Приложение, в котором показывается реклама (App A), должно быть настроено для работы с этой сетью (необходимо «вшить» id этой сети). 
  2. Рекламная сеть подписывает объявление с параметрами криптографической подписью для рекламируемого приложения App B и передает его в приложение App A, где оно показывается пользователю. Начиная с версии SKAdNetwork 2.2, есть два типа объявлений - StoreKit-rendered adиview-through, заэто отвечает параметр fidelity-type. Для StoreKit-rendered ad он равен 1, для view-through — 0.
  3. Пользователь устанавливает и открывает приложение.
  4. Далее, после отработки таймеров установленным приложением отправляется 1 (в случае SKAdNetwork 3.0 отправляется еще до 5 «проигршных» постбеков, каждый в разную рекламную сеть) постбек, который принимает и обрабатывает рекламная сеть (подробнее об этом далее).

Постбек, получаемый рекламной сетью, включает ID кампании, но не содержит никаких данных, позволяющих идентифицировать пользователя. Постбек может содержать значение конверсии (conversion value). Начиная с версии iOS 14.6+, поддерживается SKAdNetwork версии 3.0, в котором добавлен параметр did-win, принимающий значения 0 или 1. 1 означает «победную атрибуцию», т.е. конверсия принадлежит данной сети и 0, если не принадлежит. Несконвертивших постбеков будет отправляться до 5 штук — каждый в разную рекламную сеть. 

В качестве StoreKit-rendered объявления показывается страница приложения из App Store. View-through объявление — это рекламное объявление в произвольном формате, например, видео. 

Отдельно отметим вопрос атрибуции. Клик старше независимо от типа объявления. А вот с view атрибуцией установка будет засчитана по тому объявлению, fidelity-type которого больше (т.е. StoreKit-rendered объявлению, у которого fidelity-type=1). Рассмотрим пример: произошел показ объявления с fidelity-type=1, после этого произошел показ объявления с fidelity-type=0, после этого пользователь зашел в стор и установил приложение. Установка будет засчитана объявлению с fidelity-type=1, не смотря на то, что объявление с fidelity-type=0 было показано последним.

Окна атрибуции имеют следующий вид:


Важно отметить, что если пользователь не запустил приложение после установки, то никакого постбека отправлено не будет. 

Install postback & Conversion value (значение конверсии)


Пример полного набора параметров, передаваемых в постбеке инсталла, для сети НЕ выигравшей атрибуцию (с версии SKAdNetwork 3.0 и iOS 14.6+):


  "version": "3.0",
  "ad-network-id": "com.example",
  "campaign-id": 42,
  "transaction-id": "f9ac267a-a889-44ce-b5f7-0166d11461f0",
  "app-id": 525463029,
  "attribution-signature": "MEUCIQDYfConaAkeeGvAr6WAjBbY7LBX1z6ir/8T4jVYKJaMPQIgHC5jsV0lvlaWgFr7ON0VN4rmTTW9gZUzFoLkEn/g+g8=",
  "redownload": true,
  "fidelity-type": 1,
  "did-win": false
}

В нем отсутствует conversion-value и source-app-id.
Ниже приведены все возможные параметры постбека, в зависимости от версии SKAdNetwork. 


Что такое conversion value.
Это опциональный параметр, который имеет значение 6 бит. 6 бит можно представить в виде 6 пустых окошек, в каждом из которых имеется значение 0 или 1, например:


Каждой такой комбинации можно поставить в соответствие одно единственное число в диапазоне от 0 до 63. В примере выше комбинации соответствует число 23. 
В этот параметр можно записывать события, которые происходят в приложении: стоимость покупки (Revenue), пройденный уровень и т.д. Мы помним, что постбек отправляется всего один (для версии SKAdNetwork ниже 3.0). Таким образом, возможно отправить лишь информацию об инсталле и (опционально) одно значение конверсии (точнее - последнее значение конверсии) в одном постбеке.

Структуру conversion value задает сам рекламодатель, исходя из своих KPI. На рисунке 6 приведены примеры использования 6 бит:

Рисунок 6. Примеры использования 6 бит в conversion value

  1. Базовый подход. Здесь можно записывать одно значение, например Revenue (сумма покупок пользователя до отправки постбека), а можно разделить биты и записывать дополнительную информацию, например доход+уровень в игре, и т.д. 
  2. Продвинутый подход. Здесь предлагается записывать в conversion value прогнозные значения (predictive). Рассмотрим, например, такую метрику как LTV (сколько всего пользователь потратит денег в приложении за всё время или к определенному дню с момента установки). Пользователь устанавливает приложение, совершает в приложении действия, они записываются системой аналитики (продуктовая аналитика из-за отмены idfa не страдает), за время до отправки приложением SKAdNetwork-постбека происходит анализ этих действий на сервере и делается прогноз по LTV, далее, этот прогноз отправляется в приложение и записывается в conversion value, затем conversion value постбеком отправляется в рекламную сеть. Нужно отметить, что этот способ требует определенных математических навыков и грамотно выстроенной структуры событий в приложении. 

Покажем на примере, как может работать разделение битов под разные метрики.
Допусти первые 3 бита это - доход, последние 3 бита - последний пройденный уровень в игре.



К примеру, в постбеке пришло converion value = 46, в двоичном представлении это соответствует комбинации 101110. Тогда, согласно таблице, можно сделать вывод, что пользователь прошел 25 уровней и принес 20$ дохода.

Таймеры постбека


Схема работы таймеров схематически изображена на рисунке 8.

Рисунок 8. Схема работы таймеров SKAdNetwork

При первом запуске приложения срабатывает таймер на 24 часа. Если в течении этих 24 часов произошло увеличение значения конверсии (изначально 000000), то таймер запускается заново. Если в течении следующих 24 часов происходит еще одно увеличение значения конверсии, то таймер снова сбрасывается и начинается новый отсчет 24 часов и т.д (сброс таймера может происходить до 63 раз). Если в течении очередных 24 часов увеличение conversion value не произошло, то запускается таймер с произвольным значением от 0 до 24 часов, по истечении которого отправляется постбек с инсталлом и conversion value (если conversion value используется). В версии 3.0+ помимо этого постбека, т.е. победного постбека, будет отправляться до 5 проигрышных, с урезанным набором данных, каждый в разную рекламную сеть, в которых было показано объявление.

Какие шаги нужно предпринять для использования SKAdNetwork


  1. Интегрировать окно запроса консента ATT для версий iOS 14.5+ (не забыть поставить условие, чтобы не спрашивать разрешение у пользователей на более ранних версиях).
  2. Максимально кастомизировать окно запроса, для увеличения opt-in пользователей.
  3. Обновить SDK вашего MMP (Appsflyer, Adjust, Kochava, Branch, Appmetrica), а также, быть готовым к регулярному обновлению этого SDK, т.к. решение довольно свежее. Несомненным плюсом использования SDK MMP является то, что они позволяют настраивать логику conversion value не прибегая к помощи разработчиков, прямо из web-интерфейса, а также занимаются его дешифровкой.
  4. Настроить подробно и корректно структуру событий в приложении - это позволит эффективнее использовать прогностические методики для оценки рекламных кампаний.

Последняя возможность запустить ретаргетинг на полную мощность


С релизом iOs 14.5 возможность работы с IDFA стремительно исчезает. У вас еще есть время успеть получить профит от базы своих пользователей в 2021 году.

Ретаргетинг - наиболее эффективный способ увеличения выручки вашего мобильного приложения. Узнайте, как вести ретаргетинг в 2021 году и адаптироваться к Cookieless изменениям на рынке. Назначить звонок с экспертом >