Interfejs Topics API na potrzeby stron internetowych

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

Jak działa interfejs Topics API

Interfejs Topics API może służyć do obserwowania tematów, które wydają się interesować 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 interesujące 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 element, 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 obserwacji wywołujący wysłał żądanie do interfejsu Topics API z powiązanej z tym tematem strony internetowej lub aplikacji.
  • Epoka to okres obliczania tematu, który domyślnie wynosi tydzień.
  • Taksonomia to hierarchiczna lista kategorii, która obejmuje m.in. takie kategorie jak /Arts & Entertainment/Music & Audio/Soul & R&B/Business & Industrial/Business Services/Corporate Events.
  • Tematy są wyodrębniane za pomocą modelu klasyfikatora, który przypisuje aktywność użytkownika do 0 lub więcej tematów.

Podstawowe kroki w ramach interfejsu 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 programy 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 rozmówca A, jak i B są obecni 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 obie wywołujące go strony A i B.
  • 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 listę najpopularniejszych tematów 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% prawdopodobieństwo losowy temat) 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 usługa zewnętrzna będzie wiedzieć o tematach zainteresowań użytkownika tylko w określonym kontekście (aplikacji lub witryny), w którym się one pojawiają.
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

Na podstawie aktywności użytkownika funkcja Topics określa tematy, które go interesują. 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łania, które je obserwowały w trakcie tej ery. Model klasyfikatora tematów wywodzi tematy z aktywności użytkowników: nazwy hosta w przypadku wizyty na stronie internetowej 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 zostały zaobserwowane przez wywołującego w ciągu ostatnich 3 okresów. Do wywołującego mogą zostać zwrócone maksymalnie 3 tematy: po jednym temacie z każdej z 3 ostatnich epok (jeśli wywołujący obserwował tematy w tej 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 zapewniać aktualność tematów zainteresowań. Tematy są określane na podstawie aktywności użytkownika w okresie zwanym „epoką”, który domyślnie wynosi 1 tydzień. Każdy użytkownik ma swoje własne 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 odnotowali, 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 dotyczące internetu w praktyce

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

Na diagramie poniżej przedstawiono uproszczony przykład pokazujący, jak interfejs Topics API może pomóc platformie adtech w wybieraniu odpowiedniej reklamy. W przykładzie zakładamy, że przeglądarka użytkownika ma już model do mapowania nazw hostów witryn na tematy.

Diagram pokazujący etapy cyklu życia interfejsu Topics API, od odwiedzania przez użytkownika witryn do wyświetlania reklamy
Diagram cyklu życia interfejsu Topics API przedstawia etapy działań interfejsu API z ogólnego punktu widzenia.

Przeglądarka określa origin wywołującego na podstawie kontekstu kodu wywołującego interfejs Topics API. W praktyce oznacza to, że użytkownicy Topics wywołują interfejs API w iframe z ich źródła lub dołączają tematy do wyszukiwania w ich źródle.

Na przykład platforma SSP może być osadzona w wielu witrynach wydawców. Platforma SSP mogłaby wtedy wywołać interfejs Topics API w ramce iframe ze swojego źródła, co pozwoliłoby jej obserwować tematy powiązane z użytkownikiem w witrynach tych wydawców. Te tematy można następnie udostępnić platformie DSP, aby ułatwić jej wybór odpowiedniej reklamy dla użytkownika.

Jak interfejs API określa, którzy wywołujący widzą które tematy

Interfejsy API otrzymują tylko tematy, które były ostatnio obserwowane, a tematy dla użytkownika są odświeżane raz na każdą epokę, czyli okres czasu ustawiony w Chrome na tydzień. Oznacza to, że interfejs API udostępnia ruchome okno, w którym określony wywołujący może otrzymywać obserwowane tematy.

Poniższa tabela zawiera przykład (choć nierealistycznie mały) hipotetycznej historii przeglądania użytkownika w jednej epoce. Pokazuje ona tematy związane z odwiedzonymi przez niego witrynami oraz wywołania interfejsu API w każdej z nich (czyli podmioty, które wywołują funkcję document.browsingTopics() w zawartej w witrynie treści JavaScript).

Witryna Tematy Wywołujący interfejs 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]

Na koniec okresu (domyślnie 1 tydzień) interfejs Topics API generuje najpopularniejsze tematy przeglądarki w danym tygodniu.

  • adtech1.example może teraz otrzymywać tematy Running & Walking, Athletic ShoesDogs, ponieważ zostały one zaobserwowane w running.example i dogs.example.
  • adtech1.example nie kwalifikuje się do wyświetlania tematu Hotels & Accommodations temu użytkownikowi, ponieważ nie jest on obecny na żadnej z witryn, które użytkownik ostatnio odwiedził i które są powiązane z tym tematem.
  • 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. Oznacza to, że interfejs API nie zwróci tematu Sunglasses dla żadnego wywołującego.

W 2. tygodniu użytkownik odwiedza inną witrynę:

Witryna Tematy Wywołujący interfejs API w witrynie
cameras.example Camera & Photo Equipment adtech2.example

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

Witryna Tematy Wywołujący interfejs API w witrynie
sunglasses.example Sunglasses adtech2.example

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

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

Działania wykonywane przez interfejs Topics API, gdy użytkownicy odwiedzają strony korzystające z tego interfejsu.
Jak interfejs API obserwuje tematy i uzyskuje do nich dostęp.

Model klasyfikatora

Topics korzysta z modelu klasyfikatora, który mapuje nazwy hostów witryn na zero lub więcej tematów (analiza dodatkowych informacji, takich jak pełne adresy URL lub zawartość strony, może pozwolić na wyświetlanie trafniejszych reklam, ale może też naruszać prywatność).

Taksonomia

Tematy są wybierane z taksonomii. Te tematy zostały wybrane przez zespół Chrome, aby taksonomia stała się zasobem utrzymywanym przez zaufanych twórców w ekosystemie. Taksonomia musi być na tyle mała, aby wiele przeglądarek użytkowników było powiązanych z każdym tematem. Ostatecznym celem jest pozyskanie taksonomii od podmiotu zewnętrznego, który uwzględnia opinie i pomysły z całej branży.

Aby uniknąć kategorii o charakterze kontrowersyjnym, tematy muszą być publiczne, wyselekcjonowane przez człowieka i aktualne. Taksonomię używaną przez Chrome stworzono ręcznie w celu wykluczenia kategorii, które są powszechnie uważane za wrażliwe, takich jak pochodzenie etniczne czy orientacja seksualna.

Klasyfikacja tematów

Tematy są ręcznie wybierane w przypadku 50 tys. najpopularniejszych witryn, a ta lista 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 Classifier
W panelu chrome://topics-internals Klasyfikator wymienione są wersja modelu, jego ścieżka oraz tematy powiązane z każdym z hostów.

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 wybierane są 5 najpopularniejszych tematów użytkownika

Interfejs API zwraca 1 temat na każdą epokę (maksymalnie 3). Jeśli zwracane są 3 wartości, obejmują one tematy z bieżącej ery i 2 poprzednich.

  1. Na koniec każdej ery przeglądarka tworzy listę stron spełniających te kryteria:
    • Strona została odwiedzona przez użytkownika w okresie epoki.
    • Strona zawiera kod wywołujący funkcję document.browsingTopics().
    • interfejs API został włączony (np. nie został zablokowany przez użytkownika lub przez nagłówek odpowiedzi);
  2. Przeglądarka na urządzeniu użytkownika korzysta z modelu klasyfikatora udostępnianego przez interfejs Topics API, aby mapować nazwę hosta każdej strony na listę tematów.
    • Każdy z 22 tematów głównych w taksonomii jest przypisany do grupy o „wysokiej przydatności” lub „standardowej przydatności” na podstawie opinii z ekosystemu reklamowego. Najpierw sortuje tematy według przypisania do puli. Wszystkie tematy potomne dziedziczą przypisanie do puli swojego tematu głównego nadrzędnego. Tematy o „wysokiej przydatności” mają wyższy priorytet.
    • Następnie przeglądarka sortuje tematy według częstotliwości w każdej grupie.
    • 5 najpopularniejszych tematów z tej posortowanej listy zostanie wybranych jako najpopularniejsze tematy użytkownika w danej epoce.

Następnie metoda document.browsingTopics() zwraca losowy temat z 5 najpopularniejszych w każdej epoce. Szansa, że zostanie wybrany losowo z całej taksonomii tematów, wynosi 5%. W Chrome użytkownicy mogą też usuwać poszczególne tematy lub czyś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 obserwowanych w bieżącej epoce znajdziesz na stronie chrome://topics-internals.

Dalsze kroki

Przygotuj swoje ś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.