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.

Jak działa interfejs Topics API

Interfejsu Topics API można używać do obserwowania tematów, które mogą zainteresować użytkownika, i dostępu do nich na podstawie jego aktywności. Interfejs Topics API może następnie udostępniać wywołującym go podmiotom (np. platformom reklamowym) tematy zainteresowań użytkownika, ale bez ujawniania dodatkowych informacji o jego aktywności.

Kluczowych pojęć

  • Temat to interesujący użytkownika temat, który jest zrozumiały dla człowieka i należy do taksonomii tematów.
  • Wywołujący to podmiot, np. aplikacja, zewnętrzny pakiet SDK, witryna lub usługa, który wysyła żądanie do interfejsu Topics API w celu obserwowania zainteresowań użytkownika lub uzyskania do nich dostępu.
  • Temat jest obserwowany przez wywołującego, jeśli w ciągu ostatnich 3 okresów wygenerował on żądanie do interfejsu Topics API z witryny lub aplikacji powiązanej z tym tematem.
  • Epoka to okres obliczania tematu, który domyślnie wynosi tydzień.
  • Taksonomia to hierarchiczna lista kategorii, która zawiera na przykład takie kategorie jak /Arts & Entertainment/Music & Audio/Soul & R&B/Business & Industrial/Business Services/Corporate Events.
  • Tematy są wywnioskowane za pomocą modelu klasyfikatora, który przypisuje aktywność użytkownika do 0 lub więcej tematów.

Podstawowe kroki w interfejsie Topics API

Cykl życia interfejsu Topics API składa się z 3 głównych kroków:

  • Obserwuj aktywność użytkowników, np. gdy otwierają stronę internetową https://cats.example/tabby/index.html lub pobierają aplikację cats.
  • Wyodrębnianie tematów na podstawie aktywności użytkownika, np. /Pets & Animals/Pets/Cats.
  • Dostęp do tematów, które zostały wcześniej zaobserwowane u użytkownika, np. jako sygnał do wyboru odpowiednich reklam (np. promocji karmy dla kotów).

Obserwowanie tematów

Osoby dzwoniące mogą uzyskać dostęp tylko do tematów, które obserwowały. Wywołujący obserwuje temat, gdy wysyła żądanie do interfejsu Topics API z kontekstu powiązanego z tym tematem. Aby zilustrować tę koncepcję, rozważ ten uproszczony przykład.

  • Załóżmy, że są 2 wywołujące interfejs Topics API: AB.
  • Istnieją 2 konteksty:
    • Greenhouse, np. aplikacja o nazwie Greenhouse lub witryna greenhouse.example powiązana z tematem Home & Garden.
    • Ćwiczenia tenisowe, np. aplikacja o nazwie „Ćwiczenia tenisowe” lub witryna tennis.example powiązana z tematem Sports/Tennis.
  • Zarówno dzwoniąca osoba A, jak i B są obecne w kontekście Greenhouse.
  • W kontekście ćwiczeń tenisowych występuje tylko rozmówca B.
  • Dla uproszczenia przyjmijmy, że przed okresem 1 nie zaobserwowano żadnych tematów dotyczących tego użytkownika.
  • Użytkownik otwiera aplikację Greenhouse, a wywołujące funkcje AB wywołują interfejs Topics API, aby zarejestrować wizytę użytkownika na stronie lub w aplikacji (aby dowiedzieć się, jak wywołać interfejs Topics API, zapoznaj się z przewodnikiem implementacji w sekcji Następne kroki). Ten rekord (nazwa hosta lub dane aplikacji) jest później używany do określania tematów, które Cię interesują. Interfejs Topics API później oznaczy temat Home & Garden jako obserwowany przez wywołania AB.
  • Użytkownik otwiera aplikację Ćwiczenia tenisowe. Tylko wywołujący B wysyła żądanie do interfejsu Topics API. Interfejs Topics API później oznaczy temat Sports/Tennis jako obserwowany przez wywołującego B.
  • Pod koniec epoki interfejs Topics API odświeża najważniejsze tematy użytkownika i określa wywołania, które zaobserwowały te tematy na podstawie aktywności użytkownika.
  • Później, gdy wywołujący B wykona kolejne wywołanie interfejsu Topics API, może otrzymać temat Home & Garden lub Sports/Tennis (lub z 5% szanse temat losowy) dla tego użytkownika w tablicy odpowiedzi.
  • Użytkownik A ma dostęp tylko do tematu Home & Garden, ponieważ nigdy nie obserwował tematu Sports/Tennis. Oznacza to, że strona trzecia dowie się o temacie zainteresowania użytkownika tylko w określonym kontekście (aplikacji lub witryny), w którym się on znajduje.
Diagram pokazujący, że interfejs Topics API oznacza tematy jako obserwowane tylko wtedy, gdy wywołujący ma obecność w kontekście.
Interfejs Topics API oznacza tematy obserwowane tylko przez wywołujących, którzy mają obecność w kontekście tych tematów. Osoby dzwoniące będą mieć dostęp tylko do tematów, które obserwowały.

Wyodrębnianie tematów

Topics określa interesujące tematy na podstawie aktywności użytkownika. Tematy są wybierane z wstępnie zdefiniowanej taksonomii dostępnej na licencji open source. Raz na epokę Topics odświeża 5 najpopularniejszych tematów użytkownika oraz wywołujących je żądań. Model klasyfikatora Tematy wywodzi tematy z aktywności użytkowników: nazwy hosta w przypadku wizyty w witrynie oraz informacje o aplikacji na Androidzie.

Osoba dzwoniąca ma dostęp do tematów zainteresowań użytkownika

Interfejs API zwraca tylko tematy, które były obserwowane przez wywołującego w ciągu ostatnich 3 okresów. Do wywołującego można zwrócić maksymalnie 3 tematy: po jednym temacie z każdej z 3 ostatnich epok (jeśli wywołujący obserwował tematy w danej epoce). Zwrócone tematy mogą być używane przez wywołującego do uzupełnienia informacji kontekstowych i mogą być łączone, aby znaleźć bardziej odpowiednią reklamę dla użytkownika.

Epochs

Interfejs Topics API musi dbać o to, aby tematy zainteresowań były aktualne. Tematy są określane na podstawie aktywności użytkownika w okresie zwanym „epoką”, który domyślnie wynosi tydzień. Każdy użytkownik ma swoje epoki (epoki są „na użytkownika”), a czas początkowy jest losowy.

W każdej epoce interfejs Topics API oblicza 5 najpopularniejszych tematów użytkownika i określa, którzy wywołujący je użytkownicy obserwowali te tematy, korzystając z informacji na urządzeniu. Temat na potrzeby każdej epoki jest losowo wybierany spośród 5 najpopularniejszych tematów użytkownika w danym okresie. Aby jeszcze bardziej zwiększyć ochronę prywatności i zapewnić, że wszystkie tematy będą reprezentowane, istnieje 5% szansa, że temat zostanie wybrany losowo spośród wszystkich możliwych tematów w taksonomii zainteresowań.

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.