Apphud – Integrate, analyze and improve subscriptions in your iOS app
Разработка

Новое в iOS 14: ограничения IDFA и SKAdNetwork. Что изменится в Apphud?

В сентябре выйдет iOS 14 и вместе с ней вступят в силу новые правила приватности пользовательских данных. Обновления коснутся рекламного идентификатора IDFA (Identifier for Advertisers), который станет доступен только с согласия пользователя, и фреймворка SKAdNetwork.

Что такое IDFA?

IDFA – это UUID-идентификатор устройства. Он используется для отслеживания источника установки приложения, создания Look-a-like аудиторий и ремаркетинга. IDFA появился в 2016 году вместо Device ID, который ранее был доступен для разработчиков и однозначно идентифицировал устройство. Стремясь обеспечить большую приватность пользователей, Apple ввела рекламный идентификатор, который сбрасывался при переустановке iOS. Его также можно было сбросить вручную или полностью запретить доступ к нему через настройки (Настройки > Конфиденциальность > Реклама). IDFA оставался одинаковым для всех приложений в отличие от IDFV (Identifier for Vendor). Последние 4 года такая схема успешно работала, хотя 10-20% пользователей все же самостоятельно отключали трекинг рекламы.

Что станет с приходом iOS 14?

В iOS 14 IDFA перестанет быть доступен по умолчанию. Если разработчик хочет получить его, он обязан добавить описание в файл Info.plist, где укажет, как именно будет использовать IDFA. И затем самостоятельно запросить его с помощью нового AppTrackingTransparency framework.

В iOS 14 придется обосновывать доступ к IDFA

Пользователи увидят угрожающего вида запрос, похожий на разрешение на отправку уведомлений.

Системный запрос на получение IDFA в iOS 14

Подзаголовок можно поменять, как и в случае с PUSH-уведомлениями. Очевидно, большинство будет запрещать отслеживание. Учитывая высокую скорость обновления пользователями до последней версии iOS, к концу года по разным оценкам IDFA останется доступным лишь на 10-20% устройств.

Что станет с платформами атрибуции?

Маркетинговые платформы: AppsFlyer, Branch, Adjust и другие – будут вынуждены использовать другие способы матчинга, например, соотносить пользователя по IDFV или по технологии Fingerprint, то есть использовать комбинацию IP-адреса, модели устройства, времени тапа по рекламной ссылке и так далее. Это, по нашему мнению, заметно снизит качество атрибуции. Хотя по оценкам Kochava с помощью Fingerprint и IDFV можно достичь показателя точности атрибуции в 98% при сужении временного окна до 15 минут.

Что будет с Self-Attributed Networks (SAN)?

Крупные рекламные сети: Facebook, Google, Snapchat, TikTok – больше не смогут отдавать атрибуцию своим партнерам по IDFA и будут вынуждены использовать другие решения. Fingerprint не поможет, потому что SAN не перенаправляют пользователя в браузер после тапа по рекламе, а сразу отправляют в App Store.

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

Что такое SKAdNetwork?

Еще в Apple представили свое решение на базе фреймворка SKAdNetwork. С помощью него рекламные сети смогут регистрировать неорганические установки, при этом не получая информации о том, кто именно совершил установку. Такой подход имеет серьезные ограничения:

  1. Нет коллбека в реальном времени. Иногда данные будут подтягиваться через 24 часа и даже больше.
  2. Нет view-through атрибуции по установкам и статистики по показам.
  3. Нельзя получить атрибуцию для конкретного пользователя, даже если он разрешил IDFA.
  4. Нельзя узнать количество установок по странам и креативам.
  5. Количество кампаний/креативов ограничено 100.
  6. Нет дополнительных отчетов по конверсиям.
  7. Нельзя точно посчитать LTV/ROI.
  8. Невозможность ремаркетинга.

Кажется, будто Apple решили взять под контроль весь мировой бизнес атрибуции iOS трафика. Впредь они будут сами атрибуцировать установки и отдавать рекламным сетям лишь ту информацию, которую сами сочтут нужной.

Как будут использовать SKAdNetwork?

Такие гиганты, как Facebook, Instagram, Snapchat, должны будут обновить свои iOS приложения и добавить поддержку SKAdNetwork. С помощью фреймворка они будут подписывать рекламные объявления в своих приложениях и по тапу перенаправлять на страницу в App Store со специальным параметром.

Когда пользователь запустит скаченное приложение, вызовется один из двух методов для регистрации установки:

registerAppForAdNetworkAttribution()

или

updateConversionValue(_ conversionValue: Int)

После этого Apple отправит информацию об успешной установке обратно в рекламную сеть. Вероятнее всего вам не придется вручную прописывать эти методы: партнеры по атрибуции выпустят обновленные версии своих SDK с вызовом методов.

Что будут делать платформы атрибуции?

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

Что будет с рынком мобильного трафика?

Есть несколько мнений на этот счет. Одни считают, что изменения в атрибуции повлекут за собой рост CPM из-за ухудшения таргетинга. Небольшие разработчики пострадают больше всего. Они борются за каждый доллар и не смогут позволить себе сливать большие тестовые бюджеты.

Другие, наоборот, думают, что изменения положительно скажутся на небольших разработчиках, потому что все игроки рынка окажутся в одинаковых условиях. Крупным игрокам станет сложнее “выкупать” трафик в App Store за счет вливания огромных средств в рекламу, теперь они будут действовать практически вслепую. Рекламные средства будут сливаться более осторожно, а значит, органический трафик станет более важным. А это на руку качественным приложениям с небольшим бюджетом.

Что станет с Look-a-like таргетингом?

Look-a-like таргетинг – это возможность рекламировать приложение среди пользователей, максимально схожих с целевой аудиторией. Туда обычно включают самых ценных пользователей: например, тех, кто чаще других совершает покупки. В Facebook Ads Manager можно запустить Look-a-like, загрузив CSV-файл со списком идентификаторов целевых пользователей: IDFA, email, номер телефона. Но так как IDFA станет почти недоступным, то и загружать будет нечего. А email-ы и номера телефонов собирают далеко не все приложения.

Будут ли работать отложенные ссылки (Deferred Deep Links)?

Из-за отсутствия IDFA атрибуция, информирующая о наличии отложенной ссылки, будет основана на вероятностном соответствии. Это даст точность до 98% по оценкам Kochava. Получается, в некоторых случаях отложенная ссылка срабатывать не будет.

Как изменения в iOS 14 скажутся на интеграциях Apphud?

С релизом iOS 14 передача событий в системы атрибуции не пострадает: IDFA является необязательным параметром при отправке событий.

Сейчас Apphud получает атрибуцию от партнеров по атрибуции и сохраняет ее у себя. Это нужно, например, чтобы показывать графики выручки или MRR, разбитые по рекламным кампаниям. Осенью мы, как и прежде, продолжим получать данные от партнеров. В некоторых случаях это будут данные только от пользователей, разрешивших IDFA.

Рассмотрим нюансы каждой платформы по отдельности.

AppsFlyer

В AppsFlyer объявили, что будут поддерживать и SKAdNetwork, и вероятностную модель атрибуции. В дашборде AppsFlyer появится дополнительная вкладка SKAdNetwork Overview. Еще AppsFlyer добавит страницу настройки SKAdNetwork, где вы сможете выбрать, какие события и конверсии хотите отслеживать.

Страница настройки SKAdNetwork в AppsFlyer

Интеграция в Apphud будет работать без изменений. Мы по-прежнему будет передавать события в AppsFlyer в полном объеме, ведь для связи Apphud и AppsFlyer используется внутренний AppsFlyer ID, а не IDFA.

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

Adjust

Мы запросили информацию у Adjust, и они подтвердили, что будут продолжать работать в прежнем режиме. Вместо рекламного идентификатора они будут использовать комбинацию IDFV и вероятностной атрибуции. Apphud будет передавать данные в Adjust и получать от них в полном объеме. Для связи между Apphud и Adjust используется внутренний Adjust ID.

Branch

В Branch, как и в Adjust, подтвердили, что будут продолжать работать в прежнем режиме. Вместо рекламного идентификатора они будут использовать комбинацию IDFV и вероятностной атрибуции. Apphud будет передавать данные в Branch в полном объеме.

Недавно мы обновили свою документацию. Рекомендуем добавить одну строчку для улучшения качества атрибуции с Branch:

// Initialize Apphud first, then Branch
Branch.getInstance().setIdentity(Apphud.userID())

При отсутствии IDFA данные будут сопоставляться по IDFV либо внутреннему Branch ID.

Facebook

При отсутствии рекламного идентификатора Apphud использует FB Anonymous ID, по которому данные шлются в Facebook. Интеграция продолжит свою работу в прежнем режиме. В Facebook пока не заявляли о возможном снижении качества атрибуции.

Tenjin

Мы запросили информацию у Tenjin. Они подтвердили, что будут продолжать работать в прежнем режиме. Вместо рекламного идентификатора они будут использовать комбинацию IDFV и вероятностной атрибуции. Apphud будет передавать данные в Tenjin в полном объеме.

Отметим, что Tenjin не поддерживает Facebook в полном объеме: атрибуция работает только через отложенные ссылки. Не исключаем, что Facebook со временем может ввести какие-то ограничения на их использование.

Apple Search Ads

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

Что требуется от вас?

  1. Обновите ApphudSDK до версии 0.17 или выше. Внимание! Начиная с данной версии ApphudSDK больше не получает IDFA автоматически, вместо этого этого появился отдельный метод для передачи рекламного идентификатора в Apphud:
@objc public static func setAdvertisingIdentifier(_ idfa: String)
  1. Добавьте поддержку AppTrackingTransparency (ATT). Добавьте ключ NSUserTrackingUsageDescription (Privacy – Tracking Usage Description) в Info.plist и укажите, для чего вы собираетесь использовать рекламный идентификатор. Можете использовать любой мотивационный текст, который считаете нужным, чтобы повысить процент согласия на трекинг. Например: “To improve advertising of this amazing app to people who really need it.
  2. Самостоятельно запросите IDFA в нужный момент времени и передайте его в Apphud. Рекомендуем дождаться выхода Xcode 12 или Xcode 12 GM, чтобы иметь возможность отправить обновление в App Store с поддержкой AppTrackingTransparency.

Для Xcode 11:

import ApphudSDK
import AdSupport

	// Xcode 11
	func requestIDFA() {
			guard ASIdentifierManager.shared().isAdvertisingTrackingEnabled else {return}
			let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString	
    	Apphud.setAdvertisingIdentifier(idfa)
  }

Для Xcode 12:

#if canImport(AppTrackingTransparency)
    import AppTrackingTransparency
#endif
import AdSupport
import ApphudSDK

	// Xcode 12
	func requestIDFA() {
        if #available(iOS 14.0, *) {
            ATTrackingManager.requestTrackingAuthorization { status in
                guard status == .authorized else {return}
                let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString
                Apphud.setAdvertisingIdentifier(idfa)
            }
        } else {
            guard ASIdentifierManager.shared().isAdvertisingTrackingEnabled else {return}
            let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString
            Apphud.setAdvertisingIdentifier(idfa)
        }
  }
  1. Если вы используете интеграцию с Branch, то добавьте эту строчку при инициализации Branch SDK:
// Initialize Apphud first, then Branch
Branch.getInstance().setIdentity(Apphud.userID())
  1. Регулярно проверяйте обновлениями ваших SDK: Facebook, AppsFlyer, Branch и т.д, а так же следите за их рассылками на email.
  2. Следите за нашими обновлениями в личном кабинете, блоге, а так же в email-рассылках.

Что почитать дополнительно?

Ниже приведены ссылки с дополнительной информацией от маркетинговых платформ: AppsFlyer, Kochava, Adjust, Branch, Tenjin.