Ringkasan URL yang dipilih

Select URL memungkinkan Anda memilih konten yang akan ditampilkan kepada pengguna berdasarkan data Shared Storage mereka, tanpa mengungkapkan data tersimpan pokok.

Jika ingin menampilkan konten berdasarkan data lintas situs dengan cara yang menjaga privasi, Anda dapat menggunakan Select URL API. Select URL API berfungsi dengan baik untuk kasus penggunaan seperti:

  • Menguji konten A/B untuk pengalaman pengguna yang konsisten di beberapa situs.
  • Menampilkan tombol login yang berbeda untuk pengguna yang memiliki akun dan pengguna yang tidak memiliki akun.
  • Menggilir materi iklan untuk membatasi frekuensi pengguna melihat iklan yang sama di beberapa situs.

Apa itu Select URL API?

Select URL API memungkinkan Anda memilih di antara sekumpulan URL berdasarkan data lintas situs. API ini dibangun di atas Shared Storage dan menggunakan SharedStorageWorklet untuk membaca data lintas situs yang tersedia dan memilih salah satu URL yang disediakan. URL yang dipilih ditampilkan kepada pemanggil dengan cara yang mencegahnya dibaca, kecuali dalam frame tertutup. URL juga dapat dirender dalam iframe hingga setidaknya tahun 2026.

Diagram yang menampilkan iframe shoes.example yang disematkan ke situs penayang yang berbeda, termasuk news.example, blog.example. Situs shoes.com dapat mengakses penyimpanan yang tidak dipartisi miliknya dari setiap situs tingkat teratas.

Dalam diagram sebelumnya, situs shoes.example dapat disematkan ke situs penayang lain seperti news.example dan tetap mengakses data yang sama menggunakan Select URL with Shared Storage untuk memilih konten yang sesuai untuk disematkan.

Cara kerja Pilih URL

Anda dapat menggunakan Select URL API untuk memilih URL yang akan dirender ke dalam frame tertutup atau iframe menggunakan data lintas situs. Gunakan JavaScript untuk membaca dan menulis data lintas situs di Shared Storage, lalu pilih URL dari daftar yang disediakan berdasarkan data yang disimpan.

Situs atau origin yang terdaftar dapat menulis data ke Shared Storage, lalu situs hanya dapat membaca data tersebut dengan Select URL API.

URL yang dirender dapat menyertakan semua jenis konten: iklan, artikel, gambar, HTML, pesan ajakan (seperti tombol), dan lainnya.

Dalam contoh ini, Anda menjalankan situs perjalanan dan menjalankan kampanye iklan dengan tiga materi iklan yang berbeda. Anda ingin mengurutkan materi iklan ini berdasarkan interaksi pengguna (penayangan atau klik).

Tiga materi iklan, yang ditampilkan kepada pengguna berdasarkan interaksi mereka sebelumnya.
Materi iklan pertama untuk penonton baru mengatakan, "Lanjutkan petualangan Anda". Hanya dengan melihat dan tanpa mengklik, materi iklan berikutnya yang dilihat pengguna bertuliskan "Jelajahi tujuan liburan akhir pekan". Setelah melihat atau mengklik, materi iklan ketiga mendorong pengguna untuk "Klik untuk mendapatkan Diskon Hotel Anda". Jika pengguna mengklik iklan pertama, iklan berikutnya yang akan mereka lihat adalah materi iklan ketiga.

Saat situs pertama kali mengamati ruang iklan yang menang, Anda dapat menyimpan ID dan status klik untuk materi iklan tersebut di Shared Storage.

Contoh:

await sharedStorage.set('last-creative', 'globe');
await sharedStorage.set('click', 'true');

Artinya, saat Anda memenangkan lelang iklan di situs lain yang dikunjungi pengguna ini, Anda dapat menampilkan iklan yang berbeda berdasarkan data tersebut.

Penjelasan Shared Storage dengan tiga materi iklan dan interaksi pengguna.

JavaScript Anda berjalan di SharedStorageWorklet untuk mengambil informasi ini, tetapi kode Anda tidak dapat berinteraksi atau berkomunikasi di luar iframe atau frame tertutup di halaman induk.

Sebagai contoh lain, Anda mungkin ingin menguji artikel mana yang akan berperforma lebih baik dalam konteks sematan. Untuk mengujinya, Anda dapat menetapkan pengguna ke grup eksperimen saat melihat pengguna tersebut di situs Anda, lalu menyimpan ID grup tersebut di Shared Storage untuk diakses dalam konteks lintas situs. Di situs lain, Anda dapat menggunakan Select URL API untuk memilih URL yang paling sesuai untuk dirender dalam frame tertutup, berdasarkan grup eksperimen pengguna tersebut yang disimpan dengan Shared Storage.

Dengan menggunakan Pilih URL, Anda dapat membuat keputusan yang tepat berdasarkan data lintas situs, tanpa membagikan informasi pengguna (seperti histori browser atau detail pribadi lainnya) ke situs penyematan atau mengekstraksi data ke server Anda sendiri.

Anggaran

Untuk mengurangi risiko kebocoran data lintas situs, Select URL API menggunakan sistem penetapan anggaran dengan kombinasi anggaran jangka panjang dan jangka pendek:

  • Anggaran jangka panjang: Anggaran jangka panjang adalah 12 bit per situs pemanggil, per hari saat menggunakan selectURL(). Anggaran ini hanya ditagih jika frame yang menghosting URL yang dipilih melakukan navigasi tingkat teratas, dengan biaya dihitung sebagai log2(number of URLs). Jadi, jika Anda memberikan 8 URL untuk dipilih, biayanya adalah 3 bit. Sisa anggaran untuk hari tersebut dihitung sebagai 12 - (sum of bits deducted in the last 24 hours). Jika anggaran yang tersisa tidak mencukupi, URL default (URL pertama dalam daftar) akan ditampilkan dan 1 bit dicatat jika URL default dibuka.
  • Anggaran jangka pendek: Anggaran jangka pendek adalah batas tambahan berdasarkan pemuatan per halaman hingga frame tertutup diterapkan sepenuhnya dan saat pelaporan tingkat peristiwa tersedia. Ada anggaran 6 bit per situs panggilan, per pemuatan halaman yang membatasi seberapa banyak satu situs panggilan dapat membocorkan menggunakan selectURL(). Ada juga anggaran 12 bit secara keseluruhan per pemuatan halaman yang merupakan batas gabungan untuk semua situs panggilan di halaman.

    Kueri tersimpan memungkinkan Anda menggunakan kembali hasil selectURL() sebelumnya di halaman yang sama, sehingga mengurangi penggunaan anggaran jangka pendek. Saat selectURL() dipanggil dengan nama kueri tersimpan untuk pertama kalinya, indeks yang dihasilkan akan disimpan selama masa aktif halaman. Saat selectURL() dipanggil dengan nama kueri tersimpan yang sama untuk panggilan lanjutan, indeks yang disimpan akan ditampilkan dan operasi yang terdaftar tidak berjalan. Dalam hal ini, anggaran hanya dikenai biaya pada penggunaan pertama, tetapi tidak pada penggunaan ulang dalam pemuatan halaman yang sama karena tidak ada informasi baru yang terungkap.

    Anda dapat menerapkan kueri tersimpan dengan menambahkan properti savedQuery dengan nama kueri yang dipilih ke objek opsi, seperti yang ditunjukkan dalam contoh ini.

    const topProductUrls = [
      { url: 'https://ad.example/default-top-product.html' },
      { url: 'https://ad.example/experiment-top-product.html' }];
    const relatedProductUrls = [
      { url: 'https://ad.example/default-related-product.html' },
      { url: 'https://ad.example/experiment-related-product.html' }];
    
    // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'`
    // on this page, so it will be charged to both per-page budgets.
    const topProductsConfig = await sharedStorage.selectURL(
      'productExperiment', topProductUrls, {
        savedQuery: 'control_or_experiment',
        keepAlive: true,
        resolveToConfig: true
    });
    document.getElementById('topProductsFencedFrame').config = topProductsConfig;
    
    // This next call with this savedQuery won't charge either of the per-page budgets.
    const relatedProductConfig = await sharedStorage.selectURL(
      'productExperiment', relatedProductUrls, {
        savedQuery: 'control_or_experiment',
        resolveToConfig: true
    });
    document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
    

Pilih kasus penggunaan URL API

Jika Anda membuat situs dengan fitur yang perlu berfungsi di berbagai domain, Anda mungkin memiliki salah satu kasus penggunaan berikut:

  • Ganti materi iklan: Batasi frekuensi pengguna melihat iklan yang sama di beberapa situs dengan menyimpan data, seperti ID materi iklan, jumlah penayangan, dan interaksi pengguna, untuk menentukan materi iklan yang dilihat pengguna di berbagai situs. Dengan demikian, Anda dapat menyeimbangkan penayangan dan menghindari kejenuhan konten tertentu untuk membatasi kemungkinan pengalaman pengguna yang negatif. Untuk mengetahui informasi selengkapnya tentang kasus penggunaan ini, lihat Merotasi materi iklan.
  • Pilih materi iklan menurut frekuensi: Simpan jumlah penayangan browser di Shared Storage untuk membatasi frekuensi pengguna melihat iklan yang sama di beberapa situs. Untuk mengetahui informasi selengkapnya tentang kasus penggunaan ini, lihat Memilih materi iklan menurut frekuensi.
  • Menyesuaikan pengalaman pengguna untuk pelanggan yang dikenal: Tawarkan pengalaman yang konsisten di berbagai domain Anda. Bagikan konten kustom dan tombol ajakan (CTA) berdasarkan status pendaftaran pengguna atau status pengguna lainnya, dan tawarkan pengalaman yang konsisten di berbagai domain Anda. Untuk mengetahui informasi selengkapnya tentang kasus penggunaan ini, lihat Menyesuaikan pengalaman pengguna untuk pelanggan yang dikenal.
  • Menjalankan pengujian A/B: Pengujian A/B membandingkan dua atau lebih versi konfigurasi untuk menentukan versi mana yang berperforma terbaik. Anda dapat menetapkan pengguna ke grup eksperimen, lalu menyimpan grup tersebut di Shared Storage untuk akses lintas situs. Dengan begitu, Anda dapat mengumpulkan insight tentang perilaku pengguna di seluruh jaringan situs Anda, tanpa melacak individu. Untuk mengetahui informasi selengkapnya tentang kasus penggunaan ini, lihat Menjalankan pengujian A/B.

Select URL API dengan Shared Storage memungkinkan Anda mengembangkan kasus penggunaan ini dengan memiliki akses ke penyimpanan yang sama di berbagai situs tingkat atas.

Bereksperimen dengan demo

Anda dapat bereksperimen dengan Pilih URL menggunakan demo Shared Storage.

Demo ini dibuat dari perspektif pengiklan, teknologi iklan, distributor konten, atau layanan pihak ketiga lainnya yang ingin menyimpan informasi di berbagai situs penayang. Dalam demo, kode pihak ketiga yang sama berjalan di situs Penerbit A dan Penerbit B untuk setiap kasus penggunaan. Buka halaman setiap penayang untuk melihat cara data dibagikan dalam konteks lintas situs.

Anda juga dapat meninjau kode untuk demo di GitHub.

Status API

Select URL API dalam ketersediaan umum. Untuk menggunakan Select URL API atau mengaktifkannya untuk pengembangan lokal, ikuti petunjuk untuk mendaftar ke Privacy Sandbox.

Proposal Status
Pelaporan tingkat peristiwa untuk Pemilihan Konten (selectURL()) Tersedia hingga setidaknya tahun 2026
Penentuan anggaran per situs
Penjelasan
Tersedia di M119
Proses debug worklet Penyimpanan Bersama dengan DevTools
Bagian
Tersedia di M120

Berinteraksi dan memberikan masukan

Perhatikan bahwa proposal Select URL API sedang dalam tahap pembahasan dan pengembangan yang berlanjut, sehingga dapat berubah sewaktu-waktu.

Kami ingin mendengar pendapat Anda tentang Select URL API.