Attribution Reporting: ringkasan sistem lengkap

Ringkasan tingkat tinggi tentang layanan terhubung untuk Attribution Reporting, yang ditujukan untuk pengambil keputusan teknis.

Attribution Reporting API memungkinkan teknologi iklan dan pengiklan untuk mengukur kapan klik iklan atau penayangan menghasilkan konversi, seperti pembelian. API ini bergantung pada kombinasi integrasi sisi klien dan sisi server, bergantung pada kebutuhan bisnis Anda.

Sebelum melanjutkan, pastikan Anda membaca ringkasan Pelaporan Atribusi. Cara ini akan membantu Anda memahami tujuan API dan alur berbagai laporan output (laporan tingkat peristiwa dan laporan ringkasan). Jika Anda menemukan istilah yang tidak dikenal, lihat glosarium Privacy Sandbox.

Untuk siapa artikel ini?

Anda harus membaca artikel ini jika:

  • Anda adalah pengambil keputusan teknis atau teknologi iklan. Anda dapat bekerja di bidang operasional, DevOps, data science, IT, pemasaran, atau peran lain saat membuat keputusan penerapan teknis. Anda ingin tahu cara kerja API untuk pengukuran yang menjaga privasi.
  • Anda adalah praktisi teknis (seperti developer, operator sistem, arsitek sistem, atau data scientist) yang akan menyiapkan eksperimen dengan lingkungan Layanan Agregasi dan API ini.

Dalam artikel ini, Anda akan membaca penjelasan lengkap dan menyeluruh tentang cara kerja layanan untuk Attribution Reporting API. Jika Anda adalah praktisi teknis, Anda dapat bereksperimen dengan API ini secara lokal.

Ringkasan

Attribution Reporting API terdiri dari banyak layanan, yang memerlukan penyiapan khusus, konfigurasi sisi klien, dan deployment server. Untuk menentukan apa yang Anda butuhkan, pertama-tama:

  • Membuat keputusan desain. Tentukan informasi yang ingin dikumpulkan, identifikasi konversi yang diharapkan dari kampanye tertentu, dan tentukan jenis laporan yang akan dikumpulkan. Output akhirnya adalah salah satu atau kedua jenis laporan: laporan tingkat peristiwa dan laporan ringkasan.

Selalu ada dua (dan terkadang tiga) komponen yang bekerja sama untuk mendukung pelaporan:

  • Komunikasi situs ke browser. Dalam sistem berbasis cookie, informasi untuk konversi dan engagement iklan dilampirkan ke ID yang memungkinkan Anda atau layanan analisis untuk bergabung dengan peristiwa ini di lain waktu. Dengan API ini, browser mengaitkan konversi dengan penayangan/klik iklan, berdasarkan petunjuk Anda, sebelum ditayangkan untuk analisis. Oleh karena itu, kode rendering iklan dan tracking konversi harus:
    • Memberi tahu browser konversi mana yang harus diatribusikan ke klik atau tayangan iklan tertentu.
    • Memberi sinyal pada data lainnya untuk disertakan dalam laporan akhir.
  • Pengumpulan data. Anda memerlukan endpoint kolektor untuk menerima laporan, yang dibuat di browser pengguna. Output dari browser dapat berupa salah satu dari dua kemungkinan laporan: laporan tingkat peristiwa dan laporan agregat (yang dienkripsi, digunakan untuk membuat laporan ringkasan).

Jika Anda mengumpulkan laporan agregat, Anda memerlukan komponen ketiga:

  • Pembuatan laporan ringkasan. Mengelompokkan laporan agregat dan menggunakan Layanan Agregasi untuk memproses laporan guna membuat laporan ringkasan.

Keputusan desain

Prinsip utama Attribution Reporting adalah keputusan desain awal. Anda memutuskan data apa yang akan dikumpulkan dalam kategori apa dan seberapa sering data tersebut diproses. Laporan output memberikan insight tentang kampanye atau bisnis Anda.

Laporan output dapat berupa:

  • Laporan tingkat peristiwa mengaitkan klik atau tampilan iklan tertentu (di sisi iklan) dengan data pada sisi konversi. Untuk menjaga privasi pengguna dengan membatasi penggabungan identitas pengguna di seluruh situs, data sisi konversi sangat terbatas, dan datanya berisik (artinya untuk sebagian kecil kasus, data acak yang dikirim, bukan laporan sebenarnya).
  • Laporan ringkasan tidak dikaitkan dengan peristiwa tertentu di sisi iklan. Laporan ini menawarkan data konversi yang lebih mendetail dan fleksibilitas untuk menggabungkan klik dan melihat data dengan data konversi.

Pilihan laporan Anda menentukan data yang harus Anda kumpulkan.

Anda juga dapat menganggap output akhir sebagai input untuk alat yang Anda gunakan untuk membuat keputusan. Misalnya, jika Anda membuat laporan ringkasan untuk menentukan berapa banyak konversi yang menghasilkan total nilai pembelanjaan tertentu, hal ini dapat membantu tim Anda menentukan target kampanye iklan berikutnya untuk menghasilkan total pembelanjaan yang lebih tinggi.

Setelah memutuskan hal yang ingin diukur, Anda dapat menyiapkan sisi klien untuk Attribution Reporting API.

Komunikasi situs ke browser

Sumber atribusi di situs penayang terhubung dengan pemicu di situs pengiklan.
Sumber atribusi di situs penayang terhubung dengan pemicu di situs pengiklan.

Alur peristiwa atribusi

Bayangkan situs penayang yang menampilkan iklan. Setiap pengiklan atau penyedia teknologi iklan ingin mempelajari interaksi dengan iklan mereka, dan mengatribusikan konversi ke iklan yang tepat. Laporan (tingkat peristiwa dan gabungan) akan dibuat sebagai berikut:

  1. Di situs penayang, elemen iklan (tag <a> atau <img>) dikonfigurasi dengan atribut khusus attributionsrc. Nilainya berupa URL, misalnya https://adtech.example/register-source/ad_id=....

    Berikut ini contoh link yang akan mendaftarkan sumber setelah diklik:

    <a href="https://shoes.example/landing" 
      attributionsrc="http://adtech.example/register-source?..."
      target="_blank">
    Click me</a>
    

    Berikut ini contoh gambar yang akan menyebabkan pendaftaran sumber saat dilihat:

    <img href="https://advertiser.example/landing" 
      attributionsrc="https://adtech.example/register-source?..."/>
    

    Atau, sebagai ganti elemen HTML, panggilan JavaScript dapat digunakan.

    Berikut ini contoh JavaScript yang menggunakan window.open(). Perlu diketahui bahwa URL dienkode ke URL untuk menghindari masalah dengan karakter khusus.

    const encodedUrl = encodeURIComponent(
      'https://adtech.example/attribution_source?ad_id=...');
    window.open(
      "https://shoes.example/landing",
      "_blank",
      attributionsrc=${encodedUrl});
    
  1. Saat pengguna mengklik atau melihat iklan, browser akan mengirim permintaan GET ke attributionsrc—biasanya, endpoint pengiklan atau penyedia teknologi iklan.
  2. Setelah menerima permintaan ini, pengiklan atau penyedia teknologi iklan memutuskan untuk memerintahkan browser agar mendaftarkan peristiwa sumber untuk interaksi dengan iklan, sehingga konversi nantinya dapat diatribusikan ke iklan ini. Untuk melakukannya, pengiklan atau penyedia teknologi iklan menyertakan header HTTP khusus dalam responsnya. Fitur ini disertakan ke data kustom header ini yang memberikan informasi tentang peristiwa sumber (klik atau penayangan iklan)—jika konversi akhirnya terjadi untuk iklan ini, data kustom ini pada akhirnya akan muncul dalam laporan atribusi.

    Lihat atau klik iklan.

  3. Kemudian, pengguna mengunjungi situs pengiklan.

  4. Pada setiap halaman situs pengiklan yang relevan—misalnya, halaman konfirmasi pembelian atau halaman produk—piksel konversi (elemen <img>) atau panggilan JavaScript membuat permintaan ke https://adtech.example/conversion?param1=...&param2=....

  5. Layanan di URL ini—biasanya, pengiklan atau penyedia teknologi iklan—menerima permintaan. Aturan ini memutuskan untuk mengategorikan konversi ini sebagai konversi, sehingga browser perlu memerintahkan browser untuk mencatat konversi, sehingga memicu atribusi. Untuk melakukannya, pengiklan atau penyedia teknologi iklan menyertakan header HTTP khusus yang menyertakan data kustom tentang konversi dalam responsnya terhadap permintaan piksel.

  6. Browser—di perangkat lokal pengguna—menerima respons ini, dan mencocokkan data konversi dengan peristiwa sumber asli (tampilan atau klik iklan). Pelajari lebih lanjut di Mencocokkan sumber dengan pemicu

  7. Browser menjadwalkan laporan untuk dikirim ke attributionsrc. Laporan ini mencakup:

    1. Data konfigurasi atribusi kustom yang dikaitkan oleh penyedia teknologi iklan atau pengiklan ke peristiwa sumber pada Langkah 3.
    2. Kumpulan data konversi kustom pada Langkah 6.
    Konversi.
  8. Kemudian, browser akan mengirim laporan ke endpoint yang ditentukan di attributionsrc, dengan beberapa penundaan dan derau. Laporan gabungan dienkripsi, sedangkan laporan tingkat peristiwa tidak dienkripsi.

Pemicu atribusi (situs pengiklan)

Pemicu atribusi adalah peristiwa yang memberi tahu browser untuk mencatat konversi.

Sebaiknya catat konversi yang paling penting bagi pengiklan, seperti pembelian. Beberapa jenis konversi dan metadata dapat diambil dalam laporan ringkasan.

Hal ini memastikan hasil gabungan mendetail dan akurat untuk peristiwa ini.

Mencocokkan sumber dengan pemicu

Saat browser menerima respons pemicu atribusi, browser akan mengakses penyimpanan lokal untuk menemukan sumber yang cocok dengan origin pemicu atribusi dan eTLD+1 dari URL halaman tersebut.

Misalnya, saat browser menerima pemicu atribusi dari adtech.example pada shoes.example/shoes123, browser akan mencari sumber di penyimpanan lokal yang cocok dengan adtech.example dan shoes.example.

Filter (atau aturan kustom) dapat disetel untuk menentukan kapan pemicu cocok dengan sumber tertentu. Misalnya, tetapkan filter agar hanya menghitung konversi untuk kategori produk tertentu dan mengabaikan semua kategori lainnya. Filter dan model prioritas memungkinkan pelaporan atribusi yang lebih canggih.

Jika beberapa sumber atribusi ditemukan di penyimpanan lokal, browser akan memilih sumber atribusi yang terakhir disimpan. Dalam beberapa kasus, jika sumber atribusi ditetapkan sebagai prioritas, browser akan memilih sumber dengan prioritas tertinggi.

Pengumpulan data

Bersama-sama, pemicu atribusi yang cocok dengan sumber yang sesuai akan dikirim sebagai laporan oleh browser ke endpoint pelaporan di server milik teknologi iklan (terkadang disebut sebagai endpoint pengumpulan atau layanan pengumpulan). Laporan ini dapat berupa laporan tingkat peristiwa atau laporan agregat.

Laporan agregat digunakan untuk membuat laporan ringkasan. Laporan gabungan adalah kombinasi data yang dikumpulkan dari iklan (di situs penayang) dan data konversi (dari situs pengiklan) yang dibuat dan dienkripsi oleh browser di perangkat pengguna sebelum dikumpulkan oleh teknologi iklan.

Laporan tingkat peristiwa tertunda antara 2 dan 30 hari. Laporan gabungan dikirim dengan penundaan acak dalam waktu satu jam dan peristiwa tersebut harus sesuai dengan anggaran kontribusi. Pilihan ini melindungi privasi dan mencegah eksploitasi atas tindakan setiap pengguna.

Jika Anda hanya tertarik dengan laporan tingkat peristiwa, ini adalah bagian terakhir infrastruktur yang Anda butuhkan. Namun, jika ingin membuat laporan ringkasan, Anda harus memproses laporan agregat dengan layanan tambahan.

Pembuatan laporan ringkasan

Untuk membuat laporan ringkasan, Anda akan menggunakan Layanan Agregasi (yang dioperasikan oleh teknologi iklan) untuk memproses laporan agregat. Layanan Agregasi menambahkan derau untuk melindungi privasi pengguna dan menampilkan laporan ringkasan akhir.

Laporan agregat dikumpulkan, dikelompokkan, dan dikirim ke lingkungan teknologi iklan.
Diagram ini menunjukkan aliran data asinkron dari endpoint pengumpulan, pengelompokan laporan, melalui pemrosesan pada Layanan Agregasi milik teknologi iklan.

Setelah mengelompokkan laporan agregat yang dikumpulkan, batch tersebut akan diproses oleh Layanan Agregasi. Koordinator memberikan kunci dekripsi hanya ke versi Layanan Agregasi yang telah disahkan. Layanan Agregasi kemudian mendekripsi data, menggabungkan, dan menambahkan derau sebelum menampilkan hasilnya sebagai laporan ringkasan.

Laporan agregat dalam batch

Sebelum laporan gabungan diproses, laporan tersebut harus dikelompokkan. Batch terdiri dari laporan agregat yang dikelompokkan secara strategis. Strategi Anda kemungkinan besar akan mencerminkan jangka waktu tertentu (seperti harian atau mingguan). Proses ini dapat berlangsung di server yang sama yang bertindak sebagai endpoint pelaporan Anda.

Batch harus berisi banyak laporan untuk memastikan rasio sinyal terhadap derau tinggi.

Jangka waktu yang lebih lama akan mengurangi hasil yang berisik.
Bandingkan waktu tunggu 1 hari dan 1 minggu. Dalam 1 jam, Anda akan memiliki nilai ringkasan yang lebih kecil dengan hasil yang kemungkinan berisi lebih banyak noise. Dalam satu hari, Anda akan mendapatkan nilai ringkasan yang lebih besar, jadi kemungkinan noise yang diperoleh akan berkurang.

Periode batch dapat berubah kapan saja untuk memastikan Anda merekam peristiwa tertentu yang Anda harapkan volumenya lebih tinggi, seperti untuk diskon tahunan. Periode pengelompokan dapat diubah tanpa perlu mengubah sumber atribusi atau pemicu.

Layanan Agregasi

Layanan Agregasi bertanggung jawab memproses laporan agregat untuk membuat laporan ringkasan. Laporan agregat dienkripsi dan hanya dapat dibaca oleh Layanan Agregasi, yang berjalan di trusted execution environment (TEE).

Layanan Agregasi meminta kunci dekripsi dari koordinator untuk mendekripsi dan menggabungkan data. Setelah didekripsi dan digabungkan, hasilnya akan di-noise untuk menjaga privasi dan ditampilkan sebagai laporan ringkasan.

Praktisi dapat membuat laporan cleartext gabungan untuk menguji Layanan Agregasi secara lokal. Atau, Anda dapat menguji dengan laporan terenkripsi di AWS dengan Nitro Enclaves.

Apa langkah selanjutnya?

Kami ingin berdiskusi dengan Anda guna memastikan bahwa kami membangun API yang berfungsi untuk semua orang.

Diskusikan API

Seperti Privacy Sandbox API lainnya, API ini didokumentasikan dan dibahas secara publik.

Bereksperimen dengan API

Anda dapat bereksperimen dan berpartisipasi dalam percakapan tentang Attribution Reporting API.