Adjust

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

Интеграция между Adapty и Adjust работает двумя основными способами.

  1. Adapty получает данные атрибуции от Adjust После настройки интеграции с Adjust Adapty начнёт получать данные атрибуции от Adjust. Вы можете легко просматривать эти данные на странице профиля пользователя.
98769d9-CleanShot_2023-08-11_at_14.39.182x.webp
  1. Adapty отправляет события подписки в Adjust Adapty может отправлять все события подписки, настроенные в вашей интеграции, в Adjust. Благодаря этому вы сможете отслеживать эти события в дашборде Adjust. Интеграция полезна для оценки эффективности рекламных кампаний.

Настройка интеграции

Подключение Adapty к Adjust

  1. Откройте дашборд Adapty и перейдите в раздел Integrations > Adjust.

  2. Включите переключатель в верхней части страницы.

  3. Заполните поля и укажите учётные данные для доступа.

5064125-CleanShot_2023-08-11_at_14.43.382x.webp
  1. Если вы включили OAuth-авторизацию на платформе Adjust, при интеграции для iOS и Android приложений необходимо указать OAuth Token.
  2. Далее укажите токены приложений для iOS и Android. Откройте дашборд Adjust — там вы увидите свои приложения.
adjust-apps.webp

У вас могут быть разные приложения Adjust для iOS и Android, поэтому в Adapty есть два независимых раздела для этого. Если у вас только одно приложение Adjust, просто введите одинаковую информацию в оба поля.

  1. Выберите приложение из списка и скопируйте App Token. Вставьте токен в соответствующее поле на дашборде Adapty.
adjust-token.webp

Настройка событий и тегов

Adjust работает немного иначе, чем другие платформы. Вам нужно вручную создать события в дашборде Adjust, получить токены событий и скопировать их в соответствующие события в Adapty.

Поэтому первый шаг — найти токены событий для всех событий, которые вы хотите отправлять через Adapty. Для этого:

  1. В дашборде Adjust откройте ваше приложение и перейдите на вкладку Events.
adjust-events.webp
  1. Скопируйте токен события и вставьте его в Adapty. Ниже учётных данных находятся три группы событий, которые можно отправлять из Adapty в Adjust. Полный список событий, доступных в Adapty, смотрите здесь.
adjust-event-token.webp

Adapty будет отправлять события подписок в Adjust через серверную интеграцию, что позволит вам видеть все события подписок в дашборде Adjust и связывать их с вашими рекламными кампаниями.

Учтите следующее:

  • Adjust не поддерживает события старше 58 дней. Если событие старше 58 дней, Adapty всё равно отправит его в Adjust, но дата и время события будут заменены текущей меткой времени.
  • Adjust не поддерживает IPv6. Если вы отключите сбор IP-адресов в SDK в разделе App settings или при активации SDK, на сервер может быть отправлен только IPv6, и отслеживание может не работать — оставьте сбор IP-адресов в SDK включённым, чтобы гарантировать использование IPv4.

Подключите приложение к Adjust

После выполнения описанных выше шагов добавьте в своё приложение два следующих метода. Они обеспечат взаимодействие между вашим приложением и Adjust:

  1. Для отправки данных о подписках в Adjust: передайте идентификатор устройства Adjust в метод SDK setIntegrationIdentifier()
  2. Для получения данных атрибуции от Adjust: обновите данные атрибуции с помощью метода SDK updateAttribution()

Для Adjust версии 5.0 и выше используйте следующий пример:

Структура события

Adapty отправляет выбранные события в Adjust, как настроено в разделе Events names на странице интеграции с Adjust. Каждое событие имеет следующую структуру:

{
   "event_token": "EVENT_TOKEN_FROM_CONFIG",
   "app_token": "APP_TOKEN_FROM_CONFIG",
   "s2s": 1,
   "environment": "production",
   "created_at_unix": 1709294400,
   "currency": "USD",
   "revenue": 9.99,
   "customer_user_id": "user_12345",
   "external_device_id": "user_12345",
   "ip_address": "192.168.100.1",
   "user_agent": "Mozilla/5.0 (Linux; Android 14; SM-S901B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36",
   "android_id": "875646c2-4a56-4211-8931-168532479006",
   "gps_adid": "875646c2-4a56-4211-8931-168532479006",
   "callback_params": "{\"integration_event_id\":\"550e8400-e29b-41d4-a716-446655440000\",\"customer_user_id\":\"user_12345\",\"vendor_product_id\":\"com.example.app.yearly.premium\",\"transaction_id\":\"GPA.3312-4512-1100-55923\",\"original_transaction_id\":\"GPA.3312-4512-1100-55923\",\"store\":\"play_store\",\"store_country\":\"US\",\"price_usd\":9.99,\"proceeds_usd\":8.49,\"price_local\":9.99,\"proceeds_local\":8.49,\"net_revenue_usd\":8.49,\"net_revenue_local\":8.49,\"tax_amount_usd\":0.0,\"tax_amount_local\":0.0,\"consecutive_payments\":3,\"rate_after_first_year\":false}",
   "partner_params": "{\"integration_event_id\":\"550e8400-e29b-41d4-a716-446655440000\",\"customer_user_id\":\"user_12345\",\"vendor_product_id\":\"com.example.app.yearly.premium\",\"transaction_id\":\"GPA.3312-4512-1100-55923\",\"original_transaction_id\":\"GPA.3312-4512-1100-55923\",\"store\":\"play_store\",\"store_country\":\"US\",\"price_usd\":9.99,\"proceeds_usd\":8.49,\"price_local\":9.99,\"proceeds_local\":8.49,\"net_revenue_usd\":8.49,\"net_revenue_local\":8.49,\"tax_amount_usd\":0.0,\"tax_amount_local\":0.0,\"consecutive_payments\":3,\"rate_after_first_year\":false}"
}

Где

ПараметрТипОписание
app_tokenStringТокен приложения Adjust из настроек интеграции.
event_tokenStringТокен события Adjust, сопоставленный с конкретным событием Adapty.
s2sIntegerФлаг события Server-to-Server.
environmentStringsandbox или production.
created_at_unixIntegerВременная метка события в секундах.
currencyStringКод валюты (например, «USD») для транзакции. Включается только если выручка превышает 0.001, поскольку Adjust требует одновременной передачи выручки и валюты.
revenueFloatСумма выручки по транзакции. Включается только если значение превышает 0.001. Обратите внимание: события возврата отправляются без параметров выручки, так как Adjust не поддерживает отрицательные значения выручки.
customer_user_idStringCustomer User ID пользователя.
external_device_idStringТо же, что и customer_user_id.
ip_addressStringIP-адрес пользователя (только IPv4).
user_agentStringСтрока User Agent устройства.
adidStringAdjust Device ID (если известен).
android_idStringТолько Android. Google Advertising ID.
gps_adidStringТолько Android. Google Advertising ID.
idfaStringТолько iOS. ID for Advertisers.
idfvStringТолько iOS. ID for Vendors.
callback_paramsStringJSON-строка, содержащая все доступные поля события. Включаются только ненулевые поля.
partner_paramsStringТо же, что и callback_params.

Устранение проблем

Расхождение в данных о доходах

Если между Adapty и Adjust есть расхождение в данных о доходах, это может быть связано с тем, что не все пользователи используют версию приложения с Adapty SDK. Чтобы обеспечить согласованность данных, вы можете обязать пользователей обновить приложение до версии с Adapty SDK.