Узнайте, как определяются темы, как они назначаются браузерам пользователей и как пользователи могут управлять своим списком тем.
Статус реализации
- API Topics прошел стадию публичного обсуждения и в настоящее время доступен 99 процентам пользователей с возможностью масштабирования до 100 процентов.
- Чтобы оставить свой отзыв об API тем, создайте проблему в объяснителе тем или примите участие в обсуждениях в бизнес-группе улучшения веб-рекламы . У объяснителя остается ряд открытых вопросов, которые еще требуют дальнейшего уточнения.
- В графике Privacy Sandbox указаны сроки реализации Topics API и других предложений Privacy Sandbox.
- API Topics: в последних обновлениях подробно описаны изменения и улучшения API Topics и их реализации.
Что такое тема?
Тема в API тем — это тема, которая интересует пользователя, о чем свидетельствуют веб-сайты, которые он посещает.
Темы — это сигнал, помогающий платформам рекламных технологий выбирать релевантные объявления. В отличие от сторонних файлов cookie, эта информация передается без раскрытия дополнительной информации о самом пользователе или его активности в Интернете.
API Topics позволяет третьим сторонам, таким как платформы рекламных технологий, наблюдать и затем получать доступ к темам, интересующим пользователя. Например, API может предложить тему «Волокно и текстильное искусство» пользователю, который посещает веб-сайт knitting.example
.
Список тем, используемый API тем, является общедоступным, курируемым человеком, удобочитаемым и предназначен для исключения деликатных категорий. Это текущий список , который со временем будет расширяться. Список структурирован в виде таксономии . Темы могут быть общими или более конкретными. Например, Food & Drink
— это широкая категория с подкатегорией « Cooking & Recipes
. Подкатегории могут быть дополнительно разделены на дополнительные подкатегории.
Такая таксономия тем должна обеспечивать компромисс между полезностью и конфиденциальностью. Если темы слишком специфичны, их можно использовать для идентификации отдельного пользователя. Если они слишком общие, они бесполезны для выбора рекламы или другого контента.
Таксономия тем построена с учетом двух основных требований:
- Поддержка рекламы на основе интересов
- Обеспечьте безопасность пользователей и защитите их конфиденциальность
Это вызывает несколько вопросов. Например:
- Какой лучший способ для API определить темы, интересующие пользователя, на основе его активности в Интернете, сохраняя при этом конфиденциальность пользователя?
- Как можно структурировать таксономию, чтобы сделать ее более полезной?
- Какие конкретные элементы должна включать таксономия?
Как API определяет темы для сайта
Темы создаются на основе модели классификатора , которая сопоставляет имена хостов веб-сайтов с нулевым или более темами. Анализ дополнительной информации (например, полных URL-адресов или содержимого страниц) может обеспечить более релевантную рекламу, но также может снизить конфиденциальность.
Модель классификатора для сопоставления имен хостов с темами общедоступна, и, как отмечает поясняющий , темы сайта можно просматривать с помощью инструментов разработчика браузера. Ожидается, что модель будет развиваться и улучшаться с течением времени и периодически обновляться; частота этого все еще находится на рассмотрении.
Только сайты, содержащие код, вызывающий API тем, включаются в историю просмотров, подлежащую расчету частоты тем, а вызывающие API получают только темы, которые они наблюдали. Другими словами, сайты не могут рассчитывать частоту тем, если сайт или встроенная служба не вызывает API.
Кроме того, вызывающий абонент может получать только те темы, которые «просмотрел» его код. Таким образом, если код другого вызывающего абонента зарегистрировал тему, скажем /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
, для браузера пользователя, и ваш код не вызвал регистрацию этой темы для браузера этого пользователя, вы не сможете узнайте об этой теме, интересующей браузер этого пользователя, когда вы вызываете API из встроенного кода. Обратите внимание: поскольку API теперь включает наблюдаемых предков, в приведенном выше примере /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
также будет наблюдаться Autos & Vehicles
и Motor Vehicles
.
Темы, возвращаемые пользователю, пересчитываются для вызывающего абонента в зависимости от сайта верхнего уровня. Например, если adtech.example
запрашивает темы пользователя на news-a.example
, затем на news-b.example
, а затем на news-c.example
, то возвращаемые им темы будут пересчитываться на каждом сайте. Это означает, что вызывающий абонент, скорее всего, получит разные темы для пользователя на разных сайтах верхнего уровня, поскольку (максимум) три темы, возвращаемые пользователю, выбираются случайным образом из пяти лучших за последние три эпохи (с вероятностью 5%). получения случайной темы). Из-за этого вызывающему абоненту сложнее идентифицировать пользователя по его темам, поскольку они могут быть разными на разных сайтах верхнего уровня (даже для одного и того же пользователя, вызывающего абонента и эпохи).
Модель классификатора
Темы вручную курируются для 50 000 ведущих доменов, и это курирование используется для обучения классификатора. Этот список можно найти в override_list.pb.gz
, который доступен по адресу chrome://topics-internals/
в разделе текущей модели на вкладке Классификатор . Ассоциации домен-темы в списке используются API вместо выходных данных самой модели.
![Страница chrome://topics-internals с выбранной панелью «Классификатор».](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/chrometopics-internals-8d62cfff441e4.png?authuser=19&hl=ru)
chrome://topics-internals
указана версия модели, ее путь и темы, связанные с каждым перечисленным хостом.Чтобы запустить модель напрямую, обратитесь к руководству TensorFlow по запуску модели .
Чтобы проверить файл override_list.pb.gz
, сначала распакуйте его:
gunzip -c override_list.pb.gz > override_list.pb
Используйте protoc
, чтобы проверить его как текст:
protoc --decode_raw < override_list.pb > output.txt
Полная систематика тем с идентификаторами доступна на GitHub.
Предоставление отзывов или предложений по модели классификатора
Существует несколько каналов для отправки отзывов об API тем. Чтобы получить отзыв о модели классификатора, мы рекомендуем отправить вопрос на GitHub или ответить на существующий вопрос. Например:
- Таксономию каких тем следует использовать в долгосрочной перспективе?
- Что делать, если сайт не согласен с назначенными темами?
Как выбираются пять самых популярных тем пользователя
API возвращает одну тему для каждой эпохи (максимум три). Если возвращаются три, это включает темы для текущей эпохи и двух предыдущих.
- В конце каждой эпохи браузер составляет список страниц, соответствующих следующим критериям:
- Страница была посещена пользователем в указанную эпоху.
- Страница содержит код, который вызывает
document.browsingTopics()
. - API был включен (например, не заблокирован пользователем или через заголовок ответа ).
- Браузер на устройстве пользователя использует модель классификатора, предоставляемую API тем, для сопоставления имени хоста каждой страницы со списком тем.
- Браузер накапливает список тем.
- Браузер генерирует список из пяти самых популярных тем по частоте.
Затем метод document.browsingTopics()
возвращает случайную тему из пяти лучших для каждой эпохи с вероятностью 5%, что любая из них может быть случайно выбрана из полной таксономии тем. В Chrome пользователи также могут удалять отдельные темы или очищать историю просмотров, чтобы уменьшить количество тем, возвращаемых API. Пользователи также могут отказаться от API.
Вы можете просмотреть информацию о темах, наблюдаемых в текущую эпоху, на странице chrome://topics-internals
.
Как API решает, какие абоненты видят какие темы
Вызывающие API получают только темы, которые они недавно наблюдали, а темы для пользователя обновляются один раз в каждую эпоху. Это означает, что API предоставляет скользящее окно, в течение которого конкретный вызывающий абонент может получать определенные темы.
В таблице ниже приведен пример (хотя и нереалистично небольшой) гипотетической истории посещений пользователя в течение одной эпохи, показаны темы, связанные с сайтами, которые он посетил, и вызывающие API, присутствующие на каждом сайте (сущности, вызывающие document.browsingTopics()
в коде JavaScript, включенном в сайт).
Сайт | Темы | Вызывающие API на сайте |
---|---|---|
йога.пример | Фитнес | adtech1.пример adtech2.пример |
вязание.пример | Ремесла | adtech1.пример |
поход-праздник.пример | Фитнес, путешествия и транспорт | adtech2.пример |
одежда своими руками.пример | Ремесла, Мода и Стиль | [никто] |
В конце эпохи (в настоящее время одна неделя) API тем генерирует самые популярные темы браузера за неделю.
- adtech1.example теперь имеет право получать темы «Фитнес» и «Ремесла», поскольку он наблюдал их на сайте Yoga.example, а также на сайте Knitting.example.
- adtech1.example не имеет права получать тему «Путешествия и транспорт» для этого пользователя, поскольку она отсутствует ни на одном недавно посещенном пользователем сайте, связанном с этой темой.
- adtech2.example просматривал темы «Фитнес» и «Путешествия и транспорт», но не видел тему «Ремесла».
Пользователь посетил сайт diy-clothing.example, на котором есть тема «Мода и стиль», но на этом сайте не было обращений к API тем. На данный момент это означает, что тема «Мода и стиль» не будет возвращена API ни для одного вызывающего объекта.
На второй неделе пользователь посещает другой сайт:
Сайт | Темы | Вызывающие API на сайте |
---|---|---|
шитье.пример | Ремесла | adtech2.пример |
Кроме того, в diy-clothing.example добавлен код из adtech2.example:
Сайт | Темы | Вызывающие API на сайте |
---|---|---|
одежда своими руками.пример | Ремесла, Мода и Стиль | adtech2.пример |
Помимо «Фитнеса» и «Путешествия и транспорт» с первой недели, это означает, что adtech2.example теперь сможет получить темы «Ремесла» и «Мода и стиль», но не раньше следующей эпохи, недели 3. Это гарантирует, что третьи лица не смогут узнать больше о прошлом пользователя (в данном случае об интересе к моде), чем они могли бы получить с помощью файлов cookie.
Еще через две недели «Фитнес» и «Путешествия и транспорт» могут исключиться из списка подходящих тем adtech2.example, если пользователь не посещает сайты с этими темами, которые содержат код из adtech2.example.
Пользовательский контроль, прозрачность и отказ от участия
Пользователи должны иметь возможность понимать цель API тем, узнавать, что о них говорят, знать, когда API используется, и иметь средства управления для его включения или отключения.
Удобочитаемая таксономия API позволяет пользователям узнавать и контролировать темы, которые может предлагать им браузер. Пользователи могут удалять темы, которые они специально не хотят, чтобы Topics API делился с рекламодателями или издателями, а также могут быть элементы управления, которые информируют пользователя об API и показывают, как его включить или отключить. Chrome предоставляет информацию и настройки для Topics API по адресу chrome://settings/adPrivacy
. Кроме того, темы недоступны для вызывающих API в режиме инкогнито, а темы очищаются при очистке истории просмотров.
Возвращаемый список тем будет пустым, если:
- Пользователь отказывается от использования Topics API через настройки браузера по адресу
chrome://settings/adPrivacy
. - Пользователь удалил свои темы (через настройки браузера
chrome://settings/adPrivacy
) или очистил файлы cookie. - Браузер находится в режиме инкогнито.
Объяснитель предоставляет более подробную информацию о целях конфиденциальности и о том, как API пытается их решить.
Отказ от участия на сайте
В дополнение к возможности пользователя отказаться от участия в темах вашего сайта или страниц на нем. Руководство разработчика объясняет, как это сделать.
Использование API тем на веб-сайтах с prebid.js
Как отмечается в релизе Prebid 7 , сообщество активно развивало интеграцию с Topics API через новый модуль. Этот модуль был объединен в декабре 2022 года.
Узнайте больше здесь:
- Прочтите документацию по модулю Prebid Topics API .
- Для получения дополнительной информации обратитесь к Prebid.js через любой стандартный канал, который они предлагают.
Следующие шаги
- Если вы разработчик рекламных технологий, экспериментируйте и участвуйте в работе с Topics API.
- Прочтите руководство для разработчиков , чтобы получить более подробные ресурсы.
- Ознакомьтесь с руководством по интеграции Topics API , чтобы получить подробную информацию о конкретных случаях использования рекламных технологий.
Привлекайте и делитесь отзывами
- GitHub : прочтите пояснение к API Topics, задавайте вопросы и следите за обсуждением проблем, связанных с репозиторием API .
- W3C : Обсудите варианты использования в отрасли в группе по улучшению бизнес-рекламы в Интернете .
- Объявления : Присоединяйтесь к списку рассылки или просмотрите его .
- Поддержка разработчиков Privacy Sandbox : задавайте вопросы и присоединяйтесь к обсуждениям в репозитории поддержки разработчиков Privacy Sandbox .
- Chromium : сообщите об ошибке Chromium , чтобы задать вопросы о реализации, доступной в настоящее время для тестирования в Chrome.