Apphud – integrate, analyze and improve in-app purchases and subscriptions in your iOS/Android apps

Маркетинг

Отслеживание Apple Search Ads кампаний без IDFA

Всем привет! В последнее время у нас появляется много обновлений, о которых вы могли читать в наших email рассылках: A/B тестирование пейволов, интеграция с Firebase и многое другое. Однако рассмотрим подробнее одну из функций, которая полноценно поддерживается в Apphud – новая атрибуция Apple Search Ads, которая доступна с iOS 14.3, работает без доступа к IDFA с помощью Apple Ads Attribution API и AdServices framework.

Apple Ads Attribution API

Новый AdServices фреймворк позволяет получить токен устройства, используемый в Apple Ads Attribution API. С помощью данного API можно атрибуцировать установки из ваших Apple Search Ads кампаний.

Взаимодействие между Apple Ads Attribution API и AdServices framework
Взаимодействие между Apple Ads Attribution API и AdServices framework

В зависимости от того, дал ли пользователь согласие на ATT отслеживание, будет отдаваться полный или неполный вариант атрибуции.

Полный вариант атрибуции выглядит следующий образом:

{
 "attribution": true,
 "orgId": 40669820,
 "campaignId": 542370539,
 "conversionType": "Download",
 "clickDate": "2020-04-08T17:17Z",
 "adGroupId": 542317095,
 "countryOrRegion": "US",
 "keywordId": 87675432,
 "creativeSetId": 542317136
}

А неполный вариант атрибуции выглядит так:

{
 "attribution": true,
 "orgId": 40669820,
 "campaignId": 542370539,
 "conversionType": "Download",
 "adGroupId": 542317095,
 "countryOrRegion": "US",
 "keywordId": 87675432,
 "creativeSetId": 542317136
}

Как видим, отличие только в clickDate. Но так как дату установки можно легко определить по App Store чеку или времени первого запуска, то по факту атрибуция работает для всех установок независимо от статуса ATT. Заманчиво, не правда ли?

Преобразование идентификаторов кампаний

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

Процесс выглядит следующим образом:

  • Создание нового пользователя в Apple Search Ads кабинете с API правами доступа.
  • Генерация пары публичный-приватный ключ.
  • Загрузка публичного ключа в настройки Apple Search Ads из под пользователя с API правами доступа.
  • Получение Client Secret, Team ID, Key ID
  • Запрос Access Token по данным значениям.

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

Как работает Apple Search Ads атрибуция без IDFA в Apphud?

Подключить новую интеграцию с Apple Search Ads в Apphud легко, так как сервис делает все за вас:

  • Cгенерирует публичный ключ, который необходимо будет вставить в настройки пользователя Apple Search Ads с API правами доступа.
  • Самостоятельно запросит access token по полученным Client Secret, Team ID, Key ID.
  • Преобразовывает идентификаторы кампаний и кейвордов в названия.
  • Отображает готовую атрибуцию на странице пользователя.
  • Строит графики по Apple Search Ads кампаниям.
  • Работает в режиме реального времени.
  • Не требует настройки SKAdNetwork и вызова updateConversionValue.
Страница пользователя в Apphud, пришедшего из Apple Search Ads кампании
Страница пользователя в Apphud, пришедшего из Apple Search Ads кампании
Анализируйте Apple Search Ads кампании в Apphud в реальном времени
Анализируйте Apple Search Ads кампании в Apphud в реальном времени

Со стороны приложения достаточно вызвать один метод для передачи токена в Apphud SDK.

import AdServices
import iAd // optional

private func trackAppleSearchAds() {
       if #available(iOS 14.3, *) {
           DispatchQueue.global(qos: .default).async {
               if let token = try? AAAttribution.attributionToken() {
                   DispatchQueue.main.async {
                       Apphud.addAttribution(data: nil, from: .appleAdsAttribution, identifer: token, callback: nil)
                   }
               }
           }
       } else {
       // optional: send old Search Ads attribution data from older iOS versions
           ADClient.shared().requestAttributionDetails { data, _ in
               data.map { Apphud.addAttribution(data: $0, from: .appleSearchAds, callback: nil) }
           }
       }
   }

Более подробно с интеграцией можно ознакомиться в нашей документации.

Хорошего дня!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *