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 тем состоит из трех основных этапов:

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

Выводить темы

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

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

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

Эпохи

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

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

Практические аспекты использования Интернета: темы, актуальные в сети.

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

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

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

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

Например, платформа со стороны предложения (SSP) может быть встроена в сайты нескольких издателей . Затем SSP может вызывать API тем внутри iframe со своего исходного сайта, что позволит ей отслеживать темы, связанные с пользователем на сайтах этих издателей. Эти темы затем могут быть переданы платформе со стороны спроса (DSP), чтобы помочь ей выбрать релевантную рекламу для пользователя.

Как API определяет, какие вызывающие стороны видят какие темы

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

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

Сайт Темы API-вызывающие на сайте
running.example Running & Walking
Athletic 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.

Шаги, которые выполняет API тем, когда пользователи посещают сайты, использующие этот API.
Как API отслеживает темы и получает к ним доступ.

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

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

Таксономия

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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