API тем для Интернета

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 .
  • Оба абонента 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 . Это означает, что третья сторона узнает об интересующей пользователя теме только в конкретном контексте (приложение или веб-сайт), где она присутствует.
Диаграмма, показывающая, что API тем помечает темы как наблюдаемые только в том случае, если вызывающая сторона присутствует в контексте.
API тем отмечает темы, которые наблюдают только вызывающие абоненты, присутствующие в контексте этих тем. Звонящие смогут получить доступ только к тем темам, которые они просмотрели.

Получение тем

Темы извлекают интересующие темы из активности пользователей. Темы выбираются из предопределенной таксономии с открытым исходным кодом. Один раз в эпоху Topics обновляет пять самых популярных тем пользователя и абонентов, которые наблюдали за ними в течение эпохи. Модель классификатора тем извлекает темы на основе активности пользователя: имени хоста для посещения веб-страницы, информации о приложении на Android.

Звонящий получает доступ к интересующим пользователя темам

API возвращает только темы, которые наблюдались вызывающей стороной в течение последних трех эпох. Вызывающему абоненту может быть возвращено максимум три темы, по одной теме для каждой из трех последних эпох (если вызывающий абонент наблюдал темы для этой эпохи). Возвращаемые темы могут использоваться вызывающим абонентом для дополнения любой контекстной информации и могут быть объединены, чтобы помочь найти более подходящее для пользователя объявление.

Эпохи

API тем должен обеспечивать актуальность предоставляемых им тем. Темы определяются для пользователя на основе его активности в течение периода времени, называемого эпохой (по умолчанию одна неделя). У каждого пользователя есть свои эпохи (эпохи указаны «для каждого пользователя»), а начальное время запуска выбирается случайным образом.

Каждую эпоху API тем вычисляет пять самых популярных тем пользователя и определяет, какие абоненты наблюдали эти темы, используя информацию на устройстве. Тема, выбранная для каждой эпохи, выбирается случайным образом из пяти самых популярных тем пользователя за этот период времени. Чтобы еще больше повысить конфиденциальность и гарантировать, что все темы могут быть представлены, существует 5% вероятность того, что тема будет выбрана случайным образом из всех возможных тем в таксономии интересов .

Темы в Интернете на практике

В Интернете темы определяются по именам хостов страниц, которые посещает пользователь. Например, тема, предполагаемая для веб-сайтаdogs.example, может быть /Pets & Animals/Pets/Dogs .

На следующей диаграмме показан упрощенный пример, демонстрирующий, как API Topics может помочь платформе рекламных технологий выбрать подходящее объявление. В примере предполагается, что в браузере пользователя уже есть модель для сопоставления имен хостов веб-сайтов с темами.

Диаграмма, показывающая этапы жизненного цикла API Topics: от посещения пользователем веб-сайтов до отображения рекламы.
Диаграмма жизненного цикла API Topics описывает этапы действий API с точки зрения высокого уровня.

Браузер определяет происхождение вызывающего объекта из контекста кода, вызывающего 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.

Действия, которые выполняет API тем при посещении пользователями сайтов, использующих API.
Как API наблюдает за темами и получает к ним доступ.

Модель классификатора

В темах используется модель классификатора , которая сопоставляет имена хостов веб-сайтов с нулевым или более темами (анализ дополнительной информации, такой как полные URL-адреса или содержимое страниц, может обеспечить более релевантную рекламу, но также может снизить конфиденциальность).

Таксономия

Темы выбираются из таксономии . Эти темы курируются Chrome с целью сделать таксономию ресурсом, поддерживаемым доверенными участниками экосистемы. Таксономия должна быть достаточно маленькой, чтобы браузеры многих пользователей ассоциировались с каждой темой. Конечная цель состоит в том, чтобы таксономия была получена от внешней стороны, которая учитывает отзывы и идеи со всей отрасли.

Чтобы избежать деликатных категорий, темы должны быть общедоступными, курируемыми людьми и оставаться актуальными. Таксономия, используемая Chrome, была создана людьми для исключения категорий, которые обычно считаются конфиденциальными , таких как этническая принадлежность или сексуальная ориентация.

Классификация тем

Темы вручную отбираются для 50 000 лучших сайтов, и этот тщательно подобранный список имен хостов и тем используется для обучения модели классификатора. Для лучших сайтов доступ к темам осуществляется из списка переопределения, а не с использованием модели классификатора. Вы можете просмотреть список переопределений локально на своем компьютере.

Страница chrome://topics-internals с выбранной панелью «Классификатор».
На панели классификатора страницы chrome://topics-internals указана версия модели, ее путь и темы, связанные с каждым перечисленным хостом.

Реализация API Topics в Chrome загружает файл TensorFlow Lite, представляющий модель, чтобы его можно было использовать локально на устройстве пользователя.

Как выбираются пять самых популярных тем пользователя

API возвращает одну тему для каждой эпохи (максимум три). Если возвращаются три, это включает темы для текущей эпохи и двух предыдущих.

  1. В конце каждой эпохи браузер составляет список страниц, соответствующих следующим критериям:
    • Страница была посещена пользователем в указанную эпоху.
    • Страница содержит код, который вызывает document.browsingTopics() .
    • API был включен (например, не заблокирован пользователем или заголовком ответа ).
  2. Браузер на устройстве пользователя использует модель классификатора, предоставляемую API тем, для сопоставления имени хоста каждой страницы со списком тем.
  3. Браузер генерирует список из пяти самых популярных тем.

    • Каждая из 22 основных тем в таксономии отнесена к категории «высокая полезность» или «стандартная полезность» на основе отзывов рекламной экосистемы. Браузер сначала сортирует темы по их назначению. Все дочерние темы наследуют назначение корзины родительской корневой темы. Темы «высокой полезности» имеют приоритет.
    • Затем браузер сортирует темы по частоте в каждом сегменте.
    • Пять лучших тем из этого отсортированного списка выбираются как самые популярные темы пользователя за эту эпоху.

Затем метод document.browsingTopics() возвращает случайную тему из пяти лучших для каждой эпохи с вероятностью 5%, что любая из них может быть случайно выбрана из полной таксономии тем. В Chrome пользователи также могут удалять отдельные темы или очищать историю просмотров, чтобы уменьшить количество тем, возвращаемых API. Пользователи также могут отказаться от API.

Вы можете просмотреть информацию о темах, наблюдаемых в текущую эпоху, на странице chrome://topics-internals .

Следующие шаги

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

См. также

Ознакомьтесь с нашими ресурсами, чтобы лучше понять API Topics в Интернете.