Руководство по интеграции SKAN для рекламных сетей

Краткий обзор. Рекламные сети интегрируются с AppsFlyer SKAdNetworks (SKAN), что позволяет им оптимизировать кампании и атрибутировать генерируемый ими трафик.

Предложение AppsFlyer для рекламных сетей

Узнайте больше о решении AppsFlyer SKAN для рекламодателей:

Руководство по решению SKAN | Дэшборд SKAN 

  • Атрибуция к конверсиям кампании:
    • Интеграция с AppsFlyer гарантирует, что рекламной сети будут атрибутированы все установки, события внутри приложения и доходы, полученные в результате кампаний, проведенных от имени рекламодателей.
    • Без интеграции установки, события в приложении и доходы атрибутируются как органические, а не рекламной сети. 
  • Оптимизация кампаний:
    • Значение конверсии в постбэке закодировано.
    • AppsFlyer позволяет рекламным сетям переводить значение конверсии каждого постбэка, обеспечивая рекламным сетям возможность оптимизировать свои кампании на основе расшифрованного значения для каждого приложения.
  • Нет необходимости в прямой интеграции с каждым рекламодателем — постбэки SKAN отправляются только в рекламную сеть, а рекламодатели могут потреблять данные, используя любое из следующего:
    • Индивидуальная интеграция с каждой рекламной сетью. Решение, которое не масштабируется ни для рекламных сетей, ни для рекламодателей. 
    • Единая интеграция с AppsFlyer. Масштабируется как для рекламодателя, так и для рекламной сети.
  • Известность в AppsFlyer: 
    • Рекламные сети, имеющие интеграцию SKAN, сертифицированы и идентифицированы как таковые на дэшборде AppsFlyer. 
    • Это гарантирует рекламодателям, что они работают с рекламными сетями, которые могут быть детерминированно измерены с помощью этой модели атрибуции.

Поток данных SKAN

5754_Postback_flow_for_SKAD__1_.png

Полный путь постбэка SKAN выглядит следующим образом:

  1. iOS отправляет постбэк SKAN в атрибутированную рекламную сеть.
  2. Рекламная сеть делает одно из следующих действий:
    • Обогатить и переслать: обогащение данных в постбэке SKAN идентификатором кампании рекламной сети/идентификатором источника, названием кампании и IP-адресом устройства iOS. 
    • Перенаправить: сеть запрашивает iOS-устройство перенаправить постбэк непосредственно на AppsFlyer. В этом случае обогащение данных кампании будет осуществляться через отдельный API между AppsFlyer и рекламной сетью.
  3. AppsFlyer проверяет и декодирует постбэк. Затем он отправляет декодированный и обогащенный постбэк в рекламную сеть (параллельно с передачей его рекламодателю).

Основные части интеграции

Интеграция SKAN между AppsFlyer и рекламными сетями состоит из следующих основных частей, описанных в этой статье:

  • Рекламные сети отправляют данные SKAN в AppsFlyer
  • Рекламные сети получают обогащенные и декодированные данные от AppsFlyer посредством постбэков

Отправка данных в AppsFlyer

После того как рекламная сеть получает постбэк SKAN от устройства, рекламная сеть направляет его в AppsFlyer одним из следующих методов:

  • Обогатить и переслать (POST)
  • Перенаправить (метод перенаправления HTTP 307)

При получении постбэка SKAN AppsFlyer выполняет следующее:

  • Валидация постбэка: чтобы убедиться, что он уникален.
  • Расшифровка значения конверсии: генерирует записи событий установки/включения приложения для атрибуции.
  • Отправляет декодированные постбэки в рекламную сеть.
  • Делает данные атрибуции доступными для рекламодателей на дэшбордах и в отчетах.

Обогатить и переслать

Используя этот метод, рекламные сети передают AppsFlyer каждый постбэк, полученный с устройства.

Рекламная сеть:

  • Получает постбэк от устройства iOS.
  • [Необязательно] Обогащает постбэк следующими данными:
    • Идентификатор кампании рекламной сети и название кампании.
    • IP-адрес, полученный от устройства, необходимый в основном для целей разрешения гео. 
    • Временная метка постбэка, отправленного с устройства iOS.
  • [Необязательно] Обогащает постбэк следующими данными:
    • Идентификатор и название группы объявлений
    • Идентификатор и название объявления
    • Название рекламной сети
    • Код страны
    • ID исходного приложения
    • Креатив
    • Канал
  • Отправляет постбэк в AppsFlyer
  • Внимание! Перед отправкой постбэка в AppsFlyer проверьте подпись атрибуции Apple с помощью содержимого исходящего постбэка, чтобы убедиться, что вы случайно не повредили данные.

Протокол обогащенных постбэков SKAN

Конечная точка

https://skadpostbacks.appsflyer.com/api/postbacks

HTTP-метод POST
Принятые типы контента application/json
Коды возврата

200 OK: Полученный постбэк имеет действительный формат. 

400: Неверный запрос: Некорректный JSON, пустой JSON, отсутствуют обязательные поля.

Параметры обогащенных постбэков SKAN в JSON

Параметр

Формат

Описание

Источник

version Строка

Версия SKAdNetwork

Пример: "version":"2.0"

Постбэк SKAN
ad-network-id Строка

Идентификатор рекламной сети

Пример: "ad-network-id":" abc123defg.SKAdnetwork"

Постбэк SKAN
ad-network-name Строка
  • Название рекламной сети
  • Пример: ad_network_name=your_network
Рекламная сеть
ad-network-country-code Строка
  • Местоположение пользователя (гео), полученное рекламной сетью.
  • Заполняется кодами в соответствии с ISO 3166 (alpha-2).
  • Пример: CN, ZA
  • Рекламные сети часто выводят гео в зависимости от целевого региона кампании.  
  • AppsFlyer использует код страны для заполнения полей, связанных с географическим положением, в отчетах и на дэшбордах.
Рекламная сеть
campaign-id Целое число
  • Только для SKAN 3 и ниже
  • Идентификатор кампании SKAdNetwork
  • Пример: "campaign-id":23
Постбэк SKAN
transaction-id Строка

Идентификатор транзакции постбэка SKAdNetwork

Постбэк SKAN
app-id Целое число
  • Идентификатор целевого приложения, как он отображается в AppsFlyer. Всегда имеет префикс id.
  • Пример:app_id=id123456789
Постбэк SKAN
attribution-signature Строка Подпись атрибуции Постбэк SKAN 
повторная загрузка Логическое значение Если redownload = true, это означает, что пользователь снова загрузил приложение из магазина приложений. Постбэк SKAN
source-app-id Целое число
  • Идентификатор приложения источника (издателя)
  • Для SKAN 4 доступно только в первом постбэке, для уровня 3. См. документацию Apple.
Постбэк SKAN
conversion-value Целое число

AppsFlyer SDK устанавливает значение конверсии в соответствии с настройками рекламодателя.

Внимание!

  • Из-за пороговых значений конфиденциальности iOS может не заполнить параметр в постбэке, и значение будет null.
  • Null и 0 имеют разные значения:
    • Null: iOS скрыла значение конверсии
    • 0: Пользователь установил приложение, но не выполнил никаких действий.  
Постбэк SKAN 
ad-network-campaign-id Строка

Чтобы обеспечить общий язык между рекламными сетями, рекламодателями и AppsFlyer, вы должны предоставить свой идентификатор кампании.

Рекламная сеть
ad-network-campaign-name Строка Название кампании рекламной сети, связанное с идентификатором кампании рекламной сети. Это название отображается на дэшбордах и в отчетах.  Рекламная сеть
ad-network-adset-id Строка

Идентификатор группы объявлений рекламной сети

Рекламная сеть
ad-network-adset-name Строка

Название группы объявлений рекламной сети

Рекламная сеть
ad-network-ad-name Строка

Название объявления рекламной сети

Рекламная сеть
ad-network-ad-id Строка

Идентификатор объявления рекламной сети

Рекламная сеть
ip Строка
  • IP-адрес устройства, отправляющего постбэк.
  • Поддерживаются адреса iPv4 и IPv6.
  • Пример: "ip":"198.51.100.1"
Рекламная сеть
timestamp Строка
  • Время получения постбэка SKAN рекламной сетью. 10-значная метка времени Unix. [Необязательно] Разрешена 13-значная временная метка Unix.
  • Пример: 4 августа 2020, 07:25 UTC переведено в "timestamp": "1596525944"
Рекламная сеть
fidelity-type Целое число
  • Различает варианты представления объявлений, влияющие на атрибуцию. Указывается с помощью значений 0 и 1 следующим образом: 
    • Просмотры рекламы (0)
    • Реклама с рендерингом Storekit (1)
  • Обязательное поле, начиная с SKAN V2.2
Постбэк SKAN (V2.2+)
did-win Логическое значение Постбэк SKAN (V3.0+)
ad-network-source-app-id Строка

Заполните идентификатором издателя, который вы связываете с приложением, публикующим рекламу. Обычно это ID, который вы присвоили издателю, а не ID, сгенерированный Apple. 

Рекламная сеть

postback-sequence-index

Целое число
  • Только для SKAN 4+
  • Значение представляет собой порядковый номер (окно SKAN), либо 0, либо 1, либо2.
Постбэк SKAN 4.0 (iOS 16.2)

coarse-conversion-value

Строка
  • Только для SKAN 4+
  • Значение может быть низкое, среднее или высокое.
  • Для первого постбэка доступно только для уровня 1. Для второго и третьего постбэков доступно для уровней 1-3. См. документацию Apple
Постбэк SKAN 4.0 (iOS 16.2)

source-identifier

Строка
  • Только для SKAN 4+
  • Заменяет campaign-id
  • Значение может иметь до 4 цифр.
  • Для первого постбэка доступно до 4 цифр для уровней 2-3 и 2 цифры для уровней 0-1. Для второго и третьего постбэков доступны 2 цифры для уровней 1-3. Для уровня 0 постбэк отсутствует. См. документацию Apple

Постбэк SKAN 4.0 (iOS 16.2)

source-domain

Строка
  • Только для SKAN 4+
  • Значение представляет собой источник атрибутируемой веб-рекламы. Пример: example.com 
  • Доступно только в веб-рекламе, в первом постбэке, для уровня 3. См. документацию Apple
Постбэк SKAN 4.0 (iOS 16.2)

Креатив

Строка
  • Актуально только для SKAN 4+
  • Доступно при использовании дополнительных цифр в идентификаторе источника source_identifier для дополнительной детализации кампании.
Рекламная сеть

channel

Строка
  • Актуально только для SKAN 4+
  • Доступно при использовании дополнительных цифр в идентификаторе источника source_identifier для дополнительной детализации кампании.
Рекламная сеть

Пример Curl — обогащенный постбэк SKAN 3

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version":"3.0",
      "app-id": 888707086,
      "ip": "192.0.2.0",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "source-app-id": 888707074,
      "ad-network-id": "abcabcabc.skadnetwork",
      "transaction-id": "68eb3d91-15f5-44ee-9267-25c7655c20b6",
      "redownload": false,
      "attribution-signature": "MDYCGQCsQ4y8d4BlYU9b8Qb9BPWPi+ixk/OiRysCGQDZZ8fpJnuqs9my8iSQVbJO/oU1AXUROYU=",
      "timestamp": "1596525944",
      "ad-network-campaign-id": "222222",
      "conversion-value": 63,
      "campaign-id": 99
  }'

Пример Curl — обогащенный постбэк SKAN 4 с точными значениями конверсии

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version": "4.0"
      "ad-network-id": "example123.skadnetwork",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "ad-network-campaign-id": "222222",
      "source-identifer": "5239",
      "app-id": 525463029,
      "transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e30",
      "redownload": false,
      "source-app-id": 1234567891,
      "fidelity-type": 1, 
      "did-win": true,
      "conversion-value": 63
      "postback-sequence-index": 0
      "attribution-signature": "MEUCIGRmSMrqedNu6uaHyhVcifs118R5z/AB6cvRaKrRRHWRAiEAv96ne3dKQ5kJpbsfk4eYiePmrZUU6sQmo+7zfP/1Bxo="
  }'

Пример Curl — обогащенный постбэк SKAN 4 с приблизительными значениями конверсии

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version": "4.0"
      "ad-network-id": "example123.skadnetwork",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "ad-network-campaign-id": "222222",
      "source-identifer": "39",
      "app-id": 525463029,
      "transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e31",
      "redownload": false,
      "source-app-id": 1234567891,
      "fidelity-type": 1, 
      "did-win": true,
      "coarse-conversion-value": "high"
      "postback-sequence-index": 0
      "attribution-signature": "MEUCIQD4rX6eh38qEhuUKHdap345UbmlzA7KEZ1bhWZuYM8MJwIgMnyiiZe6heabDkGwOaKBYrUXQhKtF3P/ERHqkR/XpuA="
  }'

Перенаправление

Redirect_us-en__2_.png

При использовании этого метода рекламная сеть отвечает устройству командой HTTP перенаправления (307), передавая устройству запрос об отправке постбэка непосредственно в AppsFlyer. 

Метод перенаправления имеет следующие преимущества:

  • Повышенное доверие рекламодателей: MMP действует от имени рекламодателя. Предоставляя AppsFlyer доступ к постбэку из первых рук, рекламодатели уверены, что постбэки не подвергаются манипуляциям во время передачи.
  • От рекламной сети не требуется обработки данных: Рекламные сети отвечают командой перенаправления (на устройство), что устраняет необходимость обработки постбэков. Для сравнения, метод обогащения и пересылки требует, чтобы рекламные сети принимали постбэк, обогащали его дополнительными параметрами и, наконец, пересылали его в AppsFlyer.

Реализация

  1. Настройте сервер на ответ HTTP 307, перенаправляющий постбэк на https://skadredirect.appsflyer.com/api/redirects
  2. Добавьте параметры запроса, содержащие сведения о кампании, используя параметры запроса, перечисленные в следующей таблице. Считайте отправку данных о вашей кампании обязательной. Информация о кампании позволяет нам обогатить данные SKAN данными о стоимости и другими данными о кампании и позволяет рекламодателям эффективно оптимизировать кампании.

Пример URL для перенаправления

https://skadredirect.appsflyer.com/api/redirects?
  &ad-network-campaign-id=243232&ad-network-campaign-name=yarg_campaign_name
  &ad-network-adset-name=dsdsa&creative=examplecreative&channel=channelexample

Параметры запроса для получения сведений о кампании (не обязательно)

Параметр запроса

Описание

ad-network-name
  • Название рекламной сети
  • Пример: ad_network_name=your_network
ad-network-campaign-id ID кампании
ad-network-campaign-name Название кампании
ad-network-adset-id ID блока рекламы
ad-network-adset-name Имя блока рекламы
ad-network-ad-id ID рекламы.
ad-network-ad-name Имя рекламы
ad-network-country-code
  • Местоположение пользователя (гео), полученное рекламной сетью.
  • Заполняется кодами в соответствии с ISO 3166 (alpha-2).
  • Пример: CN, ZA
  • Рекламные сети часто выводят гео в зависимости от целевого региона кампании.  
  • AppsFlyer использует код страны для заполнения полей, связанных с географическим положением, в отчетах и на дэшбордах.
ad-network-source-app-id Заполните идентификатором издателя, который вы связываете с приложением, публикующим рекламу. Обычно это ID, который вы присвоили издателю, а не ID, сгенерированный Apple. 
ip
  • IP-адрес устройства, отправляющего постбэк.
  • Поддерживаются адреса iPv4 и IPv6.
  • Пример:"ip":"198.51.100.1"
timestamp
  • Время получения постбэка SKAN рекламной сетью. 10-значная метка времени Unix. [Необязательно] Разрешена 13-значная временная метка Unix.
  • Пример: 4 августа 2020, 07:25 UTC переведено в "timestamp": "1596525944"
Креатив
  • Актуально только для SKAN 4+
  • Доступно при использовании дополнительных цифр в идентификаторе источника source_identifier для дополнительной детализации кампании.
channel
  • Актуально только для SKAN 4+
  • Доступно при использовании дополнительных цифр в идентификаторе источника source_identifier для дополнительной детализации кампании.

Получение данных от AppsFlyer

Перед тем как получить свой первый постбэк, примите во внимание следующее: 

  • Рекламные сети должны определить конечную точку и шаблон постбэка (свяжитесь с менеджером по развитию партнеров AppsFlyer с помощью виджета помощи партнерам, чтобы убедиться, что все это есть).
  • AppsFlyer отправляет постбэки SKAN, используя тот же механизм, что и при отправке вам существующих постбэков.

Принципы

  • Для каждого постбэка, отправленного из рекламной сети в AppsFlyer, AppsFlyer отправляет:
    • Один постбэк об установке. Повторная загрузка обозначается параметром redownload. 
    • От нуля до нескольких постбэков о событиях в приложении. Точное число зависит от перевода значения конверсии. См. имитацию постбэков.
  • При получении постбэков одна и та же установка или событие может быть атрибутировано несколькими решениями AppsFlyer для атрибуции. Используйте параметр attribution_source, чтобы различать типы постбэков. 

Макросы постбэка доступны для партнеров –рекламных сетей

Макрос в постбэке (название)

Описание

Формат и пример Актуально только для внутренних событий

site_id

Приложение, опубликовавшее объявление (ID исходного приложения)

Строка: 876534

 

install_time

Оценка AppsFlyer на основе окна updateConversion. Предоставляется в виде 10-значной временной метки UNIX или в виде обычной временной метки.

  • Строка: 1596119460 
  • Переводится как 30 июля 2020, 14:31 UTC.
 

skadnetwork_ad_network_time

Время, когда постбэк был получен рекламной сетью от устройства iOS. Сообщается рекламной сетью. Предоставляется в виде 10-значной временной метки UNIX или в виде обычной временной метки.

  • Строка: 1596119460 
  • Переводится как 30 июля 2020, 14:31 UTC.



 


skadnetwork_received_time

Время, когда AppsFlyer получил постбэк от рекламной сети. Предоставляется в виде 10-значной временной метки UNIX или в виде обычной временной метки.

 

  • Строка: 1596119460 
  • Переводится как 30 июля 2020, 14:31 UTC.

 

event_name

Название события 

  • af_skadnetwork_revenue
  • af_login
  • af_skadnetwork_revenue
  • или как установлено рекламодателем 

Строка: af_skadnetwork_revenue, abc123

 

Да

выручка

Сумма дохода с использованием указанного кода валюты

Числа: 5, 20, 0.4

Да

валюта

Код валюты — это валюта, установленная рекламодателем для конкретного приложения

Строка: EUR, USD, ZAR

Да

attribution_source

Источник данных об атрибуции:

SKAdNetwork: SKAdNetwork

Строка: SKAdNetwork

 

app_id

ID приложения (приложение рекламодателя)

Строка: ID123456790

 

Страна

Гео установки (страна), определенная рекламной сетью

Строка: US, UK, ZA 

 

campaign

Название кампании, заполненное параметром ad-network-campaign-name, отправленным в постбэке из рекламной сети.

Строка: UA_US_23+

 

campaign_id

Идентификатор кампании рекламной сети, заполненный параметром ad network-campaign-id, отправленным в постбэке из рекламной сети. Примечание. Для SKAN 4 значение время равно null.

Строка: 3456745

 

повторная загрузка

Возможные значения: true, false

Если redownload = true, это означает, что пользователь снова загрузил приложение из магазина приложений.

Значения: true/false

 

skadnetwork_ambiguous_event

События, полученные в течение первых 72 часов после того, как рекламодатель изменил настройки SKAN на дэшборде. Из-за различных таймеров, используемых SKAN, AppsFlyer не может точно сопоставить событие.

Значения: true/false

 

skadnetwork_campaign_id

Идентификатор кампании SKAN, предоставленный оригинальным постбэком SKAN

56, 23

 

af_skadnetwork_nonce

Уникальный случайный идентификатор, позволяющий партнерам идентифицировать дублирующиеся постбэки

 

 

event_id

Имя/идентификатор соответствующего события на платформе рекламной сети

 

Да

transaction_id

Идентификатор транзакции постбэка SKAN

Примечание. Рекламодатель должен явно разрешить нам передавать вам transaction_id. Попросите рекламодателя сделать это на вкладке Интеграция.

 

 

ad_network_adset_id Добавлено в постбэк iOS рекламной сетью Строка  
ad_network_adset_name Добавлено в постбэк iOS рекламной сетью Строка  
ad_network_ad_name Добавлено в постбэк iOS рекламной сетью Строка  
ad_network_ad_id Добавлено в постбэк iOS рекламной сетью Строка  
SKAN_min_event_counter См. примечание (1)

Целое число

Да
SKAN_max_event_counter См. примечание (1)

Целое число

Да
SKAN_min_time_post-install См. примечание (2)

Целое число

Да
SKAN_max_time_post-install См. примечание (2)

Целое число

Да
SKAN_min_event_revenue См. примечание (3) Вещественное число Да
SKAN_max_event_revenue См. примечание (3)

Вещественное число 

Да
fidelity-type

Различает варианты представления объявлений, влияющие на атрибуцию. Указывается с помощью значений 0 и 1 следующим образом: 

  • Просмотры рекламы (0)
  • Реклама с рендерингом Storekit (1)
Целое число  
skad_af_attribution_flag

Используется для указания того, был ли пользователь атрибутирован AppsFlyer с помощью механизма единого источника истины

Логическое значение  
skad_postback_sequence_index
  • Значение представляет собой окно SKAN, либо0, либо1, либо2.
  • Для SKAN 3 значение равно0
Целое число  
skad_coarse_conversion_value
  • Значение может быть низкое, среднее или высокое.
  • Для SKAN 3 значение равно null.
Строка  
skad_source_identifier
  • Значение может иметь до 4 цифр.
  • Для SKAN 3 значение равно null
Строка  
skad_source_domain
  • Значение представляет собой источник атрибутируемой веб-рекламы.
  • Для SKAN 3 значение равно null.
Строка  
ad_network_creative
  • Значение основано на обогащении данных, полученных от рекламной сети.
  • Для SKAN 3 значение равно null
Строка  
ad_network_channel
  • Актуально только для SKAN 4+
  • Доступно при использовании дополнительных цифр в идентификаторе источника source_identifier для дополнительной детализации кампании.
Строка  

ПРИМЕЧАНИЯ

  1. Частота событий: количество одного события рассчитывается по следующей формуле:
    [округлить (SKAN_min_event_counter+SKAN_max_event_counter) / 2]
    Примечание! Значение должно округляться до ближайшего целого числа.
  • Пример:
    • A. Если min=0 и max=1, то частота события равна 1.
    • B. Если min=0 и max =10, то частота события равна 5.
  • Определение времени установки. Для рекламодателей, реализующих пользовательскую конверсию, AppsFlyer рассчитывает время установки как время прибытия постбэка - 48 часов - среднее (min_time_post_install + max_time_post_install). Рекламным сетям не нужно использовать эти макросы.  
  • Определение дохода. AppsFlyer использует эти значения для определения дохода от события, вычисляя среднее значение min и max. Рекламным сетям не нужно использовать эти макросы.  

Примеры постбэков SKAN

Пример постбэка SKAN об установке, отправленного AppsFlyer

http://YourCompanyDomain.com/event?site_id=(publisher-id)&install_time=(timestamp)
  &skan_ad_network_time=(timestamp)
  &skan_af_received_time=(timestamp)
  &attribution_source=skadnetwork
  &app_id=(id123456789)&country=(ZA)&campaign=(campaign-name)
  &campaign_id=(campaign-id)&SKAN_ambiguous_event=(boolean)
&redownload=(boolean)
&af_SKAN_nonce=(uuid)

Пример постбэка SKAN о внутреннем событии, отправленного AppsFlyer

http://YourCompanyDomain.com/event?site_id=(publisher-id)&install_time=(timestamp)
  &skan_ad_network_time=(timestamp)
  &skan_af_received_time=(timestamp)&revenue=(value)
  &currency=(code)&event_name=(event-name)&attribution_source=skadnetwork
  &app_id=(id123456789)&country=(ZA)&campaign=(campaign-name)
  &campaign_id=(campaign-id)&SKAN_ambiguous_event=(boolean)
&redownload=(boolean)
&af_SKAN_nonce=(uuid)

Тестирование интеграции

Чтобы подтвердить интеграцию с AppsFlyer, используйте один или оба из следующих методов. 

  • Реальные постбэки SKAN: основаны на реальном трафике SKAN, полученном сетью
  • Имитация постбэков: на основе тестовых приложений AppsFlyer

Чтобы получать реальные постбэки SKAN от устройств iOS, рекламная сеть выполняет следующие действия:

Для получения имитированных постбэков:

Реальная среда

Используя этот метод, рекламная сеть отправляет AppsFlyer фактические постбэки SKAN из реальных приложений. 

Тестирование интеграции

Ответственность Действие
Рекламная сеть Сообщите AppsFlyer через вашего менеджера по развитию партнеров (или используйте виджет помощи партнерам) ваш идентификатор сети SKAN, предоставленный Apple.
Рекламная сеть и AppsFlyer Договоритесь об общем клиенте (интегрировав последнюю версию SDK AppsFlyer), чтобы использовать его для проверки интеграции постбэков.
Рекламная сеть Отправьте постбэки SKAN для приложения в AppsFlyer, используя один из методов, описанных в этой статье.
AppsFlyer Отправляет декодированные постбэки в рекламную сеть в соответствии с сопоставлением значений конверсии, установленным рекламодателем.

Критерии тестирования

Ответственность Действие
Рекламная сеть Уведомите AppsFlyer о количестве постбэков SKAN, отправленных в течение определенного периода для согласованного общего клиента.
AppsFlyer Проверяет количество полученных постбэков в сравнении с количеством, отправленным рекламной сетью.
AppsFlyer

Предоставляет рекламной сети количество постбэков, отправленных в сеть для данного приложения, с разбивкой по типам:

  • Постбэки по установкам/загрузкам.
  • Постбэки по внутренним событиям приложений.
Примечание. Если вы используете одну и ту же конечную точку для вероятностных постбэков, убедитесь, что вы фильтруете с помощью attribution_source=skadnetwork, чтобы отличить постбэки SKAN Network от других постбэков.

Имитация постбэков

  • При использовании этого метода рекламная сеть отправляет тестовым приложениям AppsFlyer заранее подготовленные постбэки, как подробно описано в таблице ниже. AppsFlyer отвечает рекламной сети декодированными постбэками.
  • Каждое тестовое приложение имеет свое сопоставление значений конверсии, как показано в таблице.
Идентификатор приложения Режим конверсии Инструкции
id888707085

Доход, в единицах по 1 долл.

Ожидаемые результаты: 

  1. На вкладке Интеграция включите постбэки по внутренним событиям приложения.
  2. Выберите название события af_SKAN_revenue и сопоставьте с идентификатором события.
  3. Сохраните конфигурацию.
  4. В постбэке отправьте значение конверсии = 7.
  5. AppsFlyer присылает в ответ:
    • Постбэк по установке
    • Постбэк af_SKAN_revenue со значением $7
id888707086 Конверсия, включая события в приложении:
  • af_level_complete
  • af_login
  • af_SKAN_revenue
  • af_register
  • af_subscription
  • af_custom_event
  1. На вкладке Интеграция включите постбэки по внутренним событиям приложения.
  2. Выберите каждое из перечисленных событий в приложении и сопоставьте его со своим идентификатором события. 
  3. Сохраните конфигурацию.
  4. В постбэке отправьте значение конверсии = 63.
  5. AppsFlyer присылает в ответ:
    • Постбэк по установке
    • Постбэк af_level_complete
    • Постбэк af_login
    • Постбэк af_SKAN_revenue
    • Постбэк af_register
    • Постбэк af_subscription
    • Постбэк af_custom_event
id888707087 Интеракции, измеряемые с помощью события af_SKAN_revenue
  1. На вкладке Интеграция включите постбэки по внутренним событиям приложения.
  2. Сопоставьте название события af_SKAN_revenue и идентификатор события.
  3. Сохраните конфигурацию.
  4. В постбэке отправьте значение конверсии = 3.
  5. AppsFlyer присылает в ответ:
    • Постбэк по установке
    • 3 постбэка события af_SKAN_revenue

Этапы интеграции

Ответственность Действие
Рекламная сеть Настройте свой идентификатор сети SKAN (предоставляется компанией Apple) и шаблон постбэка SKAN на платформе управления постбэком. Для получения помощи свяжитесь с нами, используя виджет помощи партнерам.
Рекламная сеть
  1. Активируйте тестовые приложения.
  2. Для каждого приложения заполните столбец с инструкциями в предыдущей таблице. 
  3. Отправьте имитированные постбэки, используя тестовые приложения, перечисленные в предыдущей таблице. Что учесть при отправке имитированных постбэков:
    • Установите app_id и значение конверсии, как указано в предыдущей таблице. 
    • Поскольку рекламные сети не могут генерировать подписи, совместимые с Apple, имитированные постбэки не должны включать поля подписи. AppsFlyer не будет проверять их для имитированных постбэков.
    • Рекламные сети отправляют постбэк, используя подход POST или REDIRECT.
AppsFlyer Отвечает декодированными постбэками в конечную точку, указанную рекламной сетью во время интеграции.

Критерии тестирования

Ответственность Действие
AppsFlyer Обрабатывает постбэк и отправляет постбэк в рекламную сеть.
Рекламная сеть
  • Рекламная сеть получает и декодирует переведенные постбэки.
  • Постбэки о событиях в приложении, отправленные AppsFlyer, соответствуют ожидаемым потокам. Например, значение конверсии 3 для приложения ID888707087, рекламная сеть получает 3 постбека о событии af_SKAN_revenue. 

Разъяснения

Разъяснения, касающиеся обязательных полей, обогащения, сертификации и многого другого.

Вопросы и ответы

Вопросы и ответы о постбэках

Являются ли поля обогащения данных обязательными? 

В настоящее время мы будем обрабатывать постбэк, даже если в нем отсутствует один или несколько из следующих параметров обогащения. Учтите, что информация необходима по следующим причинам: 

  • ID кампании рекламной сети: если у нас есть интеграция затрат с вами, то об этом сообщается с помощью вашего ID кампании. 
  • Название кампании рекламной сети: многие рекламодатели полагаются на название кампании, а не ее номер. 
  • IP-адрес: требуется для разрешения гео. 
  • Временная метка: помогает нам атрибутировать установку с правильной датой. 

Можем ли мы отправить либо ID кампании, либо название кампании, но не оба варианта?

См. предыдущий ответ. Подумайте о том, чтобы заполнить и ID, и название одним и тем же значением. 

Мы используем метод Обогатить и переслать. Можно ли добавить пары ключ-значение, которых нет в спецификации AppsFlyer? 

Да, можно. Мы обработаем постбэк и проигнорируем дополнительную информацию при условии, что подпись атрибуции действительна.

Отличаются ли шаблоны постбэков SKAN от других шаблонов постбэков?

Да. Поток и структура отличаются.

Получим ли мы постбэк SKAN и постбэк вероятностного/детерминированного моделирования, относящиеся к одной и той же установке, что означает дублирование отчетов об одной и той же установке?

Да. В каждом случае, когда мы регистрируем установку, атрибутированную вам, независимо от метода, мы отправляем вам постбэк.

Используйте attribution_source для различения постбэков SKAN.

Должны ли мы обрабатывать постбэк из AppsFlyer?

Нет. Считайте, что лучшей практикой является оптимизация кампаний в соответствии с качеством пользователей, о котором сообщается через постбэк. 

Ожидается ли, что мы будем вызывать ссылки атрибуции AppsFlyer или достаточно отправить постбэк с полезной нагрузкой SKAN и обогащенными данными?

Достаточно отправить нам полезную нагрузку SKAN и обогащенные данные.

Что необходимо для того, чтобы мы были сертифицированы на дэшборде AppsFlyer в качестве интегрированного партнера SKAN?

  • Завершите интеграцию, используя один из методов, перечисленных в этой статье.
  • Присылайте нам постбэки для приложений, использующих AppsFlyer в качестве партнера по атрибуции.

Как повлияет на меня ограничение в 100 идентификаторов кампаний SKAN

Ограничение 1-100 относится к тому, как вы подписываете и нумеруете свои кампании в Apple. Это означает, что в любой момент времени у вас может быть 100 одновременных уникальных кампаний. Мы позволяем вам обогащать данные постбэка названием и ID вашей реальной кампании. Это означает, что вы сопоставляете идентификатор кампании SKAN с идентификаторами ваших реальных кампаний, используемых в момент получения постбэка. Это означает, что ограничение в 100 идентификаторов не ограничивает количество кампаний, которые вы измеряете в AppsFlyer, при условии, конечно, что у вас не более 100 одновременных кампаний для данного приложения.