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 Topics состоит из трех основных этапов:
- Наблюдайте за активностью пользователей, например, когда они посещают веб-страницу
https://cats.example/tabby/index.html
или загружают приложениеcats
. - Получайте темы на основе активности пользователей, например
/Pets & Animals/Pets/Cats
. - Доступ к темам, которые ранее наблюдались у пользователя, например, в качестве сигнала для выбора соответствующей рекламы (например, реклама корма для кошек).
Соблюдайте темы
Вызывающие абоненты могут получить доступ только к интересующим их темам. Вызывающий объект наблюдает за темой, когда он делает запрос к API тем из контекста, связанного с этой темой. Чтобы проиллюстрировать эту концепцию, рассмотрим следующий упрощенный пример.
- Предположим, есть два вызывающих объекта Topics API: A и B.
- Есть два контекста:
- Greenhouse , например приложение Greenhouse или веб-сайт парниковый.пример, связанный с темой
Home & Garden
. - Теннисные упражнения , например приложение Tennis Упражнения или веб-сайт Tennis.example, связанный с темой
Sports/Tennis
.
- Greenhouse , например приложение Greenhouse или веб-сайт парниковый.пример, связанный с темой
- Оба абонента A и B присутствуют в контексте Greenhouse .
- В контексте теннисных упражнений присутствует только абонент Б.
- Для упрощения предположим, что до эпохи 1 для пользователя не наблюдалось никаких тем.
- Пользователь посещает приложение Greenhouse , а вызывающие абоненты A и B выполняют вызов API Topics, чтобы записать посещение пользователем страницы или приложения (см. руководство по реализации, предложенное в разделе «Следующие шаги», чтобы узнать, как вызвать API Topics). Эта запись (имя хоста или данные приложения) позже используется для получения интересующих тем. API тем позже пометит тему
Home & Garden
как наблюдаемую обоими абонентами A и B. - Пользователь заходит в приложение «Теннисные упражнения» . Только вызывающий абонент Б отправляет запрос API тем. API тем позже пометит тему
Sports/Tennis
, наблюдаемую вызывающим абонентом B. - К концу эпохи API тем обновляет самые популярные темы пользователя и определяет вызывающих абонентов, которые просматривали эти темы, на основе активности пользователя.
- Позже, когда вызывающая сторона B выполняет еще один вызов API Topics, она может получить тему
Home & Garden
илиSports/Tennis
(или, с вероятностью 5 %, случайную тему) для этого пользователя в массиве ответов. - Абонент А может получить доступ только к теме
Home & Garden
, поскольку он никогда не просматривал темуSports/Tennis
. Это означает, что третья сторона узнает об интересующей пользователя теме только в конкретном контексте (приложение или веб-сайт), где она присутствует.
Получение тем
Темы извлекают интересующие темы из активности пользователей. Темы выбираются из предопределенной таксономии с открытым исходным кодом. Один раз в эпоху Topics обновляет пять самых популярных тем пользователя и абонентов, которые наблюдали за ними в течение эпохи. Модель классификатора тем извлекает темы на основе активности пользователя: имени хоста для посещения веб-страницы, информации о приложении на Android.
Звонящий получает доступ к интересующим пользователя темам
API возвращает только темы, которые наблюдались вызывающей стороной в течение последних трех эпох. Вызывающему абоненту может быть возвращено максимум три темы, по одной теме для каждой из трех последних эпох (если вызывающий абонент наблюдал темы для этой эпохи). Возвращаемые темы могут использоваться вызывающим абонентом для дополнения любой контекстной информации и могут быть объединены, чтобы помочь найти более подходящее для пользователя объявление.
Эпохи
API тем должен обеспечивать актуальность предоставляемых им тем. Темы определяются для пользователя на основе его активности в течение периода времени, называемого эпохой (по умолчанию одна неделя). У каждого пользователя есть свои эпохи (эпохи указаны «для каждого пользователя»), а начальное время запуска выбирается случайным образом.
Каждую эпоху API тем вычисляет пять самых популярных тем пользователя и определяет, какие абоненты наблюдали эти темы, используя информацию на устройстве. Тема, выбранная для каждой эпохи, выбирается случайным образом из пяти самых популярных тем пользователя за этот период времени. Чтобы еще больше повысить конфиденциальность и гарантировать, что все темы могут быть представлены, существует 5% вероятность того, что тема будет выбрана случайным образом из всех возможных тем в таксономии интересов .
Темы в Интернете на практике
В Интернете темы определяются по именам хостов страниц, которые посещает пользователь. Например, тема, предполагаемая для веб-сайтаdogs.example, может быть /Pets & Animals/Pets/Dogs .
На следующей диаграмме показан упрощенный пример, демонстрирующий, как API Topics может помочь платформе рекламных технологий выбрать подходящее объявление. В примере предполагается, что в браузере пользователя уже есть модель для сопоставления имен хостов веб-сайтов с темами.
Браузер определяет происхождение вызывающего объекта из контекста кода, вызывающего API тем. На практике это означает, что пользователи Topics вызывают API в iframe из своего источника или включают темы в выборку из своего источника.
Например, платформа предложения (SSP) может быть встроена на сайты нескольких издателей . Затем SSP может вызвать API тем внутри iframe из его источника, что позволяет ему наблюдать за темами, связанными с пользователем, на сайтах этих издателей. Затем эти темы можно будет передать платформе спроса (DSP), чтобы помочь ей выбрать подходящую рекламу для пользователя.
Как API решает, какие абоненты видят какие темы
Вызывающие API получают только темы, которые они недавно наблюдали, а темы для пользователя обновляются один раз в каждую эпоху : период времени, установленный в одну неделю в реализации Chrome. Это означает, что API предоставляет скользящее окно, в течение которого конкретный вызывающий объект может получать наблюдаемые темы.
В следующей таблице приведен пример (хотя и нереально небольшой) гипотетической истории просмотров для пользователя в течение одной эпохи, показаны темы, связанные с сайтами, которые он посетил, и вызывающие API, присутствующие на каждом сайте (сущности, вызывающие document.browsingTopics()
в коде JavaScript, включенном в сайт).
Сайт | Темы | Вызывающие API на сайте |
---|---|---|
бег.пример | Running & Walking Athletic Shoes | adtech1.пример adtech2.пример |
собаки.пример | Dogs | adtech1.пример |
праздник.пример | Hotels & Accommodations | adtech2.пример |
солнцезащитные очки.пример | 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
.
Пользователь посетил сайт солнцезащитные очки.example, где есть тема Sunglasses
, но на этом сайте не было вызовов API тем. На данный момент это означает, что тема Sunglasses
не будет возвращена API ни для одного вызывающего объекта.
На второй неделе пользователь посещает другой сайт:
Сайт | Темы | Вызывающие API на сайте |
---|---|---|
камеры.пример | Camera & Photo Equipment | adtech2.пример |
Кроме того, в sunglasses.example
добавляется код из adtech2.example:
Сайт | Темы | Вызывающие API на сайте |
---|---|---|
солнцезащитные очки.пример | Sunglasses | adtech2.пример |
Помимо Running & Walking
, Athletic Shoes
и Hotels & Accommodations
с первой недели, это означает, что adtech2.example теперь сможет получать темы Camera & Photo Equipment
и Sunglasses
, но не раньше следующей эпохи, недели 3. Это гарантирует что третьи стороны не могут узнать больше о прошлом пользователя (в данном случае об интересе к моде), чем они могли бы с помощью файлов cookie.
Еще через две недели Running & Walking
, Athletic Shoes
и Hotels & Accommodations
могут исчезнуть из списка подходящих тем adtech2.example, если пользователь не посещает сайты с этими темами, которые содержат код из adtech2.example.
Модель классификатора
В темах используется модель классификатора , которая сопоставляет имена хостов веб-сайтов с нулевым или более темами (анализ дополнительной информации, такой как полные URL-адреса или содержимое страниц, может обеспечить более релевантную рекламу, но также может снизить конфиденциальность).
Таксономия
Темы выбираются из таксономии . Эти темы курируются Chrome с целью сделать таксономию ресурсом, поддерживаемым доверенными участниками экосистемы. Таксономия должна быть достаточно маленькой, чтобы браузеры многих пользователей ассоциировались с каждой темой. Конечная цель состоит в том, чтобы таксономия была получена от внешней стороны, которая учитывает отзывы и идеи со всей отрасли.
Чтобы избежать деликатных категорий, темы должны быть общедоступными, курируемыми людьми и оставаться актуальными. Таксономия, используемая Chrome, была создана людьми для исключения категорий, которые обычно считаются конфиденциальными , таких как этническая принадлежность или сексуальная ориентация.
Классификация тем
Темы вручную отбираются для 50 000 лучших сайтов, и этот тщательно подобранный список имен хостов и тем используется для обучения модели классификатора. Для лучших сайтов доступ к темам осуществляется из списка переопределения, а не с использованием модели классификатора. Вы можете просмотреть список переопределений локально на своем компьютере.
Реализация API Topics в Chrome загружает файл TensorFlow Lite, представляющий модель, чтобы его можно было использовать локально на устройстве пользователя.
Как выбираются пять самых популярных тем пользователя
API возвращает одну тему для каждой эпохи (максимум три). Если возвращаются три, это включает темы для текущей эпохи и двух предыдущих.
- В конце каждой эпохи браузер составляет список страниц, соответствующих следующим критериям:
- Страница была посещена пользователем в указанную эпоху.
- Страница содержит код, который вызывает
document.browsingTopics()
. - API был включен (например, не заблокирован пользователем или заголовком ответа ).
- Браузер на устройстве пользователя использует модель классификатора, предоставляемую API тем, для сопоставления имени хоста каждой страницы со списком тем.
Браузер генерирует список из пяти самых популярных тем.
- Каждая из 22 основных тем в таксономии отнесена к категории «высокая полезность» или «стандартная полезность» на основе отзывов рекламной экосистемы. Браузер сначала сортирует темы по их назначению. Все дочерние темы наследуют назначение корзины родительской корневой темы. Темы «высокой полезности» имеют приоритет.
- Затем браузер сортирует темы по частоте в каждом сегменте.
- Пять лучших тем из этого отсортированного списка выбираются как самые популярные темы пользователя за эту эпоху.
Затем метод document.browsingTopics()
возвращает случайную тему из пяти лучших для каждой эпохи с вероятностью 5%, что любая из них может быть случайно выбрана из полной таксономии тем. В Chrome пользователи также могут удалять отдельные темы или очищать историю просмотров, чтобы уменьшить количество тем, возвращаемых API. Пользователи также могут отказаться от API.
Вы можете просмотреть информацию о темах, наблюдаемых в текущую эпоху, на странице chrome://topics-internals
.
Next steps
Setup
Implement Topics
См. также
Ознакомьтесь с нашими ресурсами, чтобы лучше понять API Topics в Интернете.
- Ознакомьтесь с демонстрациями Topics, совместными видеороликами и пошаговыми руководствами .
- Ознакомьтесь со списком флагов Chrome , которые позволяют разработчикам настраивать API тем для тестирования.
- Узнайте, как пользователи и разработчики могут управлять API.
- Ознакомьтесь с ресурсами, где можно найти технические пояснения и поддержку. Задавайте вопросы, участвуйте и делитесь отзывами.