Cara Membuat Event Konversi Form Submit Tanpa Double Count
Cara Membuat Event Konversi Form Submit Tanpa Double Count. Kalau anda sudah menjalankan Google Ads, Meta Ads, atau SEO untuk mendatangkan trafik, titik paling krusial berikutnya adalah memastikan anda mengukur hasil dengan benar. Form submit sering dijadikan konversi utama karena sangat dekat dengan lead dan peluang transaksi. Masalahnya, form submit juga termasuk event yang paling sering mengalami double count. Angka konversi terlihat naik, biaya per lead terlihat turun, optimasi terasa berhasil, padahal yang terjadi hanyalah hitungan ganda.
Saya sering menemukan kasus seperti ini
- Satu orang mengisi form sekali, tetapi tercatat dua sampai tiga konversi
- Konversi tercatat saat tombol submit diklik, padahal form gagal terkirim
- Konversi tercatat lagi ketika halaman terima kasih dibuka ulang
- Konversi tercatat dari dua sumber sekaligus, misalnya dari GA4 dan dari tag iklan
- Konversi tercatat dari beberapa trigger GTM yang sama sama aktif
Di artikel ini saya akan membahas cara membuat event konversi form submit yang rapi dan tahan banting, tanpa double count, sehingga data anda bisa dipakai untuk optimasi, bukan sekadar pajangan laporan.
Kenapa Double Count Berbahaya Untuk Optimasi
Double count bukan hanya masalah laporan, dampaknya bisa langsung merusak keputusan bisnis.
Dampak paling sering
- CPA terlihat lebih murah dari kenyataan, sehingga budget dinaikkan ke kampanye yang sebenarnya tidak efektif
- Smart bidding belajar dari sinyal yang salah dan mengejar klik yang mudah memicu event palsu
- Anda salah menilai landing page yang bagus, padahal konversinya hanya dobel firing
- Anda mengira kualitas lead turun, padahal yang turun adalah akurasi pengukuran
Kalau anda ingin skala iklan dengan percaya diri, anda perlu konversi yang bersih.
Sumber Double Count Yang Paling Umum Pada Form Submit
Sebelum bicara solusi, anda harus tahu akar masalahnya. Double count biasanya datang dari kombinasi beberapa hal sekaligus.
Konversi dipicu oleh klik tombol submit
Ini penyebab paling umum. Klik tombol submit bukan bukti sukses. User bisa
- Salah isi field wajib
- Tidak lolos validasi
- Terhalang captcha
- Koneksi putus
- Server error
Jika anda menembakkan event pada klik, anda sedang menghitung niat, bukan hasil.
Konversi dipicu oleh trigger GTM Form Submission dan juga halaman terima kasih
Banyak orang menembak dua kali tanpa sadar.
- Trigger Form Submission menembak saat form submit
- Trigger Page View menembak saat halaman terima kasih terbuka
Satu aksi, dua event.
Form berbasis ajax atau single page membuat trigger form bawaan tidak stabil
Pada form yang tidak reload halaman, trigger bawaan bisa
- Menembak sebelum sukses
- Menembak dua kali pada beberapa kondisi
- Menembak karena perubahan DOM, bukan karena submit sukses
User refresh halaman terima kasih atau kembali lewat tombol back
Jika konversi berbasis halaman terima kasih, refresh atau revisit bisa menambah hitungan.
Anda mengaktifkan konversi yang sama dari dua jalur
Contoh kasus yang sering
- Anda memasang tag konversi Google Ads langsung
- Anda juga mengimpor konversi dari GA4 ke Google Ads untuk event yang sama
Hasilnya dua konversi untuk satu lead.
Enhanced measurement atau event otomatis yang overlap
Pada beberapa setup, ada event otomatis yang mirip dengan event manual, lalu keduanya dihitung.
Prinsip Emas Agar Form Submit Tidak Double Count
Saya selalu pakai tiga prinsip ini sebagai fondasi.
1 Hitung hanya saat sukses
Bukan saat klik, bukan saat mulai mengetik, bukan saat membuka halaman.
2 Pastikan hanya ada satu sumber kebenaran
Pilih satu jalur utama untuk konversi utama, lalu jalur lain jadikan pendukung atau matikan.
3 Pasang mekanisme deduplikasi
Karena perilaku user dan browser kadang tidak bisa diprediksi, dedup adalah sabuk pengaman.
Kalau anda menegakkan tiga prinsip ini, 80 persen masalah double count biasanya selesai.
Memilih Arsitektur Tracking Yang Paling Aman
Ada beberapa cara yang bisa anda pilih, tergantung jenis website dan form yang anda pakai.
Opsi A Halaman terima kasih yang unik dan sulit diakses langsung
Ini metode paling sederhana dan stabil bila website anda mengarahkan user ke halaman khusus setelah sukses.
Kelebihan
- Mudah dibuat
- Mudah diuji
- Minim risiko menghitung aksi gagal
Risiko
- Bisa double count jika halaman di refresh atau dibuka ulang
- Bisa salah hitung jika halaman bisa diakses tanpa submit sukses
Solusi untuk risikonya akan saya bahas pada bagian deduplikasi berbasis halaman.
Opsi B Event sukses dari data layer saat server mengonfirmasi sukses
Ini metode favorit saya untuk form modern, terutama yang tidak reload halaman.
Kelebihan
- Menghitung hanya saat sukses
- Bisa membawa parameter tambahan seperti form name, lead type, bahkan id unik
- Lebih tahan pada perubahan tampilan
Risiko
- Perlu bantuan developer atau pemahaman sistem form agar event sukses benar benar hanya muncul saat sukses
Opsi C Konfirmasi dari server, lalu kirim event dari sisi server
Ini paling kuat, terutama untuk bisnis yang serius dengan akurasi.
Kelebihan
- Sangat minim manipulasi
- Deduplikasi lebih mudah karena server punya id lead
Risiko
- Butuh implementasi lebih teknis
Jika anda masih tahap awal, mulai dari opsi A atau B sudah cukup asalkan disiplin.
Cara Membuat Event Sukses Yang Benar Tanpa Mengandalkan Klik Submit
Jika anda ingin event yang bersih, fokus anda adalah mendeteksi momen sukses.
Berikut cara berpikir yang saya sarankan.
Cari sinyal sukses yang tidak bisa palsu
Sinyal sukses yang kuat contohnya
- Redirect ke halaman terima kasih yang hanya muncul setelah submit sukses
- Muncul pesan sukses yang spesifik dan hanya muncul saat submit berhasil
- Respon server mengembalikan status sukses
- Ada id lead atau nomor tiket yang ditampilkan
Sinyal yang lemah dan sering menipu
- Klik tombol submit
- Form submit attempt
- Scroll ke bagian form
- Focus pada input
Anda boleh mengukur sinyal lemah sebagai micro event, tetapi jangan jadikan konversi utama.
Implementasi Tanpa Double Count Untuk Form Dengan Halaman Terima Kasih
Kalau anda memakai halaman terima kasih, langkah aman biasanya seperti ini.
1 Buat URL halaman terima kasih yang benar benar spesifik
Jangan memakai path yang terlalu umum. Usahakan satu form satu halaman terima kasih.
Tujuannya
- Trigger lebih presisi
- Audit lebih mudah
- Mengurangi risiko halaman lain ikut terhitung
2 Pastikan trigger hanya menembak pada halaman itu
Gunakan kondisi yang sempit. Hindari trigger yang hanya mengandalkan kata umum seperti terima kasih.
Tambahkan filter tambahan bila perlu
- Page path harus sama persis
- Page title mengandung pola tertentu
- Parameter khusus bila sistem mendukung
3 Tambahkan dedup berbasis penyimpanan browser
Ini kunci agar refresh tidak menambah hitungan.
Logikanya sederhana
- Saat konversi ditembak, simpan penanda di browser
- Saat halaman terima kasih dibuka lagi, cek penanda
- Jika penanda sudah ada, jangan tembak konversi lagi
Penanda bisa berupa
- session storage untuk menahan hanya selama tab aktif
- cookie untuk menahan selama durasi tertentu
Saya lebih suka session storage untuk halaman terima kasih karena umumnya cukup mencegah refresh dan back forward dalam sesi yang sama, tanpa mengunci user terlalu lama.
4 Jika ada id unik, pakai id unik sebagai kunci dedup
Kalau halaman terima kasih membawa parameter id, gunakan itu sebagai kunci. Ini jauh lebih aman daripada sekadar menahan satu kali per sesi.
Contoh konsep
- Jika id lead berbeda, boleh dihitung
- Jika id lead sama, jangan dihitung ulang
Dengan cara ini, user yang benar benar submit dua kali dengan lead yang berbeda masih bisa tercatat wajar.
Implementasi Tanpa Double Count Untuk Form Ajax Dan Single Page
Untuk form ajax, metode paling aman adalah menembak event saat sistem menyatakan sukses.
Berikut langkah yang biasanya rapi.
1 Buat definisi event sukses yang jelas
Contoh nama event yang mudah dibaca
- generate_lead
- form_success
- lead_submitted
Pilih satu nama yang konsisten di seluruh website.
2 Pastikan event hanya dipush ketika sukses
Ini inti. Event harus dipush di callback sukses, bukan di callback klik.
Jika sistem form anda memakai plugin, cari opsi yang hanya jalan saat submit berhasil. Jika tidak ada, minta developer memasang hook pada respon sukses.
3 Kirim parameter yang membantu dedup
Parameter yang saya sarankan
- form_id atau form_name
- lead_type bila ada beberapa jenis layanan
- unique_event_id yang baru untuk setiap submit sukses
Unique event id bisa berupa gabungan waktu dan random string. Tujuannya agar anda punya identitas event yang bisa dipakai untuk dedup lintas platform.
4 Buat trigger di GTM hanya berdasarkan event sukses itu
Jangan gabungkan dengan form submission trigger bawaan jika sudah memakai event sukses. Satu sumber saja.
5 Tambahkan dedup di sisi GTM
Walau event sudah didesain hanya saat sukses, dedup tetap penting.
Beberapa kondisi yang bisa membuat event terkirim dua kali
- Double click yang memicu dua request
- Respon server yang dikirim ulang
- Bug plugin yang memanggil callback dua kali
- Aplikasi single page yang me rerender komponen
Dedup yang sehat biasanya berbasis unique_event_id atau kombinasi form_id dan timestamp.
Teknik Deduplikasi Yang Paling Efektif Dan Mudah Dijaga
Saya akan rangkum beberapa teknik dedup yang realistis dipakai.
Deduplikasi berbasis session storage
Cocok untuk mencegah refresh, back forward, dan firing ganda dalam satu sesi.
Kapan dipakai
- Halaman terima kasih
- Event sukses yang kadang terpanggil dua kali dalam tab yang sama
Kelebihan
- Mudah
- Tidak mengganggu konversi valid pada hari berikutnya
Kekurangan
- Tidak menahan jika user pindah device atau browser
Deduplikasi berbasis cookie
Cocok untuk menahan hitungan ganda pada rentang waktu tertentu.
Kapan dipakai
- Website yang sering di refresh oleh user
- Form yang memicu firing ulang karena cache atau reload
Kelebihan
- Lebih persisten dari session storage
Kekurangan
- Bisa menahan konversi valid jika user submit lagi dalam waktu dekat
Deduplikasi berbasis id unik dari sistem
Ini opsi paling rapi jika sistem anda bisa mengeluarkan id lead atau id submit.
Kelebihan
- Akurasi tinggi
- Bisa membedakan submit yang benar benar berbeda
Kekurangan
- Butuh dukungan sistem
Deduplikasi lintas platform dengan event id
Jika anda mengirim event yang sama ke GA4 dan ke Google Ads, event id membantu anda menyamakan identitas event agar bisa mengurangi risiko hitung ganda di rantai pelaporan internal.
Yang penting dipahami
- Deduplikasi terbaik terjadi ketika setiap konversi punya identitas yang sama sejak awal
- Tanpa identitas, anda hanya bisa menahan berdasarkan waktu atau sesi
Menghindari Double Count Karena Dua Sumber Konversi Di Google Ads
Ini masalah yang paling sering membuat angka palsu.
Banyak orang melakukan ini tanpa sadar
- Membuat konversi Google Ads via tag
- Juga mengimpor konversi dari GA4 untuk event yang sama
- Keduanya sama sama disetel sebagai primary
Hasilnya
- Satu form submit tercatat dua konversi
- Smart bidding mengejar sinyal ganda
Solusi yang saya sarankan
- Pilih satu sumber untuk konversi utama
- Jadikan yang lain secondary atau nonaktifkan untuk optimasi
- Jika anda ingin memakai GA4 untuk pelaporan lintas channel, biarkan GA4 sebagai pelaporan, tetapi Google Ads cukup memakai satu konversi utama yang konsisten
Kalau anda belum yakin, langkah aman adalah membuat satu konversi utama saja untuk bidding, lalu sisanya hanya untuk observasi.
Menghindari Double Count Karena Trigger GTM Yang Terlalu Longgar
Double count di GTM sering terjadi karena trigger yang terlalu umum.
Contoh trigger yang terlalu umum
- All pages pada tag konversi
- Some page views dengan kondisi mengandung kata yang muncul di banyak halaman
- Click trigger yang menangkap banyak tombol sekaligus
Cara memperketat trigger
- Gunakan selector spesifik untuk tombol
- Gunakan page path yang spesifik untuk halaman sukses
- Gunakan custom event name yang unik
- Tambahkan syarat tambahan seperti form_id
Prinsipnya
Semakin mahal biaya iklan anda, semakin sempit trigger konversi anda harus dibuat.
Cara Testing Agar Anda Yakin Tidak Ada Double Count
Anda tidak bisa mengandalkan feeling. Testing wajib.
Berikut langkah uji yang saya pakai.
Uji jalur sukses
- Isi form dan submit sampai benar benar sukses
- Pastikan event konversi hanya menembak satu kali
- Ulangi test sekali lagi pada sesi yang sama untuk melihat apakah ada firing kedua yang tidak diinginkan
Uji jalur gagal
- Coba submit dengan field kosong atau format salah
- Pastikan event konversi tidak menembak
Ini penting, karena banyak setup klik submit akan tetap menembak pada kondisi gagal.
Uji refresh dan back
- Setelah sukses, refresh halaman atau kembali lalu maju lagi
- Pastikan dedup menahan konversi agar tidak menembak ulang
Uji multi form jika ada
Jika halaman punya lebih dari satu form, pastikan form yang tidak relevan tidak ikut memicu event.
Uji perangkat berbeda
Kadang perilaku mobile berbeda dengan desktop, terutama untuk popup sukses, scrolling, dan event click.
Jika anda menemukan event menembak dua kali, jangan langsung menambah trigger lain. Langkah yang benar adalah mempersempit sumber firing, lalu pasang dedup sebagai pengaman.
Pola Setup Yang Saya Rekomendasikan Untuk Berbagai Kondisi
Agar anda mudah memilih, ini ringkasannya.
Website sederhana dengan halaman terima kasih
- Trigger konversi hanya pada halaman terima kasih
- Tambahkan dedup session storage
- Pastikan halaman tidak mudah diakses tanpa submit
Website jasa dengan form ajax
- Kirim event sukses melalui data layer
- Trigger konversi hanya pada custom event sukses
- Sertakan unique_event_id
- Tambahkan dedup berbasis unique_event_id
Website dengan banyak landing page dan banyak form
- Standarisasi event sukses yang sama
- Bedakan form dengan form_id
- Konversi utama fokus pada lead sukses
- Konversi pendukung boleh ada, tetapi jangan mengganggu primary
Website yang ingin akurasi tinggi untuk skala besar
- Gunakan id dari server
- Pertimbangkan pengiriman event dari sisi server
- Pastikan dedup lintas halaman dan lintas sesi
Checklist Cepat Agar Konversi Form Submit Anda Bersih
Saya sarankan anda memakai checklist ini setiap kali memasang tracking.
- Konversi ditembak hanya saat sukses
- Tidak ada tag konversi yang ditembak pada klik tombol submit
- Hanya ada satu sumber utama untuk konversi utama di Google Ads
- Trigger GTM spesifik dan tidak menangkap banyak kondisi
- Ada dedup, minimal berbasis sesi
- Test jalur sukses, gagal, refresh, back
- Dokumentasi penamaan event dan trigger rapi
Jika semua poin di atas terpenuhi, kemungkinan besar anda sudah aman dari double count.
Cara Membuat Data Konversi Lebih Layak Dipakai Untuk Optimasi SEO Dan Iklan
Tracking yang bersih memberi anda dua keuntungan besar.
Untuk Google Ads
- Smart bidding belajar dari sinyal yang benar
- Anda bisa menilai keyword dan kampanye berdasarkan hasil, bukan klik
- CPA yang anda lihat lebih mendekati kenyataan
Untuk SEO
- Anda bisa mengukur halaman organik mana yang benar benar menghasilkan lead
- Anda bisa memilih topik konten berdasarkan kontribusi konversi, bukan hanya trafik
- Anda bisa membangun internal link menuju halaman yang terbukti menghasilkan form submit sukses
Jadi perbaikan tracking bukan hanya urusan iklan, ini juga membantu strategi konten dan prioritas optimasi website.
Baca juga: Panduan Menghubungkan Google Ads Dengan GA4 Yang Benar.
Jika Anda Ingin Form Submit Anda Tercatat Sekali, Bukan Berkali Kali
Kalau anda sudah capek melihat angka konversi yang tidak masuk akal, atau anda merasa CPA anda terlalu bagus untuk jadi nyata, kemungkinan besar masalahnya ada di double count. Anda bisa mulai merapikan dengan prinsip yang saya jelaskan
Hitung hanya saat sukses, gunakan satu sumber utama, lalu pasang dedup sebagai pengaman.
Jika anda ingin saya bantu audit tracking anda, merapikan struktur event, memastikan trigger tidak longgar, dan menyelaraskan konversi antara GTM, GA4, dan Google Ads supaya data siap dipakai optimasi mingguan, anda bisa gunakan bantuan layanan jasa Google Ads dan tracking dari Murtafi Digital agar keputusan iklan anda benar benar berdiri di atas data yang bersih dan bisa dipercaya.