Kesalahan Consent String yang Diam-Diam Membunuh Pendapatan Iklan Anda
Kebocoran Pendapatan yang Senyap
Ketika eCPM Anda menurun beberapa persen setiap bulan, penyebabnya jarang inventaris atau harga dasar. Lebih sering ini adalah TC string yang rusak — sinyal IAB Transparency & Consent Framework (TCF) yang menyertai setiap permintaan iklan. String yang salah bentuk atau hilang tidak memunculkan error yang mencolok. Sebaliknya, server iklan diam-diam beralih ke iklan non-personalisasi, mitra permintaan mundur, dan pendapatan menyusut tanpa satu pun peringatan. Bagi publisher aplikasi dan game yang memonetisasi di EEA & UK, ini adalah penyebab kehilangan pendapatan yang paling terabaikan.
Apa yang Sebenarnya Dibawa TC String
TC string adalah blob berenkode base64 yang dibuat oleh Consent Management Platform (CMP) Anda. Ia mengenkode pilihan pengguna: tujuan yang disetujui, vendor yang diizinkan, CMP ID Anda, versi kebijakan, dan stempel waktu. Pembeli mendekodekannya dalam milidetik untuk memutuskan apakah mereka dapat menawar dengan penargetan personalisasi. Dua sinyal sama pentingnya:
gdprApplies— flag (1, 0, atau undefined) yang memberi tahu pembeli apakah GDPR berlaku.- Google Consent Mode v2 — sinyal
ad_storage,ad_user_data, danad_personalizationyang dibaca Google secara terpisah dari string TCF.
Jika salah satu dari ini keliru, permintaan menguap — bahkan ketika pengguna benar-benar telah menyetujui.
Lima Kesalahan yang Diam-Diam Menghabiskan Uang Anda
1. String hilang atau kedaluwarsa. Jika CMP tidak pernah menulis string, atau persetujuan yang di-cache melewati jendela peminta-ulang Anda, permintaan keluar tanpa sinyal. Pembeli memperlakukan "tidak ada string" sebagai "tidak ada persetujuan" dan hanya menawar dengan permintaan kontekstual ber-eCPM rendah, atau melewati lelang.
2. CMP ID salah. Setiap CMP bersertifikat memiliki ID terdaftar yang tertanam dalam string. Jika ID yang tidak dikenal ditulis, Google dan vendor IAB menolaknya — umum terjadi setelah migrasi saat SDK lama masih ikut dibundel.
3. Vendor tidak dideklarasikan. Mitra permintaan mungkin memiliki persetujuan penuh, tetapi jika vendor ID-nya tidak ada dalam daftar vendor yang diizinkan, ia tidak dapat menawar secara personalisasi. Publisher sering lupa memperbarui daftar setelah menambahkan mitra.
4. gdprApplies salah bentuk. Meneruskan string "1" alih-alih integer, atau membiarkannya undefined untuk pengguna yang jelas berada di EEA, membingungkan pembeli. gdprApplies=0 yang keliru juga dapat memaparkan Anda pada risiko kepatuhan sementara tampak baik-baik saja.
5. Sinyal Consent Mode tidak terpicu. String TCF bisa saja sempurna sementara Consent Mode tetap dalam keadaan ditolak secara default — misalnya, saat SDK memuat iklan sebelum persetujuan terselesaikan. Google kemudian menyajikan iklan non-personalisasi terlepas dari TC string.
Alur Kerja Debug Langkah demi Langkah
Bekerjalah dari perangkat ke luar menuju server iklan, dan reproduksi dalam keadaan bersih — bersihkan data aplikasi atau gunakan profil browser baru agar persetujuan basi tidak menyesatkan Anda.
- Langkah 1 — Tangkap string mentah. Di web, baca melalui
__tcfapi('getTCData', 2, cb). Di aplikasi, ambil kunciIABTCF_TCStringdariSharedPreferences(Android) atauNSUserDefaults(iOS). - Langkah 2 — Dekode dan validasi. Tempelkan ke dekoder IAB TCF atau validator CMP. Pastikan CMP ID adalah milik Anda, versi kebijakan dan stempel waktu mutakhir, dan vendor ID utama Anda muncul dalam daftar.
- Langkah 3 — Periksa permintaan iklan. Gunakan Charles Proxy atau inspektur jaringan untuk mengamati permintaan GAM, dan verifikasi parameter
gdprdangdpr_consentmembawa nilai yang benar. - Langkah 4 — Cek Consent Mode. Gunakan Google Tag Assistant untuk memastikan
ad_user_datadanad_personalizationberalih ke granted saat pengguna menerima. - Langkah 5 — Konfirmasi di GAM. Buka dimensi pelaporan iklan non-personalisasi di Ad Manager. Lonjakan lalu lintas NPA yang tidak sesuai dengan tingkat opt-out Anda adalah sidik jari string yang buruk.
Memperbaiki Akar Penyebab
Menambal satu permintaan yang buruk itu mudah; mencegah yang berikutnya adalah pekerjaan sesungguhnya. Buat iklan menunggu persetujuan sebelum inisialisasi, jaga daftar vendor Anda tersinkron dengan tumpukan permintaan Anda, dan lacak rasio impresi personalisasi terhadap non-personalisasi — pergeseran di sana adalah peringatan paling dini Anda.
Di sinilah CMP bersertifikat Google membuktikan nilainya. FlexyConsent memancarkan string IAB TCF 2.3 yang sah dengan CMP ID dan deklarasi vendor yang benar, memicu sinyal Consent Mode v2 sehingga ad_user_data dan ad_personalization melacak pilihan pengguna, dan menampilkan analitik tingkat persetujuan di web, Android, dan iOS — sehingga string yang rusak muncul di dasbor, bukan di pembayaran Anda.
Poin-Poin Utama
- TC string yang buruk tidak crash — ia diam-diam menurunkan Anda ke iklan non-personalisasi dan eCPM lebih rendah.
- Lima biang keladi: string hilang/kedaluwarsa, CMP ID salah, vendor tak dideklarasikan,
gdprAppliessalah bentuk, dan sinyal Consent Mode mati. - Debug dari perangkat ke server iklan: tangkap, dekode, periksa permintaan, verifikasi Consent Mode, cek GAM.
- Lacak rasio personalisasi-ke-NPA Anda secara berkelanjutan — CMP bersertifikat seperti FlexyConsent menjadikan string yang sah dan sinyal Consent Mode v2 yang benar sebagai default.