App Tracking Transparency это системный запрос iOS, без которого приложение не может отслеживать человека в чужих приложениях и на сайтах и не получает его идентификатор рекламы. Правило действует с iOS 14.5, вышедшей 26 апреля 2021 года, а без согласия IDFA приходит из одних нулей.
Что Apple считает отслеживанием
Отслеживание по определению Apple это связь данных о человеке или устройстве из вашего приложения с данными из чужих приложений, сайтов и офлайн-источников ради таргетированной рекламы или её измерения. Передача данных брокеру данных тоже отслеживание.
- Отслеживание. Реклама в приложении по данным, собранным в приложениях и на сайтах других компаний. Список почтовых адресов или рекламных идентификаторов, отправленный рекламной сети для повторного показа. SDK, который смешивает данные вашего приложения с данными чужих, даже если вы сами его для этого не используете.
- Не отслеживание. Данные связываются только на устройстве и не уходят с него в виде, по которому можно узнать человека. Брокер получает данные только для защиты от мошенничества. Данные уходят в бюро кредитных историй для оценки платёжеспособности.
Если приложение не соединяет свои данные с чужими и не передаёт их брокерам, системный запрос ему не нужен.
Где это в Xcode и в коде
В Xcode откройте цель приложения, вкладку Info, и добавьте ключ NSUserTrackingUsageDescription с короткой фразой, зачем нужно разрешение. Имя приложения система подставит сама. Без этого ключа приложение падает при первом обращении к фреймворку.
В коде окно показывает ATTrackingManager.requestTrackingAuthorization, а текущий ответ хранит свойство trackingAuthorizationStatus. Статусов четыре, authorized, denied, notDetermined и restricted. В App Store Connect отслеживание отражается в анкете App Privacy, в блоке Data Used to Track You на этикетке приватности.
Сроки и числа Apple
| Что | Как у Apple |
|---|---|
| Разрешение обязательно | с iOS 14.5, iPadOS 14.5 и tvOS 14.5, выпуск 26 апреля 2021 года |
| IDFA без согласия | 00000000-0000-0000-0000-000000000000 |
| IDFA всегда из нулей | в симуляторе, на Mac и у приложений для iPhone и iPad внутри visionOS |
| Статусов ответа | 4 |
| Повторный запрос в ЕС | через год после ответа, если человек не выключил запросы в Настройках |
| Полноэкранный лист вместо окна | во Франции, Германии, Италии, Польше и Румынии |
| Другой вид запроса в ЕС | по выбору разработчика, начиная с iOS 27.2 и iPadOS 27.2 |
| Награда за согласие | не допускается, правило 5.1.2(i) |
По данным страницы Apple об отслеживании, документации App Tracking Transparency, описания advertisingIdentifier и новости Apple от 26.04.2021, проверено 16.10.2026.
Как показать запрос по шагам
- Сверьтесь с определением Apple. Если ваши SDK не связывают данные с чужими и вы ничего не передаёте брокерам, запрос не нужен. Лишнее системное окно при первом запуске только мешает.
- Добавьте NSUserTrackingUsageDescription и напишите, что человек получит, например «Реклама будет ближе к вашим интересам».
- Вызывайте запрос, когда приложение активно. В другом состоянии система ответит сразу и окна не покажет. Удобный момент после онбординга, когда человек уже понял, зачем ему приложение.
- Обработайте ответ. authorized открывает IDFA, denied и restricted оставляют нули, notDetermined значит, что окно закрылось без решения, и вызов можно повторить.
- Отметьте данные для отслеживания в App Privacy и перечислите домены в NSPrivacyTrackingDomains манифеста приватности. Пока согласия нет, запросы к этим доменам не проходят.
- Читайте advertisingIdentifier каждый раз заново. Человек может передумать в Настройках › Конфиденциальность и безопасность › Отслеживание, поэтому Apple советует значение не хранить.
Частые ошибки
- Подарок за согласие. Правило 5.1.2(i) не допускает, чтобы функции, контент, деньги, подарочные карты или коды зависели от разрешения отслеживать.
- Другой идентификатор вместо IDFA. Хеш почты или телефона без согласия Apple тоже считает отслеживанием, смена идентификатора ничего не меняет.
- Отпечаток устройства. Признаки браузера, настроек, сети и местоположения нельзя собирать, чтобы узнать устройство, даже после согласия. Приложение, которое так делает само или через SDK, Apple может не принять.
- Проверка в симуляторе. Там IDFA всегда из нулей, какой бы ответ вы ни дали. Проверяйте на iPhone, например через TestFlight.
Сколько раз можно спросить
Общего лимита Apple не называет, но окно появляется не всегда. Система отвечает без окна, если отслеживание ограничено на устройстве, если человек выключил «Разрешать приложениям запрашивать отслеживание», если прошлый запрос ещё ждёт ответа и если приложение не активно. Если человек закрыл окно без решения, статус остаётся notDetermined, и спросить можно снова.
В Евросоюзе после любого ответа система запоминает дату и год не показывает запрос. Через год можно спросить ещё раз, согласился человек в прошлый раз или нет. С iOS 27.2 в ЕС можно показать полноэкранный лист с текстом в разметке Markdown и кнопкой Additional Information для подробностей.
Appto считает варианты онбординга и пейвола анонимными счётчиками показов и нажатий на вашем сервере, без идентификатора устройства и адреса. Подробнее на странице об онбординге и пейволах.
Вопросы
Что будет, если человек откажет в отслеживании?
Статус станет denied, IDFA придёт из нулей, и отслеживать человека другими идентификаторами тоже нельзя. Функции приложения от ответа зависеть не должны.
С какой версии iOS нужен запрос ATT?
С iOS 14.5, iPadOS 14.5 и tvOS 14.5, обновление вышло 26 апреля 2021 года. С тех пор без согласия нельзя ни отслеживать, ни читать идентификатор рекламы.
Можно ли показать запрос ещё раз?
Если окно закрылось без ответа, да. В Евросоюзе после ответа спросить снова можно через год, если человек не выключил такие запросы в Настройках.
Нужен ли ATT, если в приложении нет рекламы?
Нужен, только если вы связываете данные с данными других компаний или передаёте их брокерам. Аналитика для своего приложения отслеживанием не считается, если её SDK не отдаёт данные для чужой рекламы.
Где ключ NSUserTrackingUsageDescription?
В свойствах цели приложения, в Xcode на вкладке Info. Текст нужен короткий и конкретный, имя приложения система добавит сама.
Сделайте своё приложение в Appto
Appto сама проверит нишу по свежим данным App Store, нарисует экраны, напишет код, оформит страницу в App Store и отправит в Apple с вашего аккаунта или покажет, что нажать в App Store Connect. Работает на вашем Claude Code или Codex.
Скачать для Mac