Topics API untuk Web

Topics API memungkinkan iklan 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 minat yang telah 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 membuka 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.

Penerapan Topik di Web

Di web, topik disimpulkan dari nama host halaman yang dikunjungi pengguna. Misalnya, topik yang disimpulkan untuk situs dogs.example mungkin adalah /Hewan Peliharaan & Binatang/Hewan Peliharaan/.

Diagram berikut menunjukkan contoh sederhana untuk menunjukkan 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 origin mereka atau menyertakan topik dalam pengambilan ke origin mereka.

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 menentukan pemanggil yang melihat topik tertentu

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

Tabel berikut menguraikan contoh (meskipun kecil secara tidak realistis) histori penjelajahan hipotetis untuk pengguna selama satu epoch, yang menampilkan topik yang terkait dengan situs yang telah mereka kunjungi, dan pemanggil API yang ada di setiap situs (entity 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 [none]

Di akhir epoch (secara default satu minggu), Topics API akan 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 bagi pengguna ini karena tidak ada di situs mana pun yang baru-baru ini dikunjungi pengguna dan dikaitkan 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, artinya topik Sunglasses tidak akan ditampilkan oleh API untuk pemanggil apa 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 ke-1, hal ini berarti adtech2.example kini dapat menerima topik Camera & Photo Equipment dan Sunglasses — tetapi tidak sampai epoch berikutnya, minggu ke-3. Hal ini memastikan bahwa pihak ketiga tidak dapat mempelajari lebih lanjut masa lalu pengguna (dalam hal ini, minat pada mode) 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 adtech2.example jika pengguna tidak mengunjungi situs apa pun 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 beberapa 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 diseleksi oleh Chrome, dengan tujuan agar taksonomi menjadi referensi yang dikelola oleh kontributor ekosistem tepercaya. Taksonomi harus cukup kecil sehingga banyak browser 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 tetap 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 diseleksi secara manual untuk 50.000 situs teratas, dan daftar penggantian nama host dan topik yang diseleksi ini 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.

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

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

Cara lima topik teratas pengguna dipilih

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

  1. Di akhir setiap epoch, browser mengompilasi daftar halaman yang memenuhi kriteria berikut:
    • Halaman dikunjungi oleh pengguna selama epoch.
    • Halaman 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 untuk setiap halaman ke daftar topik.
    • Setiap dari 22 topik root dalam taksonomi ditetapkan ke bucket "utilitas tinggi" atau "utilitas standar" berdasarkan masukan dari ekosistem periklanan. Browser terlebih dahulu mengurutkan topik berdasarkan penetapan bucket-nya. Semua topik turunan mewarisi penetapan bucket dari topik root induknya. Topik "Kegunaan tinggi" diprioritaskan.
    • Kemudian, browser akan 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 teratas untuk setiap epoch, dengan peluang 5% bahwa salah satu dari topik tersebut 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 tidak ikut 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 implementasi dan contoh kode bagi pemanggil untuk mengamati dan mengakses topik.

Lihat juga

Lihat referensi kami untuk lebih memahami Topics API di Web.