What’s new in Apphud: Free Trials Performance Report, Paddle Integration, SDK Updates, and moreLet’s see
Apphud
Why Apphud?PricingContact
Ren
Ren
October 19, 2021
1 min read

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

Рассмотрим подробнее функцию, которая полноценно поддерживается в Apphud – атрибуция Apple Search Ads, которая доступна с iOS 14.3, работает без доступа к IDFA с помощью Apple Ads Attribution API и AdServices framework.

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

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 правами доступа.Automatically retrieves access token and campaign names.
  • Самостоятельно запросит 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) }  
            }  
        }  
    }

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

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

Ren
Ren
Co-founder at Apphud
Ex iOS app and game developer. 11 years in the industry since iOS 3. More than 50 apps are in the background with 4 exits. Entrepreneur and traveler.

Related Posts