IDFA: что это, как работает и запрос разрешения в iOS

Автор: IT Sectr Опубликовано: 2026-05-22 Время чтения: 8 мин

IDFA (Identifier for Advertisers) — это уникальный идентификатор устройства в iOS, предназначенный для рекламных целей и атрибуции установок. С появлением App Tracking Transparency (ATT) в iOS 14.5 получение IDFA требует явного согласия пользователя через системный диалог. По данным Apple App Tracking Transparency Documentation, 2025, без разрешения ATT приложение получает нулевой идентификатор. App Tracking Transparency кардинально изменила экосистему мобильной рекламы, снизив доступность IDFA на 80% после внедрения.

Главное

  • IDFA — рекламный идентификатор iOS для отслеживания пользователей и атрибуции установок приложений.
  • App Tracking Transparency — фреймворк Apple, требующий явного согласия пользователя перед получением IDFA.
  • ATTrackingManager — основной класс iOS для запроса разрешения на отслеживание через requestTrackingAuthorization.
  • SKAdNetwork — альтернативный механизм атрибуции от Apple, не требующий IDFA и согласия пользователя.
  • Privacy Manifest — обязательный файл iOS 18+ с декларацией причин использования рекламного идентификатора.

Что такое IDFA?

IDFA (Identifier for Advertisers) — это уникальный буквенно-цифровой идентификатор, присваиваемый каждому устройству Apple для рекламных целей. В отличие от IDFV (Identifier for Vendor), IDFA единый для всех приложений на устройстве и может быть сброшен пользователем в любой момент через Настройки — Конфиденциальность — Реклама — Сбросить идентификатор.

Основное назначение IDFA — атрибуция установок и отслеживание эффективности рекламных кампаний на устройствах Apple. Рекламные сети используют IDFA для связывания клика по объявлению с установкой приложения, построения профилей пользователей и показа персонализированной рекламы. С момента внедрения ATT процент пользователей, предоставляющих доступ к IDFA, составляет в среднем 20–35% по разным оценкам аналитических платформ.

По данным Flurry Analytics (2025), после iOS 18 adoption rate ATT вырос до 92% активных устройств, но доля пользователей, соглашающихся на отслеживание, снизилась до 22%. Это привело к фундаментальному сдвигу в индустрии мобильной рекламы, заставив рекламные сети искать альтернативные методы атрибуции.

Ключевая особенность IDFA — он не содержит персональных данных пользователя и не связывается с Apple ID. Однако Apple классифицирует его как идентификатор, подлежащий регулированию App Tracking Transparency.

Как работает IDFA и App Tracking Transparency

App Tracking Transparency (ATT) — это фреймворк Apple, представленный в iOS 14.5, который требует явного согласия пользователя перед чтением IDFA. Без согласия метод asIdentifierManager возвращает нулевой идентификатор (00000000-0000-0000-0000-000000000000), и приложение не может отслеживать пользователя.

App Tracking Transparency Framework

ATT реализован через класс ATTrackingManager с единственным публичным методом requestTrackingAuthorization(completionHandler:). При вызове этого метода система отображает нативный диалог с текстом, который разработчик задаёт через ключ NSUserTrackingUsageDescription в Info.plist. Пользователь может выбрать один из трёх вариантов: «Разрешить отслеживание», «Попросить приложение не отслеживать» или «Отклонить».

Статус авторизации отслеживается через ATTrackingManager.trackingAuthorizationStatus, который может принимать четыре значения: notDetermined, restricted, denied или authorized. Перед запросом ATT рекомендуется проверять текущий статус и не вызывать диалог, если статус уже определён — начиная с iOS 17, повторный вызов requestTrackingAuthorization при статусе denied не показывает диалог и возвращает ошибку.

Когда запрашивать разрешение

Время запроса ATT критически влияет на процент согласий. Исследования Singular (2025) показывают, что запрос ATT на экране онбординга (при первом запуске) даёт конверсию 35–45%, тогда как запрос после завершения какого-либо действия (например, после регистрации) повышает конверсию до 55–65%. Рекомендуется показывать pre-permission экран с собственным дизайном и объяснением ценности отслеживания для пользователя перед системным диалогом ATT.

Важно: приложение может вызвать requestTrackingAuthorization только один раз до получения ответа. После того как пользователь выбрал «Отклонить» или «Попросить не отслеживать», диалог больше не отображается на устройстве. Разработчик должен предусмотреть fallback-механизмы для работы без IDFA, чтобы приложение продолжало корректно функционировать в условиях ограниченного трекинга.

Требования iOS 18+ к отслеживанию

С выходом iOS 18 Apple ужесточила требования к приложениям, использующим рекламный идентификатор. Все приложения, которые запрашивают IDFA или передают данные об устройстве для рекламных целей, должны соответствовать новым правилам App Store. Несоблюдение требований ведёт к отклонению сборки на этапе модерации App Store Connect.

Privacy Manifest и отслеживание

Начиная с iOS 18, каждое приложение обязано включать Privacy Manifest (файл privacy.xcprivacy) с декларацией всех API, используемых для отслеживания. Для IDFA используется ключ NSPrivacyTracking и NSPrivacyTrackingDomains, где указываются домены рекламных сетей, которым передаётся идентификатор. Без корректного манифеста приложение отклоняется модерацией App Store Connect.

Apple также ввела требование обязательного указания причины использования рекламного идентификатора в описании приложения. Если приложение использует IDFA для атрибуции установок, оно должно использовать SKAdNetwork как основной метод, а IDFA — только как дополнительный сигнал для повышения точности атрибуции.

Альтернативы IDFA

С ростом ограничений на IDFA индустрия разработала несколько альтернативных подходов. SKAdNetwork (StoreKit Ad Network) — официальный механизм атрибуции от Apple, который работает без IDFA и не требует согласия пользователя. SKAdNetwork использует подписанные postback-запросы между рекламной сетью и App Store, гарантируя приватность пользователя.

Другие альтернативы включают: вероятностную атрибуцию на основе IP-адреса, версии ОС и других сигналов устройства; приватные агрегированные API, такие как Private Click Measurement (PCM) от WebKit; и собственные решения рекламных платформ, использующие машинное обучение для предсказания конверсий. Для китайского рынка также используется CAID (Cellular Advertising ID), основанный на данных мобильной сети оператора.

Примеры кода для запроса IDFA

Реализация запроса IDFA требует интеграции App Tracking Transparency и правильной обработки всех возможных статусов авторизации. Ниже приведён полный пример для Swift с pre-permission экраном.

Запрос ATT на Swift

Пример демонстрирует полный цикл работы с IDFA: проверку статуса, отображение pre-permission экрана, вызов системного диалога ATT и получение идентификатора после авторизации.

swift
import AppTrackingTransparency
import AdSupport

func requestIDFAAccess() {
    let status = ATTrackingManager.trackingAuthorizationStatus

    switch status {
    case .notDetermined:
        // Показываем pre-permission экран с объяснением
        showPrePermissionScreen { accepted in
            guard accepted else { return }
            ATTrackingManager.requestTrackingAuthorization { newStatus in
                handleATTStatus(newStatus)
            }
        }
    case .authorized:
        // Пользователь уже дал согласие — получаем IDFA
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        print("IDFA: \(idfa.uuidString)")
    case .denied, .restricted:
        // Перенаправляем пользователя в настройки
        redirectToSettings()
    @unknown default:
        break
    }
}

private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
    if status == .authorized {
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        // Передаём IDFA в рекламную сеть
        sendIDFAToAdNetwork(idfa.uuidString)
    }
}

Стратегии работы без IDFA

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

SKAdNetwork и атрибуция

SKAdNetwork (SKAN) — это фреймворк Apple для атрибуции установок, который не требует IDFA и не показывает диалог согласия. Рекламная сеть регистрирует свой SKAdNetwork ID в Info.plist приложения, и после установки App Store отправляет подписанный postback с информацией о кампании. SKAN 4.0, представленный в iOS 17, поддерживает multiple conversions, source identifiers и coarse-grained conversion values.

Ограничения SKAN: задержка postback от 24 до 48 часов, отсутствие идентификатора пользователя, ограниченное количество conversion values (до 64). Несмотря на это, SKAN стал стандартом де-факто для iOS-атрибуции после внедрения ATT, и все крупные рекламные сети обязаны поддерживать его для работы на устройствах Apple.

Прогнозируемые идентификаторы

Рекламные сети, такие как Meta и Google, разработали собственные решения на основе машинного обучения, которые предсказывают конверсии без идентификатора пользователя. Meta Aggregated Events Measurement (AEM) использует агрегированные данные для атрибуции, а Google Attribution моделирует конверсии на основе исторических данных.

Для разработчика важно внедрить множественные методы атрибуции одновременно: SKAdNetwork как основной, серверную атрибуцию через рекламные сети и собственные аналитические инструменты с моделированием конверсий. Комбинация методов позволяет восстановить до 70–80% точности атрибуции по сравнению с эпохой IDFA. Рекомендуется тестировать разные комбинации методов на этапе бета-тестирования, чтобы выбрать оптимальный набор для конкретного приложения и целевой аудитории.

Часто задаваемые вопросы

Что такое IDFA простыми словами?

IDFA — это уникальный код устройства iPhone или iPad, который рекламные сети используют для показа персонализированной рекламы и измерения эффективности кампаний. С iOS 14.5 приложение обязано запросить ваше разрешение перед получением IDFA через системный диалог App Tracking Transparency.

В чём разница между IDFA и IDFV?

IDFV (Identifier for Vendor) — это идентификатор, уникальный для всех приложений одного разработчика на устройстве. В отличие от IDFA, IDFV не требует согласия ATT и доступен всегда. IDFA единый для всех приложений, IDFV — только для приложений одного вендора (по bundle ID).

Как получить IDFA без согласия пользователя?

Получить IDFA без согласия пользователя невозможно. Начиная с iOS 14.5, ASIdentifierManager.advertisingIdentifier возвращает нулевой идентификатор (00000000-0000-0000-0000-000000000000), если пользователь не дал согласие через ATT. Единственный легальный способ — вызвать ATTrackingManager.requestTrackingAuthorization и получить authorized статус.

Что такое NSUserTrackingUsageDescription?

NSUserTrackingUsageDescription — это ключ в Info.plist приложения, который содержит текст, отображаемый в системном диалоге ATT. Текст должен объяснять пользователю, зачем приложению нужно отслеживание. Пример: «Ваш IDFA используется для показа персонализированной рекламы и измерения эффективности кампаний».

Работает ли IDFA на Android?

Нет, IDFA — это эксклюзивный идентификатор экосистемы Apple. На Android используется GAID (Google Advertising ID) или AAID (Android Advertising ID). Оба выполняют аналогичную функцию, но регулируются разными правилами — на Android пользователь может сбросить идентификатор или отключить персонализацию рекламы в настройках Google.

Итоги

  • IDFA — рекламный идентификатор устройств Apple, используемый для атрибуции и персонализированной рекламы.
  • App Tracking Transparency — фреймворк iOS 14.5+, требующий явного согласия пользователя перед получением IDFA.
  • ATTrackingManager — основной класс для запроса разрешения на отслеживание в iOS.
  • SKAdNetwork — альтернативный механизм атрибуции от Apple, не требующий согласия пользователя и IDFA.
  • Privacy Manifest — обязательный файл iOS 18+ с декларацией причин использования рекламного идентификатора.
  • Pre-permission экран — собственный диалог с объяснением перед системным ATT, повышающий конверсию до 55–65%.
  • Множественная атрибуция — комбинация SKAdNetwork, вероятностных методов и машинного обучения для восстановления точности измерения кампаний.

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также