Interfejs Topics API na potrzeby stron internetowych

Interfejs Topics API umożliwia wyświetlanie reklam opartych na zainteresowaniach bez używania plików cookie innych firm.

How the Topics API works

The Topics API can be used to observe and provide access to topics that appear to be of interest to the user, based on their activity. The Topics API can then give API callers (such as ad tech platforms) access to a user's topics of interest, but without revealing additional information about the user's activity.

Key concepts

  • A topic is a human-readable topic of interest for the current user and is part of the Topics taxonomy.
  • A caller is an entity, such as an app, a third-party SDK, a website, or service, that makes a request to the Topics API to observe or access a user's interests.
  • A topic is observed by a caller, if the caller made a Topics API request from a web page or app associated with this topic during the past three epochs.
  • An epoch is a period of topic computation, which defaults to one week.
  • A taxonomy is a hierarchical list of categories, which includes, for example, such categories as /Arts & Entertainment/Music & Audio/Soul & R&B and /Business & Industrial/Business Services/Corporate Events.
  • Topics are derived using a classifier model that maps user activity to zero or more topics.

Topics API flow core steps

The Topics API lifecycle has three main steps:

  • Observe user activity, such as when they visit the web page https://cats.example/tabby/index.html or download the app cats.
  • Derive topics from user activity, for example /Pets & Animals/Pets/Cats.
  • Access topics previously observed for the user, for example as a signal to select relevant advertising (such as a cat food promotion).

Observe topics

Callers can only access topics of interest that they've observed. A caller observes a topic when they make a Topics API request from a context associated with this topic. To illustrate this concept, consider the following simplified example.

  • Suppose there are two Topics API callers: A and B.
  • There are two contexts:
    • Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic Home & Garden.
    • Tennis exercises, for example an app named Tennis Exercises or a website tennis.example, associated with the topic Sports/Tennis.
  • Both caller A and B are present in the context of Greenhouse.
  • Only the caller B is present in the context of Tennis exercises.
  • Assume that no topics were observed for the user before epoch 1, for the sake of simplification.
  • The user visits the Greenhouse app, and callers A and B make a Topics API call to record the user visit to the page or app (see the implementation guide suggested in Next steps to find out how to call the Topics API). This record (a hostname or app data) is later used to derive topics of interest. The Topics API will later mark the topic Home & Garden as observed by both callers A and B.
  • The user visits the Tennis exercises app. Only the caller B sends a Topics API request. The Topics API will later mark the topic Sports/Tennis as observed by the caller B.
  • By the end of the epoch, the Topics API refreshes the user's top topics and determines the callers that observed these topics based on user activity.
  • Later, when the caller B makes another Topics API call, it can get either Home & Garden or Sports/Tennis topic (or, with a 5% chance, a random topic) for this user in the response array.
  • Caller A can only access the topic Home & Garden, as it has never observed the topic Sports/Tennis. This means that a third-party will only learn about a user's topic of interest within the specific context (app or website) where it is present.
Diagram showing that the Topics API only marks the topics as observed if the callers has presence in the context.
The Topics API marks the topics observed only by the callers that have presence in the context of these topics. The callers will only be able to access the topics they have observed.

Derive topics

Topics derives topics of interest from user activity. The topics are selected from a predefined open-source taxonomy. Once per epoch, Topics refreshes the user's top five topics and the callers that observed them during the epoch. The Topics classifier model derives topics from user activity: hostname for a web page visit, app information on Android.

Caller accesses user's topics of interest

The API returns only topics that have been observed by the caller within the most recent three epochs. A maximum of three topics may be returned to a caller,one topic for each of the three recent epochs (if the caller observed topics for that epoch). The returned topics can be used by the caller to supplement any contextual information and can be combined to help find a more relevant ad for the user.

Epochs

The Topics API must ensure that the topics of interest it provides are kept up to date. The topics are inferred for a user based on their activity during a period of time known as an epoch, one week by default. Each user has their own epochs (epochs are "per user") and the initial start time is randomized.

Once each epoch, the Topics API computes the user's top five topics and determines which callers observed those topics using on-device information. The topic selected for each epoch is randomly selected from the user's top five topics for that time period. To further enhance privacy and ensure that all topics may be represented, there is a 5% chance the topic is randomly selected from all possible topics in the taxonomy of interests.

Tematy w internecie w praktyce

W internecie tematy są wywnioskowywane na podstawie nazw hostów stron, które odwiedza użytkownik. Na przykład temat wywnioskowany dla witryny dogs.example może być /Zwierzęta dzikie i domowe/Zwierzęta domowe/Psy.

Poniższy diagram przedstawia uproszczony przykład, który pokazuje, jak interfejs Topics API może pomóc platformie technologii reklamowych w wybraniu odpowiedniej reklamy. W tym przykładzie zakłada się, że przeglądarka użytkownika ma już model do mapowania nazw hostów witryn na tematy.

Diagram przedstawiający etapy cyklu życia interfejsu Topics API, od odwiedzenia witryn przez użytkownika po wyświetlenie reklamy.
Diagram cyklu życia interfejsu Topics API przedstawia etapy działań interfejsu API z ogólnej perspektywy.

Przeglądarka określa pochodzenie wywołującego na podstawie kontekstu kodu, który wywołuje interfejs Topics API. W praktyce oznacza to, że użytkownicy interfejsu Topics API wywołują go w elemencie iframe ze swojego źródła lub uwzględniają tematy w żądaniu pobierania do swojego źródła.

Na przykład platformę dostawców reklam (SSP) można umieścić w wielu witrynach wydawców. Mogłaby ona wtedy wywołać interfejs Topics API w elemencie iframe ze swojego źródła, co pozwoliłoby jej obserwować tematy powiązane z użytkownikiem w witrynach tych wydawców. Tematy te można następnie udostępnić platformie DSP, aby pomóc jej w wybraniu odpowiedniej reklamy dla użytkownika.

Jak interfejs API decyduje, którzy wywołujący widzą które tematy

Wywołujący interfejs API otrzymują tylko tematy, które ostatnio zaobserwowali, a tematy dla użytkownika są odświeżane raz na epokę, czyli okres czasu, który w implementacji Chrome wynosi tydzień. Oznacza to, że interfejs API udostępnia ruchome okno, w którym dany wywołujący może otrzymywać obserwowane tematy.

W tabeli poniżej znajdziesz przykładową (choć nierealistycznie małą) hipotetyczną historię przeglądania użytkownika w jednej epoce. Zawiera ona tematy powiązane z odwiedzonymi przez niego witrynami oraz podmioty wywołujące interfejs API w każdej z nich (podmioty, które wywołują document.browsingTopics() w kodzie JavaScript zawartym w witrynie).

Witryna Tematy Wywołania interfejsu API w witrynie
running.example Running & Walking
Athletic Shoes
adtech1.example
adtech2.example
dogs.example Dogs adtech1.example
holiday.example Hotels & Accommodations adtech2.example
sunglasses.example Sunglasses [brak]

Pod koniec epoki (domyślnie tygodnia) interfejs Topics API generuje najpopularniejsze tematy przeglądarki z danego tygodnia.

  • Domena adtech1.example może teraz otrzymywać tematy Running & Walking, Athletic ShoesDogs, ponieważ obserwowała je w witrynach running.example i dogs.example.
  • Domena adtech1.example nie kwalifikuje się do otrzymania tematu Hotels & Accommodations dla tego użytkownika, ponieważ nie występuje w żadnej z ostatnio odwiedzonych przez niego witryn powiązanych z tym tematem.
  • Domena adtech2.example widziała tematy Running & Walking, Athletic ShoesHotels & Accommodations, ale nie widziała tematu Dogs.

Użytkownik odwiedził stronę sunglasses.example, która ma temat Sunglasses, ale w tej witrynie nie było wywołań interfejsu Topics API. W tym momencie oznacza to, że interfejs API nie zwróci tematu Sunglasses żadnemu wywołującemu.

W drugim tygodniu użytkownik odwiedza inną witrynę:

Witryna Tematy Wywołania interfejsu API w witrynie
cameras.example Camera & Photo Equipment adtech2.example

Dodatkowo do pliku sunglasses.example dodawany jest kod z domeny adtech2.example:

Witryna Tematy Wywołania interfejsu API w witrynie
sunglasses.example Sunglasses adtech2.example

Oprócz Running & Walking, Athletic ShoesHotels & Accommodations z pierwszego tygodnia oznacza to, że domena adtech2.example będzie teraz mogła otrzymywać tematy Camera & Photo EquipmentSunglasses, ale dopiero w następnej epoce, czyli w trzecim tygodniu. Dzięki temu inne firmy nie mogą dowiedzieć się o przeszłości użytkownika (w tym przypadku o zainteresowaniu modą) więcej niż w przypadku plików cookie.

Po kolejnych 2 tygodniach tematy Running & Walking, Athletic ShoesHotels & Accommodations mogą zniknąć z listy kwalifikujących się tematów w przypadku domeny adtech2.example, jeśli użytkownik nie odwiedzi żadnych witryn z tymi tematami, które zawierają kod z domeny adtech2.example.

Czynności wykonywane przez interfejs Topics API, gdy użytkownicy odwiedzają witryny, które go używają.
Jak interfejs API obserwuje tematy i uzyskuje do nich dostęp

Model klasyfikatora

Interesy wykorzystują model klasyfikatora, który mapuje nazwy hostów witryn na co najmniej 1 temat (analizowanie dodatkowych informacji, takich jak pełne adresy URL lub zawartość strony, może umożliwiać wyświetlanie bardziej trafnych reklam, ale może też ograniczać prywatność).

Taksonomia

Tematy są wybierane z taksonomii. Te tematy zostały wybrane przez zespół Chrome. Naszym celem jest stworzenie taksonomii, która będzie zasobem utrzymywanym przez zaufanych współtwórców z ekosystemu. Taksonomia musi być wystarczająco mała, aby z każdym tematem było powiązanych wielu użytkowników. Ostatecznym celem jest pozyskiwanie taksonomii od podmiotu zewnętrznego, który uwzględnia opinie i pomysły całej branży.

Aby uniknąć kategorii o charakterze kontrowersyjnym, tematy muszą być publiczne, wyselekcjonowane przez ludzi i aktualne. Taksonomia używana przez Chrome została opracowana przez ludzi w celu wykluczenia kategorii ogólnie uznawanych za wrażliwe, takich jak pochodzenie etniczne czy orientacja seksualna.

Klasyfikacja tematów

Tematy są wybierane ręcznie w przypadku 50 tys. najpopularniejszych witryn. Ta lista zastępcza nazw hostów i tematów jest używana do trenowania modelu klasyfikatora. W przypadku najpopularniejszych witryn tematy są pobierane z listy zastąpień, a nie z modelu klasyfikatora. Listę zastąpień możesz wyświetlić lokalnie na komputerze.

Strona chrome://topics-internals z wybranym panelem Klasyfikator.
chrome://topics-internalspanelu klasyfikatora stron znajdziesz wersję modelu, jego ścieżkę i tematy powiązane z każdym wymienionym hostem.

Implementacja interfejsu Topics API w Chrome pobiera plik TensorFlow Lite reprezentujący model, aby można było go używać lokalnie na urządzeniu użytkownika.

Jak wybieramy 5 najpopularniejszych tematów użytkownika

Interfejs API zwraca jeden temat dla każdej epoki, maksymalnie 3. Jeśli zostaną zwrócone 3 tematy, będą one dotyczyć bieżącej epoki i 2 poprzednich.

  1. Pod koniec każdej epoki przeglądarka tworzy listę stron, które spełniają te kryteria:
    • Użytkownik odwiedził stronę w okresie.
    • Strona zawiera kod, który wywołuje funkcję document.browsingTopics().
    • Interfejs API został włączony (np. nie został zablokowany przez użytkownika ani przez nagłówek odpowiedzi).
  2. Przeglądarka na urządzeniu użytkownika używa modelu klasyfikatora udostępnianego przez interfejs Topics API, aby przypisać nazwę hosta każdej strony do listy tematów.
  3. Przeglądarka generuje listę 5 najpopularniejszych tematów.

    • Każdy z 22 głównych tematów w taksonomii jest przypisany do kategorii „wysoka użyteczność” lub „standardowa użyteczność” na podstawie opinii z ekosystemu reklamowego. Przeglądarka najpierw sortuje tematy według przypisania do segmentu. Wszystkie tematy podrzędne dziedziczą przypisanie do koszyka po temacie głównym nadrzędnym. Tematy o „wysokiej użyteczności” mają wyższy priorytet.
    • Następnie przeglądarka sortuje tematy według częstotliwości w każdej kategorii.
    • 5 najpopularniejszych tematów z tej posortowanej listy jest wybieranych jako najpopularniejsze tematy użytkownika w danej epoce.

Metoda document.browsingTopics() zwraca losowy temat z 5 najpopularniejszych tematów w każdej epoce. Istnieje 5% szans, że któryś z nich zostanie losowo wybrany z pełnej taksonomii tematów. W Chrome użytkownicy mogą też usuwać poszczególne tematy lub wyczyścić historię przeglądania, aby zmniejszyć liczbę tematów zwracanych przez interfejs API. Użytkownicy mogą też zrezygnować z korzystania z interfejsu API.

Informacje o tematach zaobserwowanych w bieżącej epoce możesz wyświetlić na stronie chrome://topics-internals.

Dalsze kroki

Przygotuj środowisko do testowania i tworzenia aplikacji internetowych za pomocą interfejsu Topics API.
Sprawdź szczegóły implementacji i przykłady kodu, które umożliwiają obserwowanie i dostęp do tematów.

Zobacz też

Zapoznaj się z naszymi materiałami, aby lepiej zrozumieć interfejs Topics API w internecie.