Topics API untuk Web

Topics API memungkinkan periklanan berbasis minat, tanpa menggunakan cookie pihak ketiga.

Cara kerja Topics API

Topics API dapat digunakan untuk mengamati dan memberikan akses ke topik yang tampaknya menarik bagi pengguna, berdasarkan aktivitas mereka. Topics API kemudian dapat memberi pemanggil API (seperti platform teknologi iklan) akses ke topik minat pengguna, tetapi tanpa mengungkapkan informasi tambahan tentang aktivitas pengguna.

Konsep utama

  • Topik adalah topik minat yang dapat dibaca manusia untuk pengguna saat ini, dan merupakan bagian dari taksonomi Topics.
  • Pemanggil adalah entitas, seperti aplikasi, SDK pihak ketiga, situs, atau layanan, yang membuat permintaan ke Topics API untuk mengamati atau mengakses minat pengguna.
  • Topik diamati oleh pemanggil, jika pemanggil membuat permintaan Topics API dari halaman web atau aplikasi yang terkait dengan topik ini selama tiga epoch terakhir.
  • Epoch adalah periode komputasi topik, yang secara default ditetapkan ke satu minggu.
  • Taksonomi adalah daftar kategori hierarkis, yang mencakup, misalnya, kategori seperti /Arts & Entertainment/Music & Audio/Soul & R&B dan /Business & Industrial/Business Services/Corporate Events.
  • Topik berasal dari model pengklasifikasi yang memetakan aktivitas pengguna ke nol atau beberapa topik.

Langkah inti alur Topics API

Siklus proses Topics API memiliki tiga langkah utama:

  • Amati aktivitas pengguna, seperti saat mereka mengunjungi halaman web https://cats.example/tabby/index.html atau mendownload aplikasi cats.
  • Mengambil topik dari aktivitas pengguna, misalnya /Pets & Animals/Pets/Cats.
  • Topik akses yang sebelumnya diamati untuk pengguna, misalnya sebagai sinyal untuk memilih iklan yang relevan (seperti promosi makanan kucing).

Mengamati topik

Pemanggil hanya dapat mengakses topik yang mereka amati. Pemanggil mengamati topik saat mereka membuat permintaan Topics API dari konteks yang terkait dengan topik ini. Untuk mengilustrasikan konsep ini, pertimbangkan contoh sederhana berikut.

  • Misalkan ada dua pemanggil Topics API: A dan B.
  • Ada dua konteks:
    • Greenhouse, misalnya aplikasi bernama Greenhouse atau situs greenhouse.example, yang dikaitkan dengan topik Home & Garden.
    • Latihan tenis, misalnya aplikasi bernama Latihan Tenis atau situs tennis.example, yang dikaitkan dengan topik Sports/Tennis.
  • Pemanggil A dan B ada dalam konteks Greenhouse.
  • Hanya pemanggil B yang ada dalam konteks Latihan tenis.
  • Asumsikan bahwa tidak ada topik yang diamati untuk pengguna sebelum epoch 1, demi penyederhanaan.
  • Pengguna mengunjungi aplikasi Greenhouse, dan pemanggil A dan B melakukan panggilan Topics API untuk mencatat kunjungan pengguna ke halaman atau aplikasi (lihat panduan penerapan yang disarankan di Langkah berikutnya untuk mengetahui cara memanggil Topics API). Data ini (nama host atau data aplikasi) nantinya digunakan untuk mendapatkan topik yang diminati. Topics API nantinya akan menandai topik Home & Garden seperti yang diamati oleh kedua pemanggil A dan B.
  • Pengguna membuka aplikasi Latihan tenis. Hanya pemanggil B yang mengirimkan permintaan Topics API. Topics API nantinya akan menandai topik Sports/Tennis seperti yang diamati oleh pemanggil B.
  • Pada akhir epoch, Topics API akan memuat ulang topik teratas pengguna dan menentukan pemanggil yang mengamati topik ini berdasarkan aktivitas pengguna.
  • Kemudian, saat pemanggil B melakukan panggilan Topics API lain, pemanggil tersebut bisa mendapatkan topik Home & Garden atau Sports/Tennis (atau, dengan peluang 5%, topik acak) untuk pengguna ini dalam array respons.
  • Pemanggil A hanya dapat mengakses topik Home & Garden, karena belum pernah mengamati topik Sports/Tennis. Artinya, pihak ketiga hanya akan mempelajari topik minat pengguna dalam konteks tertentu (aplikasi atau situs) tempat topik tersebut ada.
Diagram yang menunjukkan bahwa Topics API hanya menandai topik sebagai diamati jika pemanggil memiliki kehadiran dalam konteks.
Topics API menandai topik yang diamati hanya oleh pemanggil yang memiliki kehadiran dalam konteks topik ini. Pemanggil hanya akan dapat mengakses topik yang telah mereka amati.

Menghasilkan topik

Topics memperoleh topik yang diminati dari aktivitas pengguna. Topik dipilih dari taksonomi open source yang telah ditetapkan. Satu kali per epoch, Topics akan memuat ulang lima topik teratas pengguna dan pemanggil yang mengamatinya selama epoch. Model pengklasifikasi Topics memperoleh topik dari aktivitas pengguna: nama host untuk kunjungan halaman web, informasi aplikasi di Android.

Pemanggil mengakses topik yang diminati pengguna

API hanya menampilkan topik yang telah diamati oleh pemanggil dalam tiga epoch terbaru. Maksimal tiga topik dapat ditampilkan kepada pemanggil,satu topik untuk setiap tiga epoch terbaru (jika pemanggil mengamati topik untuk epoch tersebut). Topik yang ditampilkan dapat digunakan oleh pemanggil untuk melengkapi informasi kontekstual apa pun dan dapat digabungkan untuk membantu menemukan iklan yang lebih relevan bagi pengguna.

Epoch

Topics API harus memastikan bahwa topik minat yang disediakannya selalu diperbarui. Topik disimpulkan untuk pengguna berdasarkan aktivitasnya selama jangka waktu yang dikenal sebagai epoch, satu minggu secara default. Setiap pengguna memiliki epoch-nya sendiri (epoch adalah "per pengguna") dan waktu mulai awal diacak.

Sekali dalam setiap epoch, Topics API menghitung lima topik teratas pengguna dan menentukan pemanggil mana yang mengamati topik tersebut menggunakan informasi di perangkat. Topik yang dipilih untuk setiap epoch dipilih secara acak dari lima topik teratas pengguna selama jangka waktu tersebut. Untuk lebih meningkatkan privasi dan memastikan bahwa semua topik dapat diwakili, ada kemungkinan 5% bahwa topik dipilih secara acak dari semua kemungkinan topik dalam taksonomi minat.

Topik di Web dalam praktik

Di web, topik disimpulkan dari nama host halaman yang dikunjungi pengguna. Misalnya, topik yang disimpulkan untuk situs dogs.example mungkin adalah /Pets & Animals/Pets/Dogs.

Diagram berikut menunjukkan contoh sederhana untuk mendemonstrasikan cara Topics API dapat membantu platform teknologi iklan memilih iklan yang sesuai. Contoh ini mengasumsikan bahwa browser pengguna sudah memiliki model untuk memetakan nama host situs ke topik.

Diagram yang menunjukkan tahapan dalam siklus proses Topics API, mulai dari pengguna yang mengunjungi situs hingga iklan ditampilkan.
Diagram siklus proses Topics API menjelaskan tahapan tindakan API dari sudut pandang tingkat tinggi.

Browser menentukan asal pemanggil dari konteks kode yang memanggil Topics API. Dalam praktiknya, hal ini berarti pengguna Topics memanggil API dalam iframe dari asalnya atau mereka menyertakan topik dalam fetch ke asalnya.

Misalnya, platform sisi suplai (SSP) dapat disematkan di beberapa situs penayang. SSP kemudian dapat memanggil Topics API dalam iframe dari asalnya, sehingga dapat mengamati topik yang terkait dengan pengguna di situs penayang tersebut. Topik ini kemudian dapat dibagikan ke platform sisi permintaan (DSP) untuk membantunya memilih iklan yang relevan bagi pengguna.

Cara API memutuskan topik mana yang dilihat pemanggil

Pemanggil API hanya menerima topik yang baru-baru ini mereka amati, dan topik untuk pengguna diperbarui sekali setiap epoch: jangka waktu, yang ditetapkan menjadi satu minggu dalam penerapan Chrome. Artinya, API menyediakan rolling window tempat pemanggil tertentu dapat menerima topik yang diamati.

Tabel berikut menguraikan contoh (meskipun tidak realistis) histori penjelajahan hipotetis untuk pengguna selama satu epoch, yang menunjukkan topik yang terkait dengan situs yang telah mereka kunjungi, dan pemanggil API yang ada di setiap situs (entitas yang memanggil document.browsingTopics() dalam kode JavaScript yang disertakan di situs).

Situs Topik Pemanggil API di situs
running.example Running & Walking
Athletic Shoes
adtech1.example
adtech2.example
dogs.example Dogs adtech1.example
holiday.example Hotels & Accommodations adtech2.example
sunglasses.example Sunglasses [tidak ada]

Di akhir epoch (secara default satu minggu), Topics API menghasilkan topik teratas browser untuk minggu tersebut.

  • adtech1.example kini memenuhi syarat untuk menerima topik Running & Walking, Athletic Shoes, dan Dogs, karena mengamatinya di running.example dan juga di dogs.example.
  • adtech1.example tidak memenuhi syarat untuk menerima topik Hotels & Accommodations untuk pengguna ini karena tidak ada di situs yang baru-baru ini dikunjungi pengguna yang terkait dengan topik tersebut.
  • adtech2.example telah melihat topik Running & Walking, Athletic Shoes, dan Hotels & Accommodations, tetapi belum melihat topik Dogs.

Pengguna mengunjungi sunglasses.example, yang memiliki topik Sunglasses, tetapi tidak ada panggilan ke Topics API di situs tersebut. Pada tahap ini, topik Sunglasses tidak akan ditampilkan oleh API untuk pemanggil mana pun.

Pada minggu kedua, pengguna mengunjungi situs lain:

Situs Topik Pemanggil API di situs
cameras.example Camera & Photo Equipment adtech2.example

Selain itu, kode dari adtech2.example ditambahkan ke sunglasses.example:

Situs Topik Pemanggil API di situs
sunglasses.example Sunglasses adtech2.example

Selain Running & Walking, Athletic Shoes, dan Hotels & Accommodations dari minggu 1, ini berarti adtech2.example kini dapat menerima topik Camera & Photo Equipment dan Sunglasses, tetapi baru pada epoch berikutnya, yaitu minggu 3. Hal ini memastikan bahwa pihak ketiga tidak dapat mempelajari lebih lanjut masa lalu pengguna (dalam hal ini, minat pada fashion) daripada yang dapat mereka lakukan dengan cookie.

Setelah dua minggu lagi, Running & Walking, Athletic Shoes, dan Hotels & Accommodations dapat dihapus dari daftar topik yang memenuhi syarat di adtech2.example jika pengguna tidak mengunjungi situs dengan topik tersebut yang menyertakan kode dari adtech2.example.

Langkah-langkah yang dilakukan Topics API saat pengguna mengunjungi situs yang menggunakan API.
Cara API mengamati dan mengakses topik.

Model pengklasifikasi

Topics menggunakan model pengklasifikasi yang memetakan nama host situs ke nol atau lebih banyak topik (menganalisis informasi tambahan, seperti URL lengkap atau konten halaman, dapat memungkinkan iklan yang lebih relevan, tetapi juga dapat mengurangi privasi).

Taksonomi

Topik dipilih dari taksonomi. Topik ini telah dikurasi oleh Chrome, dengan tujuan agar taksonomi menjadi referensi yang dikelola oleh kontributor ekosistem tepercaya. Taksonomi harus cukup kecil sehingga browser banyak pengguna akan dikaitkan dengan setiap topik. Tujuan akhirnya adalah agar taksonomi bersumber dari pihak eksternal yang menggabungkan masukan dan ide dari seluruh industri.

Untuk menghindari kategori sensitif, topik harus bersifat publik, diseleksi oleh manusia, dan selalu diperbarui. Taksonomi yang digunakan oleh Chrome telah diseleksi oleh manusia untuk mengecualikan kategori yang umumnya dianggap sensitif, seperti etnis atau orientasi seksual.

Klasifikasi topik

Topik dikurasi secara manual untuk 50.000 situs teratas, dan daftar penggantian yang dikurasi ini berisi nama host dan topik yang digunakan untuk melatih model pengklasifikasi. Untuk situs teratas, topik diakses dari daftar penggantian, bukan dengan menggunakan model pengklasifikasi. Anda dapat melihat daftar penggantian secara lokal di komputer Anda.

Halaman chrome://topics-internals dengan panel Pengklasifikasi dipilih.
Panel Pengklasifikasi halaman chrome://topics-internals mencantumkan versi model, jalur, dan topik yang terkait dengan setiap host yang tercantum.

Implementasi Topics API Chrome mendownload file TensorFlow Lite yang merepresentasikan model sehingga dapat digunakan secara lokal di perangkat pengguna.

Cara memilih lima topik teratas pengguna

API menampilkan satu topik untuk setiap epoch, hingga maksimum tiga topik. Jika tiga topik dikembalikan, topik tersebut mencakup topik untuk epoch saat ini dan dua epoch sebelumnya.

  1. Di akhir setiap periode, browser mengompilasi daftar halaman yang memenuhi kriteria berikut:
    • Halaman dikunjungi oleh pengguna selama epoch.
    • Halaman ini menyertakan kode yang memanggil document.browsingTopics().
    • API diaktifkan (misalnya, tidak diblokir oleh pengguna atau oleh header respons).
  2. Browser, di perangkat pengguna, menggunakan model pengklasifikasi yang disediakan oleh Topics API untuk memetakan nama host setiap halaman ke daftar topik.
  3. Browser membuat daftar lima topik teratas.

    • Setiap dari 22 topik akar dalam taksonomi ditetapkan ke bucket "utilitas tinggi" atau "utilitas standar" berdasarkan masukan dari ekosistem periklanan. Browser pertama-tama mengurutkan topik berdasarkan penetapan bucket-nya. Semua topik turunan mewarisi penetapan bucket topik root induknya. Topik "utilitas tinggi" diprioritaskan.
    • Kemudian, browser mengurutkan topik berdasarkan frekuensi dalam setiap bucket.
    • Lima topik teratas dari daftar yang diurutkan ini dipilih sebagai topik teratas pengguna untuk epoch tersebut.

Metode document.browsingTopics() kemudian menampilkan topik acak dari lima topik teratas untuk setiap epoch, dengan peluang 5% bahwa salah satu topik ini dapat dipilih secara acak dari taksonomi topik lengkap. Di Chrome, pengguna juga dapat menghapus topik satu per satu, atau menghapus histori penjelajahan mereka untuk mengurangi jumlah topik yang ditampilkan oleh API. Pengguna juga dapat memilih untuk tidak menggunakan API.

Anda dapat melihat informasi tentang topik yang diamati selama epoch saat ini dari halaman chrome://topics-internals.

Langkah berikutnya

Siapkan lingkungan Anda untuk menguji dan mengembangkan aplikasi web dengan Topics API.
Lihat detail penerapan dan contoh kode bagi pemanggil untuk mengamati dan mengakses topik.

Lihat juga

Lihat referensi kami untuk lebih memahami Topics API di Web.