Pembatasan frekuensi Protected Audience

Pembatasan frekuensi adalah praktik pengiklanan yang membatasi jumlah iklan dari kategori tertentu yang ditampilkan kepada pengguna dalam jangka waktu tertentu. Pembatasan frekuensi meningkatkan pengalaman pengguna akhir dengan menjaga tayangan iklan tetap segar dan menarik, serta membantu pengiklan mengelola pembelanjaan iklan.

Proposal ini memperkenalkan cara menggunakan Protected Audience di Android untuk menerapkan fungsi pembatasan frekuensi secara akurat dan menjaga privasi.

Protected Audience menerapkan pembatasan frekuensi dengan menggabungkan dua fitur: Penyimpanan penghitung di perangkat untuk peristiwa khusus iklan dan kemampuan untuk memfilter iklan sesuai dengan kumpulan strategi filter yang telah ditentukan. Dengan pembatasan frekuensi, pengiklan dapat memperlihatkan nilai minimum penghitung pada jumlah nilai histogram selama jangka waktu tertentu.

Penghitung bersifat unik untuk setiap kombinasi profil perangkat, teknologi iklan, dan kunci penghitung. Setiap iklan harus berisi kumpulan kunci penghitung yang akan digunakan jika tampilan atau tayangan untuk iklan didaftarkan. Untuk setiap kunci, Protected Audience menyimpan kumpulan penghitung, dan setiap penghitung akan menghitung semua peristiwa khusus iklan yang terjadi dalam interval waktu tertentu. Penghitung di perangkat akan bertambah saat tayangan atau tampilan berlangsung, dan data penghitung akan disimpan di perangkat. Waktu persistensi yang tepat akan ditentukan nanti.

Logika pemfilteran iklan di alur kerja pemilihan iklan Protected Audience memiliki akses ke penghitung, iklan pemasaran ulang, dan iklan kontekstual, sehingga pembatasan frekuensi Protected Audience dapat menangani semua jenis permintaan iklan.

Catatan: Pemfilteran iklan hanya tersedia di Privacy Sandbox di Android. Penerapan Protected Audience Chrome saat ini tidak menerapkan mekanisme pemfilteran iklan non-Protected Audience yang ditargetkan secara kontekstual. Proposal ini hanya mencakup dukungan sisi beli. Jika ada permintaan, kami akan menambahkan dukungan sisi jual di kemudian hari.

Pembatasan frekuensi Protected Audience mendukung berbagai persyaratan, termasuk:

  • Pemfilteran real-time, dengan penundaan sisi server minimal saat penghitung di perangkat diupdate.
  • Hierarki kunci yang fleksibel, termasuk setiap iklan, kampanye, atau pengelompokan lainnya.
  • Kongruen dengan metode pembatasan frekuensi lainnya, tanpa dependensi pada AdID.
  • Berfungsi di seluruh aplikasi pada profil pengguna perangkat tertentu.
  • Penghitung yang akurat dan lengkap.
  • Dukungan untuk definisi kustom peristiwa iklan, seperti tampilan atau tayangan.
  • Satu fungsi untuk pemasaran ulang dan iklan kontekstual.

Untuk menyiapkan pembatasan frekuensi, ikuti langkah-langkah berikut:

Langkah 1: Menambahkan informasi pembatasan frekuensi ke iklan

Iklan kontekstual dan pemasaran ulang menunjukkan penghitung histogram yang relevan untuk diupdate jika ada tampilan atau tayangan yang menggunakan kolom ad_counter_keys yang berisi daftar bilangan bulat arbitrer. Kolom ini tidak disertakan dalam kolom metadata yang tidak diurai oleh Protected Audience.

Contoh berikut menunjukkan format data untuk kolom adsData di AdSelectionConfig. Untuk pemasaran ulang, format daftar iklan untuk audiens kustom tertentu konsisten dengan konten kolom ads yang ditunjukkan dalam contoh berikut:

'adsData': [
  {
    "buyer": "ads.example.com",
    "ads": [
      {
        'render_url': 'exampleUrl',
        'metadata': {...},   /* metadata are opaque to Protected Audience are
                                required to be in valid JSON format */
        'ad_counter_keys': [1234, 5678]
      }]
  }]
}

Langkah 2: Mendaftarkan tampilan atau tayangan

Teknologi iklan dapat memanggil metode updateAdCounterHistogram untuk mendaftarkan kemunculan peristiwa yang digunakan untuk pembatasan frekuensi. Metode dapat dipanggil berulang kali pada peristiwa yang sama untuk kunci yang ditentukan dalam eventType iklan pemenang.

void updateAdCounterHistogram(@EventType eventType, long adSelectionId)

Input:

  • eventType: Mengidentifikasi apakah peristiwa dihitung sebagai tampilan, tayangan, klik, atau kemenangan dalam proses pemilihan iklan.
  • adSelectionId: Nilai ID dalam objek AdSelectionOutcome yang ditampilkan oleh panggilan selectAds.

Panggilan updateAdCounterHistogram akan mengupdate histogram untuk kumpulan kunci yang ditetapkan sebagai bagian dari iklan pemasaran ulang yang diambil oleh CustomAudience atau iklan kontekstual yang disertakan dalam parameter AdSelectionConfig untuk selectAds.

Jika Anda menganggap bahwa iklan di Langkah 1 adalah pemenang AdSelection dengan nilai id sebanyak 9999, panggilan ke updateAdCounterHistogram(FrequencyCapFilters.AD_EVENT_TYPE_VIEW, adSelectionId: 999) akan menambahkan penghitung untuk tiga kunci utama berikut:

  • {'ads.example.com', 1234, VIEW}
  • {'ads.example.com', 5678, VIEW}

Nama teknologi iklan diambil dari kolom pembeli, baik dari iklan kontekstual maupun dari audiens kustom, bergantung pada tempat asal iklan pemenang.

Protected Audience untuk Android secara otomatis menambah semua penghitung yang disebutkan di atas untuk jenis peristiwa FrequencyCapFilters.AD_EVENT_TYPE_WIN untuk iklan yang ditampilkan oleh panggilan API selectAds. Secara fungsional, tindakan ini sama seperti menambahkan argumen prev_wins ke browser_signals di generateBid dalam implementasi Protected Audience Chrome.

Langkah 3: Menerapkan pemfilteran pembatasan frekuensi dengan filter

Untuk performa yang optimal, fungsi pemfilteran pembatasan frekuensi dijalankan dalam AdServices. Protected Audience dapat memahami apakah pesan harus difilter dengan membaca kolom filter di objek AdsData. Daftar filter ditentukan di frequency_cap. Nilai untuk kunci, event_type, dan interval_in_seconds digunakan untuk mengambil histogram peristiwa yang digunakan untuk pemfilteran dan Protected Audience.

Informasi pemfilteran dapat ditentukan untuk iklan pemasaran ulang yang diberikan oleh audiens kustom dan untuk iklan kontekstual sebagai bagian dari objek AdSelectionConfig.

Untuk iklan kontekstual dengan filter pembatasan frekuensi, iklan diteruskan menggunakan kolom iklan dalam objek AdSelectionConfig. Iklan difilter, lalu iklan dengan bid tertinggi akan ditampilkan sebagai hasil dari panggilan selectAds.

Untuk iklan pemasaran ulang dengan filter pembatasan frekuensi, iklan akan difilter sebelum fungsi JavaScript generateBid() yang disediakan pembeli dipanggil.

Contoh berikut menampilkan pesan dengan pemfilteran pembatasan frekuensi:

{
  'render_url': 'url',
  'metadata': {...},   /* metadata are opaque to Protected Audience and assumed
                        to be in valid JSON format */

  'ad_counter_keys': [1234, 5678],

  "filters": {
    "frequency_cap": {
      "view": [
        {
          "ad_counter_key": 1234
          "max_count": 10,
          "interval_in_seconds": 86400
        },
        {
          "ad_counter_key": 5678
          "max_count": 10,
          "interval_in_seconds": 86400
        },
      ],
      "win": [
        {
          "ad_counter_key": 1234
          "max_count": 5,
          "interval_in_seconds": 604800
        },
        {
          "ad_counter_key": 5678
          "max_count": 5,
          "interval_in_seconds": 345600
        },
      ]
    },

  // This field is only required in contextual ads and is used in
  // reportImpression calls to fetch the reportWin function.
  'reportingJS': "https://ads.example.com?reportWin.js"
}

Langkah 4: Membuat laporan tentang Iklan pemenang

Setelah selesai, proses pemilihan iklan akan menampilkan objek AdSelectionOutcome yang berisi renderUri dan adSelectionId, ID numerik untuk panggilan selectAds. ID ini dapat digunakan untuk memanggil reportImpression API yang saat ini mendukung pelaporan tingkat peristiwa. Di Beta 1, metode ini mendukung pelaporan untuk iklan pemasaran ulang, dan akan diperluas guna mendukung pelaporan untuk iklan kontekstual dalam rilis selanjutnya. Untuk iklan kontekstual, pembeli wajib menunjukkan tempat fungsi reportWin dapat diambil selama panggilan reportImpression menggunakan kolom tambahan yang disebut reportingJS di struktur iklan, seperti yang ditunjukkan pada contoh di atas.

Praktik terbaik untuk memilih kandidat iklan

Protected Audience memindahkan penerapan pembatasan frekuensi dari server ke perangkat. Meskipun bid yang menang dilaporkan dengan Privacy Sandbox, developer tidak akan mengetahui alasan iklan tidak ditampilkan. Iklan mungkin tidak ditampilkan karena adanya bid yang kalah, atau karena pembatasan frekuensi. Dengan tidak adanya visibilitas penuh tentang alasan iklan tertentu tidak menang, sistem bidding memerlukan upaya tambahan untuk memastikan iklan yang optimal akan ditayangkan. Praktik terbaik ini akan membantu memastikan penayangan iklan yang optimal dengan Protected Audience.

Mengirim iklan pemasaran ulang yang cukup

Iklan pemasaran ulang tidak dapat dioptimalkan per pengguna. Jika pengguna melihat ada banyak iklan dari audiens kustom dan batas iklan rendah, semua iklan dapat difilter. Iklan pemasaran ulang diperbarui secara berkala sehingga inventaris iklan yang memadai harus melewati pembatasan frekuensi untuk memastikan iklan pemasaran ulang terus ditayangkan. Hal ini perlu diseimbangkan dengan batasan ukuran iklan yang dapat ditentukan selama panggilan joinCustomAudience, dan selama update harian audiens kustom. Pembeli harus mempertimbangkan kemungkinan adanya peningkatan latensi selama fase bidding. Untuk meminimalkan dampak masalah ini, pemfilteran pembatasan frekuensi dilakukan sebelum panggilan ke generateBid.

Menyimpan penghitung kontekstual di server

Dengan estimasi sisi server, developer dapat secara kasar memperkirakan kapan pembatasan frekuensi mungkin aktif. Estimasi tersebut dapat menunjukkan bahwa iklan kemungkinan telah mencapai nilai minimum pembatasan frekuensi sehingga harus dikirim dengan lebih banyak kandidat iklan atau dihilangkan sepenuhnya.

Mengirim beberapa kandidat iklan di respons kontekstual

Anda harus mengirimkan beberapa kandidat iklan dengan respons kontekstual sebelum lelang Protected Audience. Hal ini memastikan bahwa jika beberapa iklan difilter, iklan lainnya tetap ditampilkan. Kandidat iklan dapat diprioritaskan sehingga beberapa iklan disediakan sebagai cadangan.

Karena eksekusi selalu terikat waktu, kandidat iklan harus dipilih sesuai dengan kecenderungannya untuk memenangkan lelang dan tidak akan difilter.

Batasan

Berikut adalah batasan umum untuk pembatasan frekuensi Protected Audience:

  1. Pembatasan frekuensi Protected Audience beroperasi di tingkat profil pengguna perangkat, tanpa penghitung bersama di perangkat lain dan profil lainnya. Setiap penambahan iklan yang ditampilkan dari perangkat lain harus digabungkan secara manual, jika diperlukan.
  2. Penghitung perangkat disimpan dan diakses di perangkat. Penghitung sisi server harus dikelola terpisah.
  3. Platform teknologi iklan tidak dapat mengontrol operasi ini secara langsung karena pembatasan frekuensi dan pemfilteran iklan yang terkait diproses di perangkat. Untuk mengabaikan nilai minimum pembatasan frekuensi perangkat, platform teknologi iklan dapat mengirim beberapa iklan kandidat dengan filter yang berbeda.
  4. Penyesuaian bid berdasarkan frekuensi yang tercatat tidak didukung. Fungsi generateBid tidak dapat melihat penghitung frekuensi.