DM Champ Docs

Atribusi klik iklan untuk WhatsApp

Jika Anda menjalankan iklan Meta atau Google ke halaman di situs web Anda sendiri, dan halaman tersebut memiliki tombol WhatsApp, DM Champ dapat memberi tahu Anda dari klik iklan mana setiap percakapan WhatsApp berasal. Anda cukup menempelkan satu skrip kecil di situs web Anda. Saat pengunjung mengetuk tombol WhatsApp Anda, klik tersebut diingat dan dicocokkan dengan pesan pertama yang mereka kirimkan kepada Anda. Kontak tersebut kemudian akan menampilkan kampanye asalnya, dan data klik tersebut akan ikut serta bersama kontak ke webhook, API, dan, jika Anda mau, kembali ke Meta.

Ini berfungsi untuk halaman apa pun dengan tombol WhatsApp: halaman landas (landing page), halaman pemesanan, halaman harga, atau kuis yang diakhiri dengan “Kirim jawaban saya melalui WhatsApp”.

Halaman ini membahas tentang iklan yang mengarahkan orang ke situs web Anda terlebih dahulu. Jika iklan Anda membuka WhatsApp secara langsung (iklan “Klik ke WhatsApp” dari Meta), hal itu ditangani secara otomatis, tanpa skrip, dalam Atribusi Iklan Klik-ke-WhatsApp.


Menyiapkannya

  1. Buka Pengaturan → Pelacakan klik iklan (grup Integrasi).
  2. Klik Aktifkan dan dapatkan skrip saya. Akun Anda akan mendapatkan kunci situs dan skrip satu baris miliknya sendiri.
  3. Salin skrip tersebut dan tempelkan tepat sebelum tag penutup </body> di setiap halaman yang memiliki tombol WhatsApp:
<script src="https://api.dmchamp.com/v1/ad-visit/YOUR_SITE_KEY.js" async></script>
  1. Opsional: di bawah Nomor WhatsApp, ketik nomor yang ditautkan oleh tombol Anda. Hanya tautan ke nomor tersebut yang kemudian akan dilacak. Biarkan kosong untuk melacak setiap tautan WhatsApp di situs.
  2. Pilih kata-kata untuk nomor pertanyaan (lihat di bawah) dan klik Simpan. Anda tidak perlu mengubah skrip di situs web Anda setelah melakukan perubahan pengaturan.
  3. Uji coba: buka halaman Anda dari tautan yang memiliki tag kampanye, misalnya https://yoursite.com/?utm_source=test&utm_campaign=setup-check, ketuk tombol WhatsApp Anda sendiri, dan kirim pesannya. Buka kontak tersebut di Obrolan: panel kontak akan menampilkan Berasal dari klik iklan beserta kampanyenya.

Kunci situs sudah ada di dalam skrip. Ini bukan kata sandi, jadi aman untuk diletakkan di halaman publik.

Agensi: setiap akun klien memiliki kunci situs dan skripnya sendiri, sehingga situs web setiap klien akan melapor ke akunnya masing-masing. Anda dapat menyembunyikan bagian ini untuk klien dengan visibilitas menu, seperti bagian pengaturan lainnya.


Apa yang dilakukan skrip ini

  • Saat halaman dimuat, skrip ini menyimpan ID klik iklan dan tag kampanye (parameter utm_) dari alamat halaman di penyimpanan sesi tab peramban, sehingga data tersebut tetap ada jika pengunjung melihat halaman lain terlebih dahulu. Skrip ini tidak menetapkan cookie, tidak memuat apa pun, dan tidak mengirimkan apa pun.
  • Saat pengunjung mengetuk tautan WhatsApp (wa.me, api.whatsapp.com/send, atau whatsapp://send), skrip ini menambahkan nomor pertanyaan ke pesan, mencatat kunjungan tersebut, dan membiarkan ketukan berlanjut ke WhatsApp seperti biasa.

Tidak ada yang dikirim ke DM Champ sebelum ketukan terjadi.


Nomor pertanyaan

Nomor singkat, seperti referensi yang diberikan toko atau klinik kepada Anda, ditambahkan ke pesan WhatsApp pengunjung. Dengan cara inilah DM Champ mengetahui dengan tepat klik iklan mana yang menjadi milik percakapan yang mana. Pesan akan terlihat seperti ini:

Hi, I would like to know more.
Enquiry no. 4827
  • Kata-kata: “No. pertanyaan” adalah defaultnya. Anda dapat menggunakan satu baris teks apa pun yang terdengar alami untuk bisnis Anda, seperti “Ref pemesanan” atau “Ref”. Tanpa angka.
  • Di mana: Di baris terakhirnya sendiri (default) atau Di akhir teks. Halaman pengaturan menampilkan pratinjau langsung.
  • Panjang: 4 digit, atau 5 jika situs Anda sangat sibuk.
  • Agen AI Anda tidak akan pernah melihatnya dan tidak akan pernah mengulanginya. Kotak masuk menampilkan pesan lengkap, termasuk nomornya.

Anda dapat mematikan nomor pertanyaan. Pencocokan kemudian hanya berfungsi pada teks pesan, sehingga dua pengunjung yang mengirim teks yang persis sama (misalnya jawaban kuis yang sama) tidak dapat dibedakan, dan beberapa klik tidak akan dicocokkan.


Kode kuis atau tombol Anda sendiri

Jika halaman Anda membuat pesan WhatsApp sendiri (kuis yang memasukkan jawaban ke dalam teks, atau kode tombol Anda sendiri), tambahkan data-manual ke tag skrip:

<script src="https://api.dmchamp.com/v1/ad-visit/YOUR_SITE_KEY.js" data-manual async></script>

Dengan data-manual, skrip tidak lagi mengubah tautan WhatsApp dengan sendirinya. Kode Anda sendiri memanggilnya tepat sebelum membuka WhatsApp, sehingga setiap kunjungan dicatat satu kali:

  • window.ChatAttribution.text(finalText, number) mengembalikan teks Anda dengan nomor pertanyaan yang ditambahkan, dan mencatat kunjungan tersebut. Gunakan teks yang dikembalikan dalam tautan WhatsApp Anda.
  • window.ChatAttribution.link(finalText, number) melakukan hal yang sama dan mengembalikan tautan wa.me yang siap digunakan dengan teks tersebut. Kosongkan nomor untuk menggunakan nomor yang ada di bawah Nomor WhatsApp di pengaturan.
<script>
  function sendAnswers(answers) {
    var text = "Hi, my answers: " + answers.join(", ");
    if (window.ChatAttribution) {
      window.location.href = window.ChatAttribution.link(text, "+15551234567");
    } else {
      window.location.href = "https://wa.me/15551234567?text=" + encodeURIComponent(text);
    }
  }
</script>

Cabang else menjaga tombol tetap berfungsi jika skrip belum dimuat, misalnya saat ekstensi peramban memblokirnya. Teks yang sudah membawa nomor yang dikeluarkan skrip tidak akan pernah diubah untuk kedua kalinya.


Apa yang dicatat

Saat diketuk, catatan kunjungan menyimpan:

  • id klik iklan di alamat halaman, seperti fbclid (Meta) dan gclid (Google)
  • cookie _fbc dan _fbp, jika piksel Meta Anda sendiri mengaturnya di situs Anda (skrip membacanya, skrip tidak pernah mengaturnya)
  • tag kampanye (utm_source, utm_medium, utm_campaign, utm_content, utm_term)
  • halaman landas, halaman asal pengunjung, peramban, dan teks pesan
  • alamat IP dan waktu, ditambahkan oleh DM Champ saat kunjungan tiba

Catatan kunjungan disimpan selama 90 hari. Saat kunjungan dicocokkan, salinan data kliknya disimpan pada kontak dan tetap ada pada kontak tersebut hingga Anda menghapusnya.

Pemberitahuan privasi Anda: skrip berjalan di situs web Anda, jadi pemberitahuan privasi situs web Anda harus menyebutkannya: apa yang dicatatnya (daftar di atas) dan bahwa skrip tersebut mencatatnya saat pengunjung mengetuk tombol WhatsApp.


Cara kerja pencocokan

Saat pesan pertama kontak tiba, DM Champ mencari kunjungan dari 15 menit sebelumnya:

  1. Berdasarkan nomor pertanyaan terlebih dahulu. Pesan yang membawa nomor yang dikeluarkan skrip dicocokkan dengan kunjungan tersebut.
  2. Jika tidak, berdasarkan teks yang identik. Pesan dengan teks yang persis sama dengan satu kunjungan dicocokkan dengannya. Jika dua pengunjung berbeda mengirim teks yang sama dalam jendela waktu tersebut, keduanya tidak dicocokkan, dengan sengaja, agar kontak tidak pernah dikaitkan dengan iklan yang salah.

Pesan selanjutnya yang membawa nomor pertanyaan juga dicocokkan, selama kontak tersebut belum memiliki kecocokan.

Batasan:

  • Kecocokan pertama yang menang. Setelah kontak memiliki kecocokan, data tersebut tidak akan pernah ditimpa.
  • Hanya WhatsApp: saluran WhatsApp Business API dan WhatsApp Web.
  • 15 menit: pengunjung yang mengetuk tombol tetapi mengirim pesan jauh setelahnya tidak akan dicocokkan.
  • Hanya ke depan: kontak dari sebelum Anda memasang skrip tidak memiliki kecocokan.

Di mana Anda melihatnya

  • Panel kontak: Berasal dari klik iklan dengan kampanye atau sumber dan tanggalnya. Arahkan kursor untuk detailnya.
  • Webhook: contact.ad_attribution di webhook tag agen dan di setiap peristiwa langganan webhook yang membawa kontak.
  • API: ad_attribution pada daftar kontak dan adAttribution pada satu kontak, di bagian Kontak pada referensi API.
  • Alat MCP: objek yang sama pada setiap kontak yang dikembalikannya.

Nilainya adalah null ketika kontak tidak memiliki kecocokan.

Bidang Apa itu
visit_at Saat pengunjung mengetuk tombol WhatsApp.
matched_at Saat kunjungan dicocokkan dengan kontak.
match_method reference (dicocokkan berdasarkan nomor pertanyaan) atau text (dicocokkan berdasarkan teks pesan yang identik).
reference Nomor pertanyaan, atau null saat dinonaktifkan.
fbc / fbp Klik Meta dan cookie browser dari piksel Meta Anda sendiri, jika ada.
fbclid ID klik iklan Meta dari alamat halaman.
gclid / gbraid / wbraid ID klik iklan Google dari alamat halaman.
utm_source / utm_medium / utm_campaign / utm_content / utm_term Tag kampanye dari alamat halaman.
landing_url Halaman yang dikunjungi pengunjung.
referrer Halaman asal pengunjung.
client_ip Alamat IP pengunjung.
user_agent Browser pengunjung.
site_key Kunci situs dari skrip yang merekam kunjungan.
visit_id ID catatan kunjungan.

Kirim hasil ke Meta (opsional)

Anda dapat membiarkan DM Champ melaporkan hasil kembali ke akun iklan Meta Anda, sehingga Meta mempelajari iklan mana yang menghasilkan prospek dan penjualan nyata serta mengoptimalkannya. Ini menggunakan detail Meta Conversions API Anda sendiri.

  1. Di Meta Events Manager, temukan ID piksel (juga disebut dataset) Anda di bawah Sumber data, dan buat token akses di bawah Pengaturan, Conversions API, Hasilkan token akses.
  2. Di Pengaturan → Pelacakan klik iklan, di bawah Kirim hasil ke Meta (opsional), masukkan ID Piksel / dataset dan Token akses. Saat menguji, Anda dapat menambahkan Kode peristiwa uji dari tab Peristiwa uji Meta; hapus setelah selesai. Klik Simpan detail Meta.
  3. Buka editor agen, buka tab Tag dan buka sebuah tag. Di bawah Kirim ke Meta, pilih peristiwa: Prospek, Kontak, Jadwal, Pembelian, atau nama kustom. Secara opsional, tambahkan nilai dan mata uang.

Sejak saat itu, setiap kali tag tersebut diterapkan ke kontak (oleh AI, secara manual, melalui API, atau melalui otomatisasi), DM Champ mengirimkan peristiwa tersebut ke Meta dengan data klik yang disimpan kontak (fbc, fbp, alamat IP, browser, halaman landas) ditambah telepon, email, dan nama mereka, yang di-hash, sehingga Meta dapat menautkannya ke iklan. Kontak tanpa kecocokan tetap mengirimkan peristiwa tersebut, hanya dengan telepon, email, dan nama yang di-hash.

  • Tidak ada penghitungan ganda: setiap peristiwa memiliki ID tetap yang terdiri dari ID kontak dan nama tag. Jika CRM Anda mengirim peristiwa yang sama ke Meta dengan ID yang sama, Meta hanya menyimpan satu.
  • Jendela atribusi Meta: Meta hanya mengkreditkan peristiwa ke iklan dalam jendela atribusinya, yang secara default adalah 7 hari setelah klik. Kesepakatan yang ditutup beberapa minggu kemudian tidak akan dihitung dengan sendirinya, jadi kirimkan juga peristiwa sebelumnya, misalnya tag untuk konsultasi yang dipesan atau dibayar.

FAQ

Apakah ini berfungsi jika iklan saya membuka WhatsApp secara langsung? Iklan tersebut tidak melalui situs web Anda, sehingga skrip tidak pernah berjalan. Meta mengirimkan detail iklan dengan pesan pertama sebagai gantinya, lihat Atribusi Iklan Klik-ke-WhatsApp.

Apakah skrip memperlambat situs web saya atau menyetel cookie? Skrip dimuat di latar belakang (async), tidak menyetel cookie, dan tidak memuat apa pun lagi. Skrip hanya mengirim sesuatu ketika pengunjung mengetuk tombol WhatsApp.

Bisakah saya melacak Google Ads dan juga Meta ads? Ya. ID klik Google (gclid, gbraid, wbraid) dan tag kampanye apa pun direkam dan ditampilkan pada kontak. Mengirim hasil kembali hanya tersedia untuk Meta.

Mengapa kontak tidak mendapatkan kecocokan? Alasan paling umum: pesan tiba lebih dari 15 menit setelah ketukan, nomor pertanyaan dihapus dari pesan, nomor pertanyaan dinonaktifkan dan pengunjung lain mengirim teks yang sama, atau halaman tidak memiliki skrip.

Situs web saya menautkan ke dua nomor WhatsApp. Bisakah saya melacak hanya satu? Ya. Ketik nomor tersebut di bawah Nomor WhatsApp di pengaturan. Biarkan kosong untuk melacak setiap tautan WhatsApp.

Bisakah saya mengubah kata-katanya nanti? Ya. Perubahan akan langsung diterapkan ke situs web Anda; Anda tidak perlu menempelkan skripnya lagi.