01Apa itu event match quality di Events Manager
Setiap event yang masuk ke Meta, lewat Pixel maupun Conversions API, harus dikaitkan ke seseorang sebelum bisa dipakai untuk atribusi dan optimasi iklan. Meta mencoba mencocokkan data pada event itu, misalnya nomor telepon atau cookie browser, dengan akun Facebook dan Instagram. Event match quality (EMQ) adalah skor di Events Manager, dengan skala sampai 10, yang menggambarkan seberapa baik pencocokan itu berjalan.
Dokumentasi Meta menyebut event yang tidak cocok tidak bisa dipakai untuk atribusi dan optimasi, walaupun tetap bisa masuk pengukuran dasar. Bagi bisnis yang closing di WhatsApp, dampaknya konkret. Event Purchase bernilai jutaan rupiah yang Anda kirim dari server tidak membantu campaign kalau Meta tidak bisa mengaitkannya ke orang yang pernah mengklik iklan. Karena itu EMQ layak dicek setiap kali Anda mengubah alur tracking. Dasar-dasar pengiriman event dari server dibahas di pilar Meta CAPI untuk WhatsApp.
Skor dihitung untuk tiap jenis event, jadi Lead, Schedule, dan Purchase masing-masing punya skor sendiri. Untuk melihatnya, buka Events Manager, pilih data source (Pixel) yang dipakai campaign, lalu buka event yang ingin diperiksa. Tampilan Meta bisa berubah, jadi cari skor EMQ dan daftar parameter customer information yang diterima pada halaman event itu.
02Parameter yang mempengaruhi EMQ
Meta menyebut data pencocokan ini customer information parameters. Ada dua kelompok: yang harus di-hash sebelum dikirim, dan yang dikirim apa adanya. Tabel berikut merangkum parameter yang relevan untuk alur WhatsApp, berdasarkan dokumentasi parameter customer information Meta.
| Parameter | Key di payload | Di-hash | Aturan dari Meta |
|---|---|---|---|
em | Ya | Buang spasi di ujung dan ubah ke huruf kecil. | |
| Nomor telepon | ph | Ya | Angka saja, dengan kode negara dan tanpa nol di depan. Untuk Indonesia bentuknya 62812..., bukan 0812... |
| Nama depan dan belakang | fn, ln | Ya | Huruf kecil dan tanpa tanda baca. Meta menyarankan alfabet Romawi a-z. |
| Kota, provinsi, kode pos | ct, st, zp | Ya | Huruf kecil. Kota dan provinsi tanpa spasi atau tanda baca, kode pos tanpa spasi atau tanda hubung. |
| Negara | country | Ya | Kode dua huruf ISO 3166-1 alpha-2, huruf kecil, misalnya id. |
| ID dari sistem Anda | external_id | Direkomendasikan | ID unik apa pun dari sistem Anda, misalnya ID pengguna atau ID keanggotaan. |
| Click ID Meta | fbc | Tidak | Format fb.1.<waktu>.<fbclid>, dari cookie _fbc atau dari fbclid di URL. |
| Browser ID Meta | fbp | Tidak | Format fb.1.<waktu>.<angka acak>, dari cookie _fbp. |
| Alamat IP | client_ip_address | Tidak | IPv4 atau IPv6 yang valid, milik pengunjung dan bukan milik server Anda. |
| User agent | client_user_agent | Tidak | Wajib untuk event website yang dikirim lewat Conversions API. |
| Click ID WhatsApp | ctwa_clid | Tidak | ID unik per klik iklan yang membuka WhatsApp, diterima bisnis lewat webhook pesan. Dipakai di jalur Conversions API untuk business messaging. |
Dokumentasi developer Meta tidak merinci bobot per parameter, tetapi arahnya jelas: makin banyak pengenal yang benar formatnya, makin besar peluang event dikenali. Panduan best practices Meta menyebut email, IP, nama, dan nomor telepon sebagai contoh data berkualitas tinggi. Panduan yang sama menyebut bahwa nilai fbp dan fbc dapat berubah, dan bahwa membagikan event saat kejadian berlangsung dapat membantu campaign mendapat hasil yang lebih baik.
03Aturan hashing SHA-256 sebelum data dikirim
Parameter di kelompok pertama harus di-hash dengan SHA-256 sebelum keluar dari sistem Anda, kecuali Anda memakai Business SDK Meta. Hash yang dibuat dari nilai yang belum dibersihkan biasanya tidak menghasilkan pesan error. Meta hanya tidak menemukan kecocokan, dan skor EMQ Anda bisa tetap rendah tanpa petunjuk yang jelas. Karena itu normalisasi sebelum hash sama pentingnya dengan hash-nya sendiri.
- Bersihkan nilainya: buang spasi di awal dan akhir, lalu ubah ke huruf kecil.
- Standarkan formatnya: nomor telepon menjadi angka saja dengan kode negara dan tanpa nol di depan, negara menjadi kode dua huruf kecil seperti
id. - Hitung SHA-256 dan tulis hasilnya sebagai heksadesimal huruf kecil, 64 karakter.
- Kirim sebagai string atau daftar string. Dalekta mengirim
ph,fn,ln, danexternal_idsebagai daftar berisi satu hash. - Jangan hash
fbc,fbp, IP, dan user agent. Meta membutuhkan nilai aslinya. - Jangan hash dua kali. Kalau data sudah di-hash oleh sistem lain, kirim apa adanya.
| Data mentah (contoh rekaan) | Setelah dibersihkan, sebelum hash | Catatan |
|---|---|---|
| [email protected] | [email protected] | Spasi ujung dibuang, huruf jadi kecil. |
| 0812-0000-0000 | 6281200000000 | Simbol dibuang, nol di depan diganti kode negara 62. |
| +62 812 0000 0000 | 6281200000000 | Format berbeda, hasil akhir sama, sehingga hash-nya sama. |
| Budi Santoso | fn: budi, ln: santoso | Kata terakhir menjadi nama belakang, sisanya nama depan. Ini cara Dalekta memecah nama. |
| ID | id | Kode negara huruf kecil. |
Berikut contoh sederhana untuk sistem Anda sendiri, misalnya CRM yang mengirim event manual. Ini bukan kode Dalekta, dan semua nilainya rekaan.
import { createHash } from "node:crypto";
const sha256 = (value) =>
createHash("sha256").update(value.trim().toLowerCase()).digest("hex");
function normalizePhone(value) {
const digits = value.replace(/\D/g, "");
return digits.startsWith("0") ? "62" + digits.slice(1) : digits;
}
const user_data = {
ph: [sha256(normalizePhone("0812-0000-0000"))],
fn: [sha256("Budi")],
ln: [sha256("Santoso")],
country: [sha256("ID")],
fbc: "fb.1.<waktu-klik>.<fbclid>", // jangan di-hash
fbp: "fb.1.<waktu>.<angka-acak>", // jangan di-hash
client_ip_address: "<IP pengunjung>", // jangan di-hash
client_user_agent: "<user agent browser>", // jangan di-hash
};04Parameter yang dikirim Dalekta di payload CAPI
Dalekta menyusun user_data dari data lead dan catatan klik pada saat event dikirim. Tabel ini mengikuti perilaku pengiriman CAPI Dalekta per 30 September 2026. Hanya field yang benar-benar tersedia pada lead yang ikut terkirim, dan field kosong dibuang dari payload.
| Parameter | Sumber di Dalekta | Ikut terkirim jika | Di-hash |
|---|---|---|---|
ph | Nomor WhatsApp lead, dibersihkan menjadi angka saja. | Lead sudah punya nomor, yaitu sejak chat masuk. | Ya |
fn, ln | Nama pada lead, yang berasal dari nama profil WhatsApp pengirim. | Nama terbaca dari pesan. | Ya |
external_id | ID pengunjung, atau ID sesi, atau ID lead bila dua yang pertama kosong. | Selalu ada. | Ya |
fbc | Catatan klik. Jika kosong, dibentuk dari fbclid klik iklan. | Ada fbclid atau cookie _fbc saat klik. | Tidak |
fbp | Cookie _fbp yang ditangkap tracker di landing page. | Tracker aktif di halaman. | Tidak |
client_ip_address | IP pada klik atau kunjungan yang tercatat. | Lead punya catatan klik. | Tidak |
client_user_agent | User agent browser pada klik atau kunjungan. | Lead punya catatan klik. | Tidak |
ct, st, zp, country | Perkiraan lokasi klik yang dibaca dari IP. | Lokasi terbaca dari IP. | Ya |
Semua event dikirim dengan action_source website, termasuk untuk lead Click-to-WhatsApp dan status yang terjadi di sisi WhatsApp. event_source_url diisi URL landing page (atau rotator) yang tercatat pada klik, dan kosong bila lead tidak punya catatan klik. Contoh bentuk user_data untuk lead dari landing page pada tahap Closing, dengan hash diganti keterangan agar mudah dibaca:
"user_data": {
"ph": ["<sha256 nomor WhatsApp>"],
"fn": ["<sha256 nama depan>"],
"ln": ["<sha256 nama belakang>"],
"external_id": ["<sha256 id pengunjung>"],
"fbc": "fb.1.<waktu klik>.<fbclid>",
"fbp": "fb.1.<waktu>.<angka acak>",
"client_ip_address": "<IP saat klik>",
"client_user_agent": "<user agent browser>",
"ct": "<sha256 kota>",
"country": "<sha256 id>"
}Satu catatan normalisasi: untuk ct, st, zp, dan country, Dalekta hanya membuang spasi di ujung dan mengubah ke huruf kecil sebelum hash. Nama kota dua kata seperti "jakarta selatan" tetap memuat spasi, padahal aturan Meta untuk ct meminta tanpa spasi. Karena itu anggap lokasi sebagai sinyal pendukung, bukan penentu skor.
Ada empat hal yang tidak dikirim Dalekta, dan perlu Anda ketahui sebelum menargetkan skor tertentu:
- Email (`em`). Lead di Dalekta tidak menyimpan alamat email, jadi
emtidak pernah ikut. Ini wajar untuk alur WhatsApp, tetapi berarti EMQ tidak bisa dinaikkan lewat email dari dalam Dalekta. - `ctwa_clid`. Dalekta menyimpan ID klik ini pada lead Click-to-WhatsApp, tetapi tidak memasukkannya ke payload CAPI. Bahasan lengkap ada di ctwa_clid.
- Parameter lain di daftar Meta, seperti tanggal lahir dan jenis kelamin, tidak dikumpulkan sehingga tidak dikirim.
- Isi chat. Percakapan WhatsApp tidak ikut dikirim ke Meta.
Parameter yang tersedia juga bergantung pada jalur lead dan tahap event. Event Visit LP dan Click CTA terjadi sebelum chat, jadi belum ada nomor dan nama. Lead dari iklan Click-to-WhatsApp tidak melewati landing page, jadi tidak punya catatan klik.
| Jalur lead dan tahap | Parameter yang tersedia | Yang tidak tersedia |
|---|---|---|
| Landing page dan rotator, tahap Visit LP dan Click CTA | fbc (jika ada fbclid), fbp, IP, user agent, lokasi, external_id | ph, fn, ln karena chat belum masuk |
| Landing page dan rotator, tahap Masuk WA sampai Closing | Semua yang di atas, ditambah ph, fn, ln | em, ctwa_clid |
| Click-to-WhatsApp tanpa landing page | ph, fn, ln, external_id (dari ID lead) | fbc, fbp, IP, user agent, lokasi, URL landing page |
Event untuk lead Click-to-WhatsApp dikirim tanpa data klik website, yaitu tanpa fbc, fbp, IP, user agent, dan URL landing page. Akibatnya kualitas pencocokannya lebih rendah, dan Meta bisa menganggap event itu kurang lengkap. Dalekta belum memakai jalur Conversions API untuk business messaging yang memakai ctwa_clid. Periksa status event dari jalur ini di Event Logs dan di Events Manager.
Ilustrasi dengan angka rekaan, bukan data pelanggan: bulan ini ada 50 event Purchase, 40 dari jalur landing page dan 10 dari Click-to-WhatsApp. Parameter browser (fbc, fbp, IP, user agent) paling banyak hadir di 40 dari 50 event atau 80 persen, dan hanya jika fbclid tidak hilang dan tracker tidak diblokir. ph bisa hadir di seluruh 50 event selama nomor terbaca. Jadi jangan menargetkan cakupan 100 persen untuk parameter browser bila sebagian lead datang dari Click-to-WhatsApp.
05Cara tingkatkan EMQ Meta Ads untuk lead WhatsApp
Urutan berikut mulai dari perubahan yang tidak butuh data pribadi tambahan. Semuanya bisa dikerjakan dari sisi Dalekta dan Ads Manager.
- Untuk iklan yang mengarah ke landing page, pastikan halaman memuat tracker Dalekta dan tombol WhatsApp memakai link rotator, bukan link
wa.memanual. Jalur inilah yang membuat catatan klik berisifbc,fbp, IP, user agent, dan URL landing page. Setup-nya ada di dokumentasi Tracking Ads. - Pastikan
fbclidsampai ke halaman akhir. Uji dengan membuka URL iklan lalu memeriksa bahwafbclidmasih ada di address bar setelah semua redirect. Tanpafbcliddan tanpa cookie_fbc, event tidak punyafbc. Pasang juga URL parameters di iklan supaya lead terbaca sebagai Meta lengkap dengan data campaign. Templatenya ada di dokumentasi URL parameter Meta. - Biarkan tracker menangkap
_fbp. Jika halaman juga memasang Meta Pixel, tracker memakai cookie_fbpyang sudah ada. Jika belum ada, tracker membuatnya sendiri dengan format Meta. Bila consent manager Anda menahan skrip sampai pengunjung setuju, pengunjung yang belum setuju tidak akan menghasilkanfbp. - Pastikan nomor pengirim terbaca. Meta menyebut nomor telepon sebagai salah satu contoh data berkualitas tinggi, dan
phtersedia di semua jalur lead Dalekta selama nomornya terbaca. Cek di halaman Leads bahwa lead punya nomor kontak, karena lead tanpa nomor tidak membawaph. - Jangan menggantungkan skor pada nama. Nama pada lead berasal dari profil WhatsApp pengirim dan sering berupa panggilan, nama toko, atau emoji. Nama itu tidak bisa diubah dari halaman Leads, yang hanya mengubah status, nominal, dan catatan, jadi anggap
fndanlnsebagai tambahan saja. - Untuk iklan Click-to-WhatsApp, pahami batasnya. Lead-nya tidak punya
fbc,fbp, IP, dan user agent, danctwa_clidbelum ikut terkirim. Bila campaign Anda dominan Click-to-WhatsApp, bandingkan skor Anda dengan skor sebelumnya, bukan dengan angka dari artikel lain. Memindahkan iklan ke landing page hanya demi skor adalah keputusan campaign, bukan sekadar perbaikan tracking. Konteksnya ada di CTWA tracking. - Ubah satu hal dalam satu waktu, catat tanggalnya, lalu tunggu event baru masuk sebelum membandingkan skor per event di Events Manager. Isi event yang sudah terkirim ke Meta tidak berubah, jadi perbaikan baru terlihat pada event sesudah perubahan.
fbclid yang utuh, tracker yang aktif, dan rotator yang dipakai konsisten sudah memperbaiki fbc, fbp, IP, dan user agent pada lead dari landing page. Tidak ada data tambahan yang perlu diminta dari calon pelanggan.06Mendiagnosis skor EMQ rendah dari alur Dalekta
Event Logs Dalekta menampilkan status pengiriman, jumlah percobaan, dan pesan error, tetapi tidak menampilkan isi user_data. Untuk melihat parameter apa yang benar-benar diterima Meta, gunakan halaman event di Events Manager. Lalu cocokkan temuannya dengan tabel berikut. Urutan debug pengiriman yang lebih lengkap ada di dokumentasi Event Logs dan Sync Logs.
| Yang terlihat di Events Manager | Kemungkinan penyebab di alur Dalekta | Cara memeriksa |
|---|---|---|
fbc jarang atau tidak diterima | fbclid terbuang saat redirect, klik tidak berasal dari iklan Meta, atau lead datang dari Click-to-WhatsApp. | Buka detail lead, bagian Detail teknis & pelacakan. URL landing page harus memuat fbclid. |
fbp jarang diterima | Tracker tidak terpasang di halaman, diblokir, atau consent manager menahan skrip. | Cek tab Tracking Code di Tracking Ads, lalu uji dari browser bersih. |
| IP dan user agent tidak diterima | Lead berasal dari Click-to-WhatsApp atau tidak melewati landing page dan rotator, sehingga tidak punya catatan klik dan URL landing page. | Di detail lead, bagian Detail teknis & pelacakan menampilkan tanda hubung pada IP, user agent, dan landing page. |
ph tidak diterima | Nomor pengirim tidak terbaca dari pesan WhatsApp. Saat ini Dalekta hanya menyimpan nomor berformat Indonesia (62...), jadi pengirim yang hanya muncul sebagai ID internal WhatsApp atau bernomor luar negeri tidak menghasilkan nomor di lead. | Cek di halaman Leads apakah lead punya nomor kontak. |
em tidak diterima | Dalekta tidak menyimpan email pada lead. | Tidak ada yang perlu dicek. Parameter ini belum tersedia dari Dalekta. |
| Parameter sudah diperbaiki, skor belum berubah | Perbaikan hanya berlaku untuk event yang dikirim sesudahnya. Event lama tidak dihitung ulang. | Tunggu event baru masuk, lalu bandingkan skor event yang sama. |
Kalau event tidak muncul sama sekali di Events Manager, masalahnya bukan EMQ. Periksa dulu apakah lead terdeteksi berasal dari Meta, apakah mapping sudah tersimpan, dan apakah log berstatus SUCCESS. Langkahnya ada di pilar Meta CAPI untuk WhatsApp. Untuk event ganda antara Pixel dan server, lihat deduplikasi event Pixel dan CAPI.
07Consent dan privasi saat menaikkan EMQ
Skor yang lebih tinggi tidak sebanding dengan risiko privasi yang diambil tanpa perhitungan. Beberapa hal berikut perlu Anda putuskan sendiri, karena Dalekta tidak bisa memutuskannya untuk bisnis Anda.
- Hash bukan anonimisasi. Meta memakai hash untuk mencocokkan data dengan akun penggunanya, jadi perlakukan data ter-hash tetap sebagai data pribadi.
- Hak untuk membagikan data. Ketentuan Meta untuk Business Tools meminta Anda punya dasar yang sah untuk membagikan data pelanggan, termasuk persetujuan bila hukum setempat mewajibkannya. Di Indonesia, rujukannya termasuk UU No. 27 Tahun 2022 tentang Pelindungan Data Pribadi.
- Cookie di landing page. Tracker Dalekta menyimpan
_fbpdan_fbc, serta ID pengunjung dan sesi milik Dalekta, di cookie dan penyimpanan browser. Tracker tidak menampilkan banner persetujuan sendiri, jadi pengaturan consent dan kebijakan cookie halaman Anda tetap menjadi tanggung jawab Anda. - IP dikirim apa adanya. Meta meminta
client_ip_addresstanpa hash, dan Dalekta mengirim IP pada klik sebagaimana tercatat. Sebutkan hal ini di kebijakan privasi bisnis Anda. - Jangan mengejar skor dengan data yang tidak perlu. Jangan meminta email atau tanggal lahir hanya demi EMQ, jangan mengisi nilai tebakan, dan hindari data sensitif. Ketentuan Meta membatasi data sensitif, dan data palsu justru merusak pencocokan.
08Bacaan lanjutan
09Pertanyaan umum
Apa itu event match quality di Meta?
Event match quality adalah skor di Events Manager, dengan skala sampai 10, yang menunjukkan seberapa baik data pelanggan pada sebuah event bisa dicocokkan ke akun Meta. Skor dihitung per jenis event dari parameter seperti nomor telepon ter-hash, fbc, fbp, IP, dan user agent. Semakin lengkap dan benar parameternya, semakin besar peluang event dikenali.
Berapa skor EMQ yang bagus?
Dokumentasi developer Meta tidak menyebut satu angka target untuk semua bisnis dan tidak merinci bobot tiap parameter. Skor lebih tinggi memang lebih baik, tetapi patokan yang berguna adalah skor event Anda sendiri dari waktu ke waktu. Bisnis yang sebagian leadnya datang dari iklan Click-to-WhatsApp wajar punya batas lebih rendah pada parameter browser.
Apakah nomor telepon harus di-hash untuk Conversions API?
Ya. Email, nomor telepon, nama, dan data lokasi harus di-hash dengan SHA-256 setelah dibersihkan: huruf kecil, spasi ujung dibuang, dan nomor telepon berisi angka dengan kode negara. Sebaliknya fbc, fbp, alamat IP, dan user agent dikirim tanpa hash. Jika Anda memakai Business SDK Meta, hashing bisa dilakukan oleh SDK.
Kenapa EMQ event Lead dari WhatsApp rendah padahal Pixel sudah terpasang?
Event dari server hanya membawa data yang dimiliki sistem Anda. Lead dari iklan Click-to-WhatsApp tidak melewati landing page, jadi tidak punya fbc, fbp, IP, dan user agent. Lead dari landing page juga kehilangan fbc bila fbclid terbuang saat redirect. Cek jalur lead dan daftar parameter yang diterima di Events Manager.
Apakah Dalekta mengirim email pelanggan ke Meta?
Tidak. Lead di Dalekta tidak menyimpan email, jadi parameter em tidak ikut dalam payload CAPI. Yang dikirim adalah nomor WhatsApp, nama, dan ID pengunjung atau ID lead yang di-hash, ditambah fbc, fbp, IP, user agent, dan perkiraan lokasi klik bila tersedia. Isi chat WhatsApp tidak dikirim.
Apakah EMQ yang tinggi menurunkan biaya iklan?
Tidak ada jaminan. Meta menyatakan pencocokan yang lebih baik membantu hasil, karena event yang cocok bisa dipakai untuk atribusi dan optimasi. Namun biaya iklan juga dipengaruhi kreatif, audiens, dan penawaran. Perlakukan EMQ sebagai indikator kesehatan data, bukan tuas untuk menekan biaya.

