02Ciri event_id yang baik
- Unik untuk setiap kejadian. Dua pesanan berbeda harus punya ID berbeda, supaya Meta tidak mengira keduanya satu kejadian.
- Sama di kedua sisi untuk kejadian yang sama. Menurut Meta,
eventIDdari browser harus sama denganevent_idpada event server yang berpasangan. - Dibuat satu kali saat kejadian terjadi, lalu dipakai ulang bila pengiriman diulang. Bila ID berganti pada setiap percobaan, tidak ada kunci yang menunjukkan bahwa kiriman-kiriman itu satu kejadian.
- Bukan data pribadi. Jangan memakai email atau nomor telepon sebagai event ID. Event ID tidak di-hash, sedangkan Meta meminta data kontak di-hash, jadi ID semacam itu mengirim data pribadi dalam teks biasa. Cara hash dibahas di Hashing.
03Di alur iklan ke WhatsApp
Di Dalekta, event_id dibentuk di server untuk setiap event yang dikirim ke Meta lewat Conversions API. Bentuknya ID lead, tanda titik dua, lalu kode tahap, yaitu <id-lead>:<tahap>. ID lead adalah ID internal lead di database Dalekta, bukan kode [D-XXXXX] di pesan WhatsApp. ID lead dan kode tahap tidak berubah, jadi lead dan tahap yang sama selalu menghasilkan event_id yang sama, kapan pun dan berapa kali pun pengiriman dicoba. Nilainya terlihat di kolom Event ID pada halaman Event Logs.
| Tahap lead | Kode tahap | Bentuk event_id |
|---|---|---|
| Visit LP | VISIT_LP | <id-lead>:VISIT_LP |
| Click CTA | CLICK_CTA | <id-lead>:CLICK_CTA |
| Masuk WA | MASUK_WA | <id-lead>:MASUK_WA |
| MQL | MQL | <id-lead>:MQL |
| Prospek | PROSPEK | <id-lead>:PROSPEK |
| Closing | CLOSING | <id-lead>:CLOSING |
Nama event di sisi Meta, misalnya Lead atau Purchase, ditentukan oleh Event Mapping workspace dan tidak mengubah event_id. Event hanya dikirim bila tahap itu sudah dipetakan, Pixel ID dan Access Token sudah tersimpan, dan lead terdeteksi berasal dari Meta. Satu lead mengirim satu event per tahap, sehingga satu tahap tidak terkirim dua kali.
| Situasi | Yang dilakukan Dalekta |
|---|---|
| Tahap yang sama dipicu dua kali bersamaan | Pengirim pertama mencatat log berstatus Pending. Pengirim kedua melihat log itu dan melewati pengiriman. |
| Tahap disimpan ulang setelah log berstatus Success | Dilewati. Tidak ada event baru ke Meta, termasuk bila nominal Closing diubah setelah event terkirim. |
| Pengiriman sebelumnya Failed | Boleh dikirim lagi dengan event_id yang sama. Retry dari halaman Event Logs juga memakai event_id yang sama. |
| Log Pending yang sudah lebih dari sekitar dua menit | Dianggap sisa proses yang berhenti. Pengiriman berikutnya mengambil alih dan jumlah Attempts bertambah. |
eventID dari Pixel Anda sendiri tidak mungkin sama dengan event_id Dalekta. Bila Pixel Anda mengirim event bernama sama dengan hasil mapping, Meta tidak bisa memasangkan keduanya lewat event ID dan kejadian itu bisa terhitung dua kali. Bagi tugasnya lewat nama event, misalnya Pixel untuk perilaku di halaman dan Dalekta untuk kejadian setelah klik WhatsApp.04Kesalahan yang sering terjadi
- Membuat ID sendiri-sendiri di browser dan di server, misalnya angka acak atau
Date.now()yang dipanggil terpisah. Nilainya pasti berbeda, jadieventIDdanevent_idtidak cocok dan Meta tidak bisa memasangkan keduanya. - Mengganti event ID setiap kali pengiriman diulang. Retry yang membawa ID baru tidak bisa dikenali sebagai pengulangan dari kiriman yang lama.
- Mengira event ID Dalekta bisa dipasangkan dengan event dari Pixel milik Anda. Keduanya tidak berbagi ID, sehingga event dengan nama yang sama bisa terhitung dua kali.
- Menyangka dua tahap yang dipetakan ke satu nama event saling menggantikan. Masuk WA dan MQL yang sama-sama dipetakan ke
Leadpunyaevent_idberbeda, jadi Meta menerima duaLeaduntuk satu lead.
05Pertanyaan umum
Apa bedanya event_id dan eventID?
Keduanya event ID yang sama dengan nama berbeda di tiap jalur. eventID adalah opsi di Meta Pixel, dikirim sebagai argumen keempat pada fbq('track', ...), sedangkan event_id adalah parameter di Conversions API. Menurut Meta, eventID dari browser harus sama dengan event_id pada event server yang berpasangan agar bisa dideduplikasi.
Apakah event_id wajib dikirim?
Tidak wajib. Meta menandai event_id sebagai parameter opsional, tetapi menyarankannya untuk deduplikasi. Bila Anda tidak mengirim event yang sama lewat Pixel dan Conversions API, Meta menyebut deduplikasi untuk event itu tidak perlu disiapkan. Dalekta tetap mengirim event_id di setiap event, dan memakainya sebagai kunci untuk mencegah kiriman ganda dari sisi Dalekta sendiri.
Seperti apa bentuk event_id yang dikirim Dalekta?
ID lead diikuti tanda titik dua dan kode tahap, misalnya <id-lead>:MASUK_WA. Setiap kombinasi lead dan tahap punya satu event_id yang tetap. Nilainya tampil di kolom Event ID pada halaman Event Logs, sehingga Anda bisa mencocokkan satu baris log dengan lead dan tahapnya.
Apakah satu tahap lead bisa terkirim dua kali ke Meta?
Dalam keadaan normal tidak. Sebelum mengirim, Dalekta mencatat satu log untuk event_id itu, dan selama log berstatus Pending atau Success masih ada, pengiriman baru untuk lead dan tahap yang sama dilewati. Log Failed boleh dikirim ulang dengan event_id yang sama. Event dari Pixel Anda sendiri tidak ikut diperiksa dan bisa menambah hitungan.
