Cara Pasang GA4 dengan Google Consent Mode v2
Sejak Maret 2024, Google mewajibkan Consent Mode v2 bagi pengiklan yang melayani pengguna di EEA dan Inggris, dan undang-undang privasi mensyaratkan pelacakan menunggu persetujuan. Jika dilakukan dengan benar, analitik tetap berjalan dengan cara yang aman bagi privasi. Jika salah, kamu bisa melacak secara ilegal atau kehilangan data. Berikut urutan langkah yang benar.
Apa yang dilakukan Consent Mode v2
Consent Mode memberi tahu tag Google apa yang disetujui pengunjung melalui empat sinyal: analytics_storage, ad_storage, serta dua sinyal yang ditambahkan di v2, yaitu ad_user_data dan ad_personalization. Selama sebuah sinyal denied, tag tidak menyimpan cookie untuk tujuan tersebut; dalam mode advanced, tag tetap mengirim ping tanpa cookie yang dipakai Google untuk memodelkan konversi.
Langkah 1: atur default sebelum tag apa pun
Default harus dijalankan sebelum gtag.js atau Google Tag Manager dimuat, di bagian paling atas <head>:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
functionality_storage: 'granted',
security_storage: 'granted',
wait_for_update: 500
});
</script>
Buat blok ini bersama tag GA4 kamu dengan urutan yang benar menggunakan Google Tag Snippet Generator.
Langkah 2: perbarui persetujuan dari banner
Saat pengunjung membuat pilihan, kirim pembaruan yang hanya berisi hal-hal yang mereka setujui, dan simpan pilihan tersebut untuk kunjungan berikutnya:
function onConsent(choice) { // misalnya { analytics: true, marketing: false }
gtag('consent', 'update', {
analytics_storage: choice.analytics ? 'granted' : 'denied',
ad_storage: choice.marketing ? 'granted' : 'denied',
ad_user_data: choice.marketing ? 'granted' : 'denied',
ad_personalization: choice.marketing ? 'granted' : 'denied'
});
localStorage.setItem('consent', JSON.stringify(choice));
}
Pada kunjungan halaman berikutnya, jalankan pembaruan yang sama tepat setelah default, sebelum tag aktif. Platform manajemen persetujuan (Cookiebot, OneTrust, Usercentrics, dan lainnya) dapat melakukan ini untuk kamu; atau buat banner dengan pemblokiran skrip menggunakan Cookie Consent Banner Generator.
Langkah 3: wilayah (opsional)
Kamu bisa menerapkan default yang lebih ketat hanya di wilayah yang diwajibkan undang-undang dengan menambahkan daftar region, misalnya EEA, Inggris, dan Swiss, lalu default granted untuk wilayah lainnya. Tanyakan kepada penasihat hukummu wilayah mana saja yang berlaku untukmu.
Langkah 4: pastikan berjalan dengan benar
- Buka situs di jendela privat dan jangan klik banner. Seharusnya tidak ada cookie
_ga, dan permintaan ke Google seharusnya membawagcs=G100. - Terima semua. Permintaan seharusnya berubah ke
gcs=G111dan cookie_gaseharusnya muncul. - Tolak semua lalu muat ulang: tidak boleh ada cookie yang disimpan lagi.
Consent Mode Checker melakukan ini secara otomatis: ia memuat halamanmu di browser sungguhan, membaca status persetujuan, dan mencantumkan setiap pelacak yang aktif sebelum dan sesudah persetujuan. Gunakan Tracking Tag Checker untuk melihat tag apa saja yang dimuat sebuah halaman.
Kesalahan umum
- Mengatur default setelah tag GA4 — hit pertama terkirim sebelum status persetujuan diketahui.
- Lupa
ad_user_datadanad_personalization— itu masih Consent Mode v1. - Memasang pixel Meta, TikTok, atau LinkedIn secara langsung di luar alur persetujuan: Consent Mode hanya mengontrol tag Google. Blokir pixel lain sampai persetujuan pemasaran diberikan.
- Mengirim event kustom sebelum persetujuan. Buat dengan GA4 Event Generator dan kirim melalui gtag agar persetujuan berlaku.