Руководство для разработчиков по проведению рекламных аукций на устройствах для показа ремаркетинга и создания пользовательских аудиторий без отслеживания сторонними сервисами на разных сайтах.
Тем, кто впервые сталкивается с API защищенной аудитории, рекомендуем ознакомиться с обзором API защищенной аудитории для получения общего объяснения работы API.
Эта статья написана для разработчиков в качестве технического справочника по последней версии экспериментального API защищенной аудитории. Доступна демонстрация базового развертывания API защищенной аудитории, а также справочники API для покупателей и продавцов рекламы .
Статус реализации
- Предложение по API для защищённой аудитории теперь становится общедоступным . Задавайте вопросы и следите за обсуждениями .
- Статус ожидающих возможностей Protected Audience API содержит подробную информацию об изменениях и улучшениях API и функций Protected Audience API.
- Статус мигания
- Статус защищенного API аудитории на платформе Chrome : относится к защищенному API аудитории на Chrome.
- API рекламы Статус платформы Chrome : Набор API для упрощения рекламы: API защищенной аудитории, темы, защищенные фреймы и отчеты об атрибуции.
Чтобы получать уведомления об изменениях статуса API, подпишитесь на рассылку для разработчиков .
Что такое API для защищенной аудитории?
API защищенной аудитории — это API- интерфейс для обеспечения конфиденциальности , предназначенный для ремаркетинга и создания пользовательских аудиторий. Он разработан таким образом, чтобы сторонние организации не могли отслеживать поведение пользователей при просмотре веб-сайтов. API позволяет браузеру проводить аукционы на устройстве, выбирая релевантную рекламу для сайтов, которые пользователь посещал ранее.
API для защищенной аудитории — это первый эксперимент, реализованный в Chromium в рамках семейства предложений TURTLEDOVE .
Попробуйте API защищенной аудитории.
Доступная справочная информация по API
Этот документ представляет собой обзор API для работы с защищенной аудиторией. Если вам нужны конкретные методы и параметры API:
- Руководство для покупателей по
joinAdInterestGroup()иgenerateBid(). - Руководство для продавцов по API защищенной аудитории
runAdAuction() - Руководство для покупателей по функции
reportWin()и руководство для продавцов поreportResult() - Устранение неполадок API защищенной аудитории
Вы также можете ознакомиться с рекомендациями по снижению задержки при проведении аукциона рекламы с использованием Protected Audience API .
Демонстрация API для защищенной аудитории
Пошаговое руководство по развертыванию базового API защищенной аудитории на сайтах рекламодателей и издателей доступно по адресу protected-audience-demo.web.app/ .
Протестируйте этот API
Вы можете протестировать API защищенной аудитории для одного пользователя в Chrome Beta 101.0.4951.26 и выше на настольных компьютерах:
- Включите все API для защиты конфиденциальности рекламы по адресу
chrome://settings/adPrivacy. - Устанавливайте флаги из командной строки . Полный список доступных флагов API для защищенной аудитории можно найти в поиске кода Chromium .
Отображение рекламы во фреймах или фреймах с ограждением
Реклама может отображаться в <iframe> или <fencedframe> , в зависимости от установленных флагов.
Чтобы использовать <fencedframe> для отображения рекламы:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
Чтобы использовать <iframe> для показа рекламы:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
Добавьте флаг BiddingAndScoringDebugReportingAPI , чтобы включить временные методы отладки для составления отчетов о проигрышах/выигрышах .
Поддерживаемые функции
Использование API защищенной аудитории за флагами функций в Chromium — это первый эксперимент по тестированию следующих возможностей API защищенной аудитории:
- Группы интересов : хранятся в браузере вместе с соответствующими метаданными для настройки ставок и отображения рекламы.
- Торги на устройстве, осуществляемые покупателями (DSP или рекламодателем) : на основе сохраненных групп интересов и сигналов от продавца.
- Выбор рекламы продавцом (SSP или издателем) непосредственно на устройстве : на основе ставок на аукционе и метаданных от покупателей.
- Отображение рекламы во временно упрощенной версии Fenced Frames : разрешен доступ к сети и ведение журналов для отображения рекламы.
Подробнее о поддержке функций и ограничениях можно прочитать в пояснительной статье к API защищенной аудитории .
Разрешения для групп по интересам
В текущей реализации API защищенной аудитории по умолчанию разрешен вызов функции joinAdInterestGroup() из любой точки страницы, даже из iframe-элементов, расположенных в разных доменах.
В будущем, когда владельцы сайтов обновят свои политики разрешений для междоменных iframe, планируется запретить вызовы из междоменных iframe.
Сервис «Ключ/Значение»
Для поддержки аукциона рекламы с использованием API защищенной аудитории браузер может получить доступ к сервису «ключ/значение» для получения информации в реальном времени, которая поддерживает аукцион рекламы с использованием API защищенной аудитории. Эта информация может быть использована несколькими способами:
- Покупателям, возможно, захочется рассчитать оставшийся бюджет рекламной кампании.
- Продавцы могут быть обязаны проверять рекламные материалы на соответствие правилам издателя.
Код сервиса API «Защищенная аудитория» (ключ/значение) теперь доступен. Следите за обновлениями в блоге, посвященном этому объявлению.
Для первоначального тестирования была внедрена модель " используйте собственный сервер ". В долгосрочной перспективе специалистам по рекламным технологиям потребуется использовать сервисы API с открытым исходным кодом, использующие ключ/значение защищенной аудитории и работающие в доверенных средах выполнения.
Актуальную информацию о сроках можно найти в публикации в блоге, посвященной сервисам API для защищенной аудитории . Мы предоставим разработчикам достаточно времени для начала тестирования и внедрения до начала этого перехода.
Обнаружение поддержки функций
Перед использованием API убедитесь, что он поддерживается браузером и указан в документации:
'joinAdInterestGroup' in navigator &&
document.featurePolicy.allowsFeature('join-ad-interest-group') &&
document.featurePolicy.allowsFeature('run-ad-auction') ?
console.log('navigator.joinAdInterestGroup() is supported on this page') :
console.log('navigator.joinAdInterestGroup() is not supported on this page');
Как работает API для защищенной аудитории?
В этом примере пользователь просматривает веб-сайт производителя велосипедов на заказ, а затем заходит на новостной сайт и видит рекламу нового велосипеда от этого производителя.
Функционал API для защищенной аудитории будет добавляться постепенно по мере продвижения работы над его внедрением.
1. Пользователь посещает сайт рекламодателя.

Представьте, что пользователь заходит на сайт производителя велосипедов на заказ (в данном примере — рекламодателя) и проводит некоторое время на странице товара — стального велосипеда ручной работы. Это предоставляет производителю велосипедов возможность для ремаркетинга .
2. В браузере пользователя запрашивается добавление группы по интересам.

Платформа со стороны спроса (DSP) рекламодателя (или сам рекламодатель) вызывает navigator.joinAdInterestGroup() , чтобы запросить у браузера добавление группы интересов в список групп, членом которых является браузер.
В этом примере группа называется custom-bikes , а её владельцем является dsp.example . Владелец группы интересов (в данном случае, DSP) будет покупателем на аукционе рекламы Protected Audience API. Членство в группе интересов хранится браузером на устройстве пользователя и не передаётся поставщику браузера или кому-либо ещё.
- Ознакомьтесь с пояснением к API защищенной аудитории : Браузеры записывают группы интересов .
- Ознакомьтесь с руководством по API : покупатели и DSP, узнайте, как
joinAdInterestGroup()и генерировать ставки.
Укажите целевую аудиторию для показа рекламы.
Объекты ads и adComponents содержат URL-адрес рекламного креатива и, при необходимости, произвольные метаданные, которые могут использоваться во время торгов. Например:
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
Как покупатели делают ставки?
generateBid() вызывается для каждой группы интересов, членом которой является браузер, — если владелец группы интересов приглашен к участию в торгах.
Ознакомьтесь с документацией для разработчиков по функции generatedBid() .
3. Пользователь посещает сайт, который продает рекламное место.

Позже пользователь посещает сайт, который продает рекламное пространство, в данном случае новостной сайт. Сайт располагает рекламным инвентарем, который он продает программным способом с помощью торгов в реальном времени.
4. В браузере запускается аукцион рекламы.

Аукцион рекламы, скорее всего, будет проводиться поставщиком услуг размещения рекламы (SSP) издателя или самим издателем. Цель аукциона — выбрать наиболее подходящую рекламу для единственного доступного рекламного места на текущей странице. Аукцион учитывает группы интересов, к которым принадлежит пользователь, а также данные покупателей рекламных мест и продавцов из сервисов Key/Value .
- Ознакомьтесь с пояснениями к API защищенной аудитории : Продавцы проводят аукционы на своих устройствах.
- Ознакомьтесь с руководством по API : продавцы могут узнать больше о
runAdAuction()и лучших практиках снижения задержки при проведении рекламных аукционов .
5. Продавец и участвующие покупатели запрашивают данные в режиме реального времени у сервиса «Ключ/Значение».

В ходе рекламного аукциона продавец может запросить данные в реальном времени о конкретных рекламных креативах, отправив запрос к своему сервису Key/Value . Продавец может запросить эту информацию во время runAdAuction() через свойство trustedScoringSignalsUrl , а также ключи из свойств renderUrl всех записей в полях ads и adComponents всех групп интересов в аукционе.
Покупатель может запросить данные в режиме реального времени из своего сервиса «Ключ/Значение», используя свойства trustedBiddingSignalsUrl и trustedBiddingSignalsKeys аргумента группы интересов, передаваемого в функцию navigator.joinAdInterestGroup() .
При вызове функции runAdAuction() браузер отправляет запрос на доверенный сервер каждого покупателя рекламы. URL-адрес запроса может выглядеть следующим образом:
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- Базовый URL-адрес берется из
trustedBiddingSignalsUrl. - Имя
hostnameпредоставляется браузером. - Значение
keysберется изtrustedBiddingSignalsKeys.
В ответ на этот запрос предоставляется JSON-объект, содержащий значения для каждого из ключей.
- Ознакомьтесь с пояснением к API защищенной аудитории : Получение данных в реальном времени из сервиса «ключ/значение» API защищенной аудитории .
- Ознакомьтесь с информацией об открытом исходном коде сервиса API «Ключ/Значение для защищенной аудитории» .
6. Отображается объявление-победитель.

Промис, возвращаемый функцией runAdAuction(), разрешается в объект конфигурации фрейма с ограничением доступа ( FencedFrameConfig ), если флаг resolveToConfig установлен в true в конфигурации аукциона. Конфигурация фрейма используется фреймом с ограничением доступа для перехода к выигрышному объявлению, но URL-адрес объявления не виден встраивающему фрейму.
Объект конфигурации FencedFrameConfig доступен начиная с M114. Более подробную информацию об объекте FencedFrameConfig можно найти в статье блога Chrome .
- Ознакомьтесь с пояснением к API защищенной аудитории : браузеры отображают выигрышную рекламу.
7. Результаты аукциона сообщаются.
В долгосрочной перспективе планируется разрешить браузеру сообщать результаты аукционов продавцам и покупателям, используя API частной агрегации .
В качестве временного механизма формирования отчетов на уровне событий, код, реализующий reportResult() для продавца и reportWin() для победившего участника торгов, может вызывать функцию sendReportTo() . Эта функция принимает один аргумент: строку, представляющую URL-адрес, который загружается после завершения аукциона и содержит информацию об уровне событий, подлежащую отчетности.
- Ознакомьтесь с руководством по API : узнайте о формировании отчетов для продавцов и покупателей.
8. Сообщается о клике по рекламе.

Сообщается о клике по объявлению, отображаемому во фрейме. Подробнее о том, как это может работать, см. в разделе «Отчеты по объявлениям во фреймах» .

В чём разница между API для защищённой аудитории и TURTLEDOVE?
API для защищенной аудитории — это первый эксперимент, реализованный в Chromium в рамках семейства предложений TURTLEDOVE.
API защищенной аудитории следует основным принципам TURTLEDOVE. Некоторые виды онлайн-рекламы основаны на показе объявления потенциально заинтересованному человеку, который ранее взаимодействовал с рекламодателем или рекламной сетью. Исторически это работало за счет распознавания рекламодателем конкретного человека во время просмотра веб-сайтов, что является ключевой проблемой конфиденциальности в современном интернете.
Проект TURTLEDOVE направлен на создание нового API для решения этой задачи, а также на обеспечение ряда важных мер по защите конфиденциальности:
- Информация о том, что, по мнению рекламодателя, может заинтересовать человека, хранится в браузере, а не у рекламодателя.
- Рекламодатели могут показывать рекламу на основе интересов пользователя, но не могут объединять эти интересы с другой информацией о человеке — в частности, с тем, кто он или какую страницу посещает.
API для защиты аудитории вырос из проекта TURTLEDOVE и ряда связанных с ним предложений по модификации, призванных лучше удовлетворять потребности разработчиков, которые будут использовать этот API:
- В SPARROW компания Criteo предложила добавить сервисную модель («привратник»), работающую в доверенной среде выполнения (TEE) . API защищенной аудитории включает в себя более ограниченное использование TEE для поиска данных в реальном времени и агрегированной отчетности.
- В предложениях NextRoll TERN и Magnite PARRROT описаны различные роли покупателей и продавцов в аукционе на устройстве. Процесс торгов и оценки рекламы в API Protected Audience основан на этой работе.
- Модификации TURTLEDOVE, разработанные RTB House и учитывающие результаты и характеристики продукта, улучшили модель анонимности и возможности персонализации аукциона на устройстве.
- PARAKEET — это предложение Microsoft по созданию рекламного сервиса, подобного TURTLEDOVE, который использует прокси-сервер, работающий в TEE между браузером и поставщиками рекламных технологий, для анонимизации рекламных запросов и обеспечения конфиденциальности. API Protected Audience не использует эту модель проксирования. Мы приводим в соответствие JavaScript API для PARAKEET и API Protected Audience, чтобы в будущем объединить лучшие функции обоих предложений.
API защищенной аудитории пока не предотвращает получение рекламной сетью сайта информации о том, какие объявления видит пользователь. Мы планируем со временем изменить API, чтобы сделать его более приватным.
Можно ли использовать API тем совместно с API защищенной аудитории?
Да. Наблюдаемая тема для текущего пользователя, предоставляемая API тем , может быть использована продавцом или участником торгов в качестве контекстной информации. Тема может быть включена в следующие свойства:
-
auctionSignals— свойство объекта конфигурации аукциона, передаваемое вnavigator.runAdAuction() -
userBiddingSignals— свойство объекта конфигурации группы интересов, передаваемое вnavigator.joinAdInterestGroup()
Доступные настройки браузера
Пользователи могут настроить свое участие в тестах Privacy Sandbox в Chrome, включив или отключив соответствующую настройку в chrome://settings/adPrivacy .
На начальном этапе тестирования пользователи смогут использовать эту настройку «песочницы конфиденциальности» высокого уровня, чтобы отказаться от использования API защищенной аудитории. Chrome планирует предоставить пользователям возможность просматривать и управлять списком групп интересов, в которые они были добавлены на посещаемых ими веб-сайтах. Как и в случае с самими технологиями «песочницы конфиденциальности», пользовательские настройки могут изменяться с учетом отзывов пользователей, регулирующих органов и других заинтересованных сторон.
Мы продолжим обновлять доступные настройки в Chrome на основе тестов и отзывов . В будущем мы планируем предложить более детальные настройки для управления API защищенной аудитории и связанными с ним данными.
Пользователи, использующие API, не могут получить доступ к информации о членстве в группах, когда просматривают сайт в режиме инкогнито, а членство удаляется, когда пользователи очищают данные сайта.
Кэшируются ли в браузере рабочие модули для защищенной аудитории?
Ресурсы, содержащие рабочие модули для защищенной аудитории — рабочие модули генерации ставок и формирования отчетов для покупателей, а также рабочие модули оценки и формирования отчетов для продавцов — кэшируются браузером. Вы можете использовать заголовок Cache-Control для управления поведением кэширования.
Принимайте участие и делитесь отзывами.
Получить поддержку
Чтобы задать вопросы и получить поддержку по вашей реализации, демонстрации или документации:
- GitHub : Прочитайте пояснение , задавайте вопросы и участвуйте в обсуждении .
- Демонстрация : Создайте заявку в репозитории демонстрационного кода .
- Реализация в Chrome : если у вас возникли ошибки или проблемы с реализацией API Protected Audience в Chrome, вы можете просмотреть существующие проблемы или создать новую .
По более общим вопросам, касающимся удовлетворения ваших потребностей с помощью API защищенной аудитории, создайте заявку в репозитории API . Вы также можете обсудить примеры использования в отрасли в группе W3C по улучшению бизнес-моделей веб-рекламы .
Используйте форму обратной связи в «Песочнице конфиденциальности», чтобы конфиденциально поделиться своим мнением с командой Chrome вне публичных форумов.
Уклоняться
Хотите отказаться от использования API для защищенной аудитории? Узнайте, как заблокировать доступ к API для защищенной аудитории , будь вы владельцем сайта или отдельным пользователем.
Получайте обновления
- Чтобы получать уведомления об изменениях статуса API, подпишитесь на рассылку для разработчиков .
- Чтобы внимательно следить за всеми текущими обсуждениями API, нажмите кнопку « Следить» на странице API на GitHub . Для этого вам потребуется иметь или создать учетную запись GitHub .
- Чтобы получать общие обновления о работе «Песочницы конфиденциальности», подпишитесь на RSS-ленту [Прогресс в работе «Песочницы конфиденциальности»].
- Присоединяйтесь к запланированным звонкам по API для защищенной аудитории (каждые две недели). Приглашаются все желающие — для участия сначала необходимо присоединиться к WICG . Вы можете активно участвовать или просто слушать!