API Topics позволяет показывать рекламу, основанную на интересах пользователей, без использования сторонних файлов cookie.
Как работает API тем
API тем может использоваться для наблюдения и предоставления доступа к темам, которые кажутся интересными пользователю, на основе его активности. API тем может затем предоставить вызывающим API (например, рекламным технологическим платформам) доступ к темам, представляющим интерес для пользователя, но без раскрытия дополнительной информации о его активности.
Ключевые понятия
- Тема — это понятная человеку тема, представляющая интерес для текущего пользователя, и является частью таксономии Темы .
- Вызывающая сторона — это сущность, например приложение, сторонний SDK, веб-сайт или служба, которая отправляет запрос к API тем для наблюдения или доступа к интересам пользователя.
- Тема считается наблюдаемой вызывающим объектом, если вызывающий объект сделал запрос API тем с веб-страницы или из приложения, связанного с этой темой, в течение последних трех эпох.
- Эпоха — это период расчета темы, который по умолчанию составляет одну неделю.
- Таксономия представляет собой иерархический список категорий, который включает, например, такие категории, как
/Arts & Entertainment/Music & Audio/Soul & R&Bи/Business & Industrial/Business Services/Corporate Events. - Темы выводятся с помощью модели классификатора , которая сопоставляет активность пользователя с нулем или более тем.
Основные шаги потока API тем
Жизненный цикл API тем состоит из трех основных этапов:
- Наблюдайте за действиями пользователей, например, когда они посещают веб-страницу
https://cats.example/tabby/index.htmlили загружают приложениеcats. - Создавайте темы на основе активности пользователей, например
/Pets & Animals/Pets/Cats. - Доступ к темам, ранее наблюдавшимся пользователем, например, как сигнал для выбора релевантной рекламы (например, рекламной акции на корм для кошек).
Соблюдайте темы
Звонящие могут получить доступ только к интересующим их темам, которые они наблюдали . Звонящий наблюдает тему, когда делает запрос API тем из контекста, связанного с этой темой. Чтобы проиллюстрировать эту концепцию, рассмотрим следующий упрощенный пример.
- Предположим, что есть два вызова API тем: A и B.
- Есть два контекста:
- Greenhouse , например, приложение с названием Greenhouse или веб-сайт greenhouse.example, связанный с темой
Home & Garden. - Упражнения по теннису , например, приложение под названием «Упражнения по теннису» или веб-сайт tennis.example, связанный с темой
Sports/Tennis.
- Greenhouse , например, приложение с названием Greenhouse или веб-сайт greenhouse.example, связанный с темой
- Оба абонента A и B присутствуют в контексте Greenhouse .
- В контексте упражнений по теннису присутствует только абонент B.
- Предположим для упрощения, что до эпохи 1 темы для пользователя не наблюдались.
- Пользователь посещает приложение Greenhouse , а вызывающие стороны A и B выполняют вызов API Topics для записи посещения пользователем страницы или приложения (см. руководство по внедрению, предложенное в разделе Следующие шаги , чтобы узнать, как вызвать API Topics). Эта запись (имя хоста или данные приложения) позже используется для получения тем, представляющих интерес. API Topics позже отметит тему
Home & Garden, как ее наблюдают оба вызывающих стороны A и B. - Пользователь посещает приложение Tennis exercises . Только вызывающий B отправляет запрос Topics API. Topics API позже отметит тему
Sports/Tennisкак наблюдал вызывающий B. - К концу эпохи API тем обновляет главные темы пользователя и определяет абонентов, которые просматривали эти темы, на основе активности пользователя.
- Позже, когда вызывающая сторона B сделает еще один вызов API тем, она может получить либо тему
Home & Garden, либо темуSports/Tennis(или, с вероятностью 5%, случайную тему) для этого пользователя в массиве ответов. - Абонент A может получить доступ только к теме
Home & Garden, поскольку он никогда не наблюдал темуSports/Tennis. Это означает, что третья сторона узнает о теме, представляющей интерес для пользователя, только в определенном контексте (приложение или веб-сайт), где он присутствует.

Выводить темы
Topics выводит темы, представляющие интерес, из активности пользователя. Темы выбираются из предопределенной таксономии с открытым исходным кодом. Один раз за эпоху Topics обновляет пять основных тем пользователя и звонящих, которые наблюдали их в течение эпохи. Модель классификатора Topics выводит темы из активности пользователя: имя хоста для посещения веб-страницы, информация о приложении на Android.
Звонящий получает доступ к темам, интересующим пользователя
API возвращает только темы, которые были просмотрены вызывающей стороной в течение последних трех эпох. Вызывающей стороне может быть возвращено максимум три темы, по одной теме для каждой из трех последних эпох (если вызывающая сторона просмотрела темы для этой эпохи). Вызывающая сторона может использовать возвращенные темы для дополнения любой контекстной информации и может объединять их, чтобы помочь найти более релевантную рекламу для пользователя.
Эпохи
API тем должен гарантировать, что темы, которые он предоставляет, актуальны. Темы выводятся для пользователя на основе его активности в течение периода времени, называемого эпохой, по умолчанию это одна неделя. У каждого пользователя есть свои собственные эпохи (эпохи «на пользователя»), а начальное время начала рандомизировано.
После каждой эпохи API тем вычисляет пять основных тем пользователя и определяет, какие абоненты наблюдали эти темы, используя информацию на устройстве. Тема, выбранная для каждой эпохи, выбирается случайным образом из пяти основных тем пользователя за этот период времени. Для дальнейшего повышения конфиденциальности и обеспечения того, что все темы могут быть представлены, существует 5%-ная вероятность того, что тема будет выбрана случайным образом из всех возможных тем в таксономии интересов .
Практические аспекты использования Интернета: темы, актуальные в сети.
В интернете темы определяются по именам хостов страниц, которые посещает пользователь. Например, тема, определенная для веб-сайта dogs.example, может быть /Pets & Animals/Pets/Dogs .
На следующей диаграмме представлен упрощенный пример, демонстрирующий, как API тем может помочь рекламной технологической платформе выбрать подходящую рекламу. В примере предполагается, что браузер пользователя уже имеет модель для сопоставления имен хостов веб-сайтов с темами.

Браузер определяет источник вызова из контекста кода, который обращается к API тем. На практике это означает, что пользователи тем вызывают API в iframe из своего источника или включают темы в запрос на получение данных из своего источника.
Например, платформа со стороны предложения (SSP) может быть встроена в сайты нескольких издателей . Затем SSP может вызывать API тем внутри iframe со своего исходного сайта, что позволит ей отслеживать темы, связанные с пользователем на сайтах этих издателей. Эти темы затем могут быть переданы платформе со стороны спроса (DSP), чтобы помочь ей выбрать релевантную рекламу для пользователя.
Как API определяет, какие вызывающие стороны видят какие темы
Пользователи, вызывающие API, получают только те темы, которые они недавно отслеживали, и темы для пользователя обновляются один раз за эпоху : период времени, установленный на одну неделю в реализации Chrome. Это означает, что API предоставляет скользящее окно, в течение которого данный пользователь может получать отслеживаемые темы.
В следующей таблице приведен пример (хотя и нереалистично малый) гипотетической истории просмотров пользователя за один период времени, показывающий темы, связанные с посещенными им сайтами, и API-интерфейсы, присутствующие на каждом сайте (сущности, которые вызывают document.browsingTopics() в JavaScript-коде, включенном на сайте).
| Сайт | Темы | API-вызывающие на сайте |
|---|---|---|
| running.example | Running & WalkingAthletic Shoes | adtech1.example adtech2.example |
| собаки.пример | Dogs | adtech1.example |
| отпуск.пример | Hotels & Accommodations | adtech2.example |
| солнцезащитные очки.пример | Sunglasses | [никто] |
В конце эпохи (по умолчанию — одна неделя) API тем генерирует список самых популярных тем браузера за неделю.
- Теперь adtech1.example имеет право получать сообщения по темам
Running & Walking,Athletic ShoesиDogs, поскольку обнаружил их на сайтах running.example и dogs.example. - Сайт adtech1.example не имеет права получать информацию по теме
Hotels & Accommodationsдля данного пользователя, поскольку он отсутствует на сайтах, которые пользователь посещал недавно и которые связаны с этой темой. - Пользователь adtech2.example просмотрел темы
Running & Walking,Athletic ShoesиHotels & Accommodations, но не видел тему «Dogs.
Пользователь посетил сайт sunglasses.example, который содержит тему Sunglasses , но на этом сайте не было обращений к API тем. В этом случае API не вернет тему Sunglasses ни одному вызывающему пользователю.
На второй неделе пользователь посещает другой сайт:
| Сайт | Темы | API-вызывающие на сайте |
|---|---|---|
| камеры.пример | Camera & Photo Equipment | adtech2.example |
Кроме того, код из файла adtech2.example добавлен в файл sunglasses.example :
| Сайт | Темы | API-вызывающие на сайте |
|---|---|---|
| солнцезащитные очки.пример | Sunglasses | adtech2.example |
Помимо тем Running & Walking , Athletic Shoes и Hotels & Accommodations с первой недели, adtech2.example теперь сможет получать информацию по темам Camera & Photo Equipment и Sunglasses — но не раньше следующей эпохи, третьей недели. Это гарантирует, что третьи стороны не смогут узнать о прошлом пользователя (в данном случае, об его интересе к моде) больше, чем с помощью файлов cookie.
Через две недели темы Running & Walking , Athletic Shoes и Hotels & Accommodations могут исчезнуть из списка подходящих тем adtech2.example, если пользователь не будет посещать сайты, посвященные этим темам и содержащие код с adtech2.example.

Модель классификатора
В Topics используется модель классификации , которая сопоставляет имена хостов веб-сайтов с нулем или более темами (анализ дополнительной информации, такой как полные URL-адреса или содержимое страниц, может позволить показывать более релевантную рекламу, но также может снизить уровень конфиденциальности).
Таксономия
Темы выбираются из таксономии . Эти темы были отобраны Chrome с целью превращения таксономии в ресурс, поддерживаемый надежными участниками экосистемы. Таксономия должна быть достаточно небольшой, чтобы каждая тема была связана с браузерами многих пользователей. Конечная цель состоит в том, чтобы таксономия создавалась сторонним источником, учитывающим отзывы и идеи со всей отрасли.
Чтобы избежать использования деликатных категорий, темы должны быть общедоступными, модерироваться людьми и оставаться актуальными. Таксономия, используемая Chrome, была разработана людьми для исключения категорий, которые обычно считаются деликатными , таких как этническая принадлежность или сексуальная ориентация.
Классификация тем
Для 50 000 ведущих сайтов вручную отбираются темы, и этот тщательно составленный список имен хостов и тем используется для обучения модели классификатора. Для ведущих сайтов доступ к темам осуществляется из списка переопределений, а не с помощью модели классификатора. Вы можете просмотреть список переопределений локально на своем компьютере.

chrome://topics-internals в панели «Классификатор» отображается версия модели, её путь и темы, связанные с каждым из перечисленных хостов.В Chrome реализация API Topics загружает файл TensorFlow Lite , представляющий модель, чтобы его можно было использовать локально на устройстве пользователя.
Как выбираются пять наиболее важных для пользователя тем
API возвращает одну тему для каждой эпохи, максимум три. Если возвращается три темы, это включает темы текущей эпохи и двух предыдущих.
- В конце каждой эпохи браузер составляет список страниц, отвечающих следующим критериям:
- Пользователь посетил эту страницу в течение указанной эпохи.
- На странице содержится код, который вызывает метод
document.browsingTopics(). - API был активирован (например, не заблокирован пользователем или заголовком ответа ).
- На устройстве пользователя браузер использует модель классификации, предоставляемую API тем, для сопоставления имени хоста каждой страницы со списком тем.
Браузер генерирует список из пяти наиболее популярных тем.
- Каждой из 22 основных тем в таксономии присваивается либо категория «высокая полезность», либо категория «стандартная полезность» на основе обратной связи от рекламной экосистемы. Браузер сначала сортирует темы по присвоенной им категории. Все дочерние темы наследуют присвоенную им категорию от родительской основной темы. Темы категории «высокая полезность» имеют приоритет.
- Затем браузер сортирует темы по частоте их появления в каждой группе.
- Пять тем из этого отсортированного списка выбираются в качестве наиболее важных тем пользователя за данную эпоху.
Метод document.browsingTopics() возвращает случайную тему из пяти самых популярных для каждой эпохи, с 5% вероятностью того, что любая из них может быть случайно выбрана из полной таксономии тем. В Chrome пользователи также могут удалять отдельные темы или очищать историю просмотров, чтобы уменьшить количество тем, возвращаемых API. Пользователи также могут отказаться от использования API.
Информацию о темах, наблюдавшихся в течение текущей эпохи, можно просмотреть на странице chrome://topics-internals .
Следующие шаги
Настраивать
Реализация тем
См. также
Ознакомьтесь с нашими ресурсами, чтобы лучше понять API Topics в Интернете.
- Ознакомьтесь с демонстрациями Topics, совместными видеороликами и пошаговыми руководствами .
- Ознакомьтесь со списком флагов Chrome , которые позволяют разработчикам настраивать API тем для тестирования.
- Узнайте, как пользователи и разработчики могут управлять API.
- Ознакомьтесь с ресурсами, где можно найти технические пояснения и поддержку. Задавайте вопросы, участвуйте и делитесь отзывами.

