Краткий обзор: Функция Advanced-Matching Data Sharing позволяет передавать хэшированные пользовательские идентификаторы — например, адрес электронной почты и номер телефона — из AppsFlyer в выбранные рекламные сети, что даёт партнёрам возможность атрибутировать события взаимодействия с рекламой без идентификатора устройства.
Об Advanced-Matching Data Sharing
По мере того как идентификаторы устройств становятся менее доступными, рекламные сети всё чаще используют собственные данные для сопоставления взаимодействий с рекламой. Функция Advanced-Matching Data Sharing закрывает этот пробел, пересылая хэшированные идентификаторы поддерживаемым партнёрам в соответствии с требованиями конфиденциальности.
Эта функция является необязательной и настраивается каждым партнером индивидуально. Когда функция включена для поддерживаемой сети, AppsFlyer пересылает хэшированные идентификаторы вместе с данными событий об установках, повторных вовлечениях и событиях внутри приложения.
Все идентификаторы должны быть хешированы с помощью SHA-256 перед передачей в AppsFlyer, либо на устройстве через SDK, либо на стороне сервера через S2S API. Никогда не принимаются, не сохраняются и не пересылаются данные в открытом виде, а любое значение, не прошедшее проверку, отбрасывается на этапе приёма.
Поддерживаемые партнеры:
Обмен данными Advanced Matching доступен для следующих сетей:
| Партнер | Идентификатор партнера (PID) |
| googleads_int | |
| Meta | facebook_int, metaweb_int |
| Moloco | moloco_int |
| OpenAI | openai_int |
| pinterest_int | |
| Snapchat | snapchat_int, snapweb_int |
| TikTok | tiktokglobal_int, tiktokweb_int |
| reddit_int | |
| Rokt | roktv2_int |
| Roku | rokuads_int |
Сквозной процесс
Вот что происходит с момента получения идентификатора до момента его передачи партнеру:
- Идентификатор (адрес электронной почты, номер телефона или другой поддерживаемый тип) извлекается в приложении или на бэкенде.
- Идентификатор нормализуется и хешируется с использованием SHA-256: автоматически с помощью SDK AppsFlyer или на сервере перед отправкой через API S2S.
- Хэшированный идентификатор отправляется в AppsFlyer вместе с событием (установка, переустановка, повторное вовлечение или внутреннее событие приложения).
- Если для партнёра включена функция Advanced-Matching Data Sharing, AppsFlyer пересылает хеш вместе с полезной нагрузкой события.
- Партнер использует хеш для сопоставления события с известным пользователем, что повышает точность атрибуции и качество сопоставления.
Хэшированные идентификаторы передаются партнерам только в том случае, если включена функция Advanced-Matching Data Sharing. Когда переключатель «включено/выключено» находится в положении «выключено», хешированные данные не передаются партнеру, даже если идентификаторы присутствуют в событии.
Как хешированные идентификаторы пользователей попадают в AppsFlyer
Хэшированные идентификаторы поступают в AppsFlyer двумя способами: через SDK или API «сервер-к-серверу» (S2S). В обоих случаях принимаются только правильно хешированные значения. Вкладки ниже описывают каждый метод.
SDK (пакет средств разработки ПО)
В SDK V7.0.1 представлен метод передачи необработанных идентификаторов в SDK AppsFlyer для Android и iOS . SDK нормализует входные данные и хэширует их перед отправкой в AppsFlyer:
SDK выполняет следующие шаги в указанной последовательности:
- Нормализует входные данные в соответствии с требованиями каждого партнера.
- Хэширует нормализованное значение с помощью SHA-256.
- Отправляет в AppsFlyer только хешированное значение . Сырые данные никогда не покидают устройство.
Неверные значения отклоняются SDK с ошибкой и не отправляются в AppsFlyer.
Поддержка Android и iOS доступна начиная с версии SDK 7.0.1.
Подробную информацию о внедрении см. в руководстве по интеграции с Android SDK и руководстве по интеграции с iOS SDK .
S2S API
При отправке событий через S2S API для событий внутри приложения идентификаторы должны быть нормализованы и хэшированы на стороне сервера до отправки. API принимает следующие поля:
| Поле | Описание |
|---|---|
email_hashed |
Хэшированный адрес электронной почты |
phone_number_hashed |
Хэшированный номер телефона, только цифры |
phone_number_e164_hashed |
Хэшированный номер телефона в формате E.164 |
first_name_hashed |
Хэшированное имя |
last_name_hashed |
Хэшированная фамилия |
fb_login_id |
Идентификатор входа Facebook (без хэширования; передаётся как есть) |
Все поля в этой таблица (кромеfb_login_id ) проверены на соответствие формату SHA-256. Значения, которые не соответствуют требованиям, тихо отбрасываются и не передаются ни одному партнёру. Остальные поля в событии обрабатываются в обычном режиме.
Почему здесь два поля для ввода номера телефона?
Сети сопоставляют события, сравнивая хеш, который передаёт AppsFlyer, со своим сохранённым хешем номера телефона пользователя. Поскольку один и тот же номер, нормализованный в разных форматах, даёт разные хеши, обе стороны должны хэшировать номер в одинаковом формате, чтобы получить совпадение. Поскольку сети нормализуют номера телефонов по-разному, а AppsFlyer получает уже хэшированные значения, необходимо отправлять обе версии, чтобы охватить всех поддерживаемых партнёров.
-
phone_number_hashed: для Meta и Snapchat. Формат нормализации перед хешированием:16501234567 -
phone_number_e164_hashed: для Google и TikTok. Формат нормализации перед хешированием:+16501234567
Нормализация и хеширование идентификаторов
Нормализуйте исходное значение точно так, как описано ниже, затем выполните хэширование по алгоритму SHA-256 и отправьте шестнадцатеричную строку хеша в нижнем регистре.
Электронная почта (email_hashed)
Нормализуйте и хешируйте адрес электронной почты следующим образом:
- Удалите все пробелы.
- Преобразовать в нижний регистр.
- Хэширование с использованием SHA-256.
Пример:
User@Example.COM →user@example.com → Хэш SHA-256
Номер телефона, только цифры (phone_number_hashed)
Используйте это для Meta, Reddit, Pinterest и Snapchat. Нормализуйте номер телефона и выполните его хеширование следующим образом:
- Добавьте код страны в начало.
- Удалите все символы, буквы и ведущие нули.
- Хэширование с использованием SHA-256.
Пример:
+1 (650) 123-4567 →16501234567 → Хэш SHA-256
Номер телефона, E.164 (phone_number_e164_hashed)
Используйте это для Google, TikTok и Roku. Нормализуйте номер телефона и выполните его хеширование следующим образом:
- Добавьте код страны в начало.
- Удалите все символы, буквы и ведущие нули.
- Добавить в начало знак
+. - Хэширование с использованием SHA-256.
Интервалы окна активности.
+1 (650) 123-4567 →+16501234567 → Хэш SHA-256
Имя (first_name_hashed) и фамилия (last_name_hashed)
Нормализуйте имя и выполните его хеширование следующим образом:
- Удалите все пробелы.
- Преобразовать в нижний регистр.
- Хэширование с использованием SHA-256.
Идентификатор входа Facebook (fb_login_id)
Отправляйте исходный идентификатор входа Facebook в том виде, в каком его передаёт Facebook Login SDK. Это поле не хешируется.
Включите Advanced-Matching Data Sharing
Функция Advanced-Matching Data Sharing управляется отдельно для каждого партнёра и приложения и должна быть явно включена для каждой сети.
Чтобы включить Advanced-Matching Data Sharing:
- В AppsFlyerв в боковом меню выберите Совместная работа > Активные интеграции.
- Найдите партнера и выберите его.
- Включите Advanced-Matching Data Sharing .
- Нажмите Сохранить интеграцию.
Когда функция Advanced-Matching Data Sharing включена, любые события, содержащие один или несколько поддерживаемых идентификаторов, будут отправляться партнёру вместе с этими полями.
Отключение функции Advanced-Matching Data Sharing немедленно прекращает обмен хешированными данными с этим партнером. Другие настройки интеграции, включая постбэки и данные событий, не затрагиваются.
Конфиденциальность и обработка данных
Когда функция Advanced-Matching Data Sharing включена для партнёра, AppsFlyer начинает передавать хэшированные пользовательские идентификаторы в эту сеть вместе с данными событий. Перед включением подтвердите следующее:
- Существует законное основание (в соответствии с применимыми законами о конфиденциальности, такими как Общий регламент по защите данных (GDPR) или Калифорнийский закон о конфиденциальности потребителей (CCPA)) для передачи этих данных партнеру.
- Ваша политика конфиденциальности обновлена, и, где это необходимо, получено согласие пользователя.
- Ваши методы обмена данными соответствуют условиям партнера.
AppsFlyer не обрабатывает и не хранит персональные данные (PII) в открытом текстовом виде. Все поля идентификаторов проходят проверку при приеме: значения, не соответствующие формату SHA-256, отбрасываются и никогда не передаются партнёрам.
Часто задаваемые вопросы
Является ли Advanced-Matching Data Sharing той же функцией, что и возможность Audiences по отправке хешированных адресов электронной почты и телефонных номеров?
Нет. Это отдельные механизмы. Списки пользователей формируются для таргетинга рекламы. Advanced-Matching Data Sharing пересылает хэшированные идентификаторы вместе с отдельными событиями, чтобы повысить уровень совпадений на стороне партнёра. AppsFlyer планирует объединить оба метода, применив новый способ получения данных как для Advanced-Matching Data Sharing, так и для аудиторий.
Что произойдет, если я отправлю недействительное хеш-значение?
Данные удаляются на этапе загрузки и не передаются ни одному партнеру. Остальные поля в событии обрабатываются в обычном режиме.
Нужно ли отправлять все поддерживаемые поля?
Нет. Необходимо указывать только те идентификаторы, которые доступны и актуальны для настроенных партнеров. Отсутствующие поля не передаются.
Улучшит ли функция Advanced-Matching Data Sharing атрибуцию установок?
Большинство партнеров не используют хешированные адреса электронной почты или номера телефонов для сопоставления установок, повторного вовлечения или переустановок. Отправка этих полей в основном помогает партнерам точнее сопоставлять события в приложении на своей стороне. Это не влияет на атрибуцию AppsFlyer.
Получает ли AppsFlyer когда-нибудь идентификаторы пользователей в открытом виде?
Нет. Как указано в примечании "Важно!" в верхней части этой статьи, идентификаторы всегда хешируются до того, как попадают в AppsFlyer, — как на устройстве через SDK, так и на стороне сервера через S2S API. AppsFlyer принимает только хешированные значения.