01Sebelum mulai: apa yang dipasang dan apa yang perlu disiapkan
Facebook Ads mengantar orang ke landing page Anda, sedangkan percakapan terjadi di WhatsApp. Di antara dua tempat itu ada satu titik putus: browser tahu campaign asalnya, aplikasi WhatsApp tidak. Tutorial ini memasang jembatannya dari tiga bagian yang saling menyambung, lalu mengujinya sebelum campaign berjalan dengan budget besar.
| Bagian | Tugasnya | Dipasang di |
|---|---|---|
| URL parameter | Menitipkan nama dan ID campaign, ad set, serta iklan ke URL landing page. | Meta Ads Manager, level iklan |
| Tracking script | Membaca parameter, mencatat Visit LP, menyimpan parameter di browser, lalu menambahkannya ke link rotator. | Landing page |
| Link rotator | Mencatat Click CTA, memilih nomor sales penerima, dan menyisipkan kode lead [D-...] di pesan pertama. | Tombol WhatsApp di landing page |
Ketiganya bekerja sebagai satu rantai. Parameter tanpa script tidak terbaca, script tanpa rotator tidak sampai ke chat, dan rotator tanpa parameter menghasilkan lead yang campaign-nya kosong. Alasan di balik rantai ini dibahas di panduan tracking closing WhatsApp dari iklan. Halaman ini fokus pada pemasangan dan pengujiannya.
Siapkan empat hal ini lebih dulu supaya tidak berhenti di tengah jalan:
- Workspace Dalekta aktif dan session WhatsApp untuk nomor sales atau CS berstatus connected (WhatsApp Session).
- Akses untuk mengedit landing page, atau akses ke Google Tag Manager yang memuatnya.
- Akses untuk mengedit iklan di Meta Ads Manager.
- Satu akun WhatsApp lain, bukan nomor session penerima, untuk mengirim pesan tes.
02Langkah 1: pasang URL parameter di Meta Ads Manager
URL parameter dipasang per iklan, bukan per campaign. Dalekta menyediakan template siap salin yang memakai placeholder dinamis Meta. Placeholder Meta di dalamnya diisi otomatis dengan nama dan ID sebenarnya saat orang mengklik iklan yang tayang. Satu parameter, ad_account_id, bukan placeholder Meta dan dibahas setelah template.
- Di Dalekta, buka Tracking Ads, tab UTM, pilih Meta, lalu klik Copy Meta.
- Di Meta Ads Manager, buka iklan yang mengarah ke landing page dan edit di level Ad.
- Pastikan kolom Website URL hanya berisi alamat landing page tanpa parameter tracking, supaya tidak dobel dengan template.
- Cari kolom URL Parameters, biasanya di bagian Tracking pada halaman edit iklan (bisa tertulis Parameter URL jika antarmuka Anda berbahasa Indonesia), lalu tempel template. Hapus tanda tanya di awal, karena Meta menambahkan parameter ke URL final sendiri.
- Publikasikan perubahan, lalu ulangi untuk setiap iklan aktif yang mengarah ke landing page yang sama.
Ini template Meta dari dashboard Dalekta, sudah tanpa tanda tanya di depan. Tempel di kolom URL Parameters, dan pastikan ID_AKUN_IKLAN_ANDA di bagian akhir berisi ID akun iklan yang sebenarnya:
utm_source=meta&utm_medium=paid&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}&campaign_id={{campaign.id}}&adset_id={{adset.id}}&ad_id={{ad.id}}&campaign_name={{campaign.name}}&adset_name={{adset.name}}&ad_name={{ad.name}}&site_source_name={{site_source_name}}&placement={{placement}}&ad_account_id=ID_AKUN_IKLAN_ANDASalin dari dashboard, jangan mengetik ulang. Satu karakter yang salah pada nama placeholder membuat nilainya tidak terisi. Khusus ad_account_id, itu bukan placeholder Meta, jadi Meta tidak akan mengisinya. Dalekta mengisinya dengan ID akun iklan yang terhubung. Jika belum ada yang terhubung, dashboard menampilkan teks {{ad_account.id}} apa adanya, dan Anda perlu menggantinya dengan ID akun iklan dari Ads Manager sebelum menempel. Script tidak membaca parameter ini, jadi tracking tidak terganggu.
| Kelompok | Parameter | Fungsi |
|---|---|---|
| Sumber | utm_source=meta, utm_medium=paid | Menandai traffic sebagai iklan berbayar dari Meta. |
| Nama untuk dibaca manusia | utm_campaign, utm_term, utm_content, plus campaign_name, adset_name, ad_name | Nama campaign, ad set, dan iklan yang tampil di Leads dan report. Jika adset_name atau ad_name kosong, Dalekta memakai utm_term dan utm_content. |
| ID | campaign_id, adset_id, ad_id | Tidak berubah walaupun nama diganti. Tersimpan di lead dan tampil sebagai keterangan kecil di bawah nama baris di report, jadi mudah dicocokkan dengan Ads Manager. |
| Tempat iklan tayang | site_source_name, placement | site_source_name dibaca script dan menentukan Sumber lead tampil sebagai Facebook atau Instagram. placement tidak dibaca script dan hanya ikut tercatat di URL landing page. |
| Click ID Meta | fbclid (tidak ada di template) | Ditambahkan Meta sendiri ke link iklan pada umumnya. Script Dalekta ikut membacanya. |
{{campaign.id}} dan placeholder Meta lainnya ketika orang mengklik iklan yang tayang. Jika Anda menempel template ke URL di browser, nilainya tetap tertulis apa adanya. Untuk tes di langkah 4, pakai nilai manual. Penjelasan lengkap tiap parameter ada di URL Parameter Meta Ads, dan Meta menjelaskan konsepnya di Pusat Bantuan Bisnis Meta.03Langkah 2: pasang tracking script di landing page
Tracking script adalah satu potongan kode yang sudah berisi kode workspace Anda. Salin dari Tracking Ads, tab Tracking Code, lalu tempel sekali di landing page sebelum </head>. Jika website Anda dikelola lewat Google Tag Manager, buat tag Custom HTML berisi script itu dengan trigger All Pages, lalu preview dan publish.
Script hasil salinan berisi bagian loader dan pemanggilan init. Bagian akhirnya seperti ini, dengan kode workspace Anda menggantikan placeholder. Baris customDomains terisi otomatis jika workspace Anda punya custom domain aktif:
dalekta("init", "KODE_WORKSPACE_ANDA", {
// customDomains: ["wa.domainbisnisanda.com"],
autoTrack: true,
browserTags: { autoLoad: false }
});Biarkan baris browserTags seperti adanya. Setelah dimuat, script melakukan tiga hal:
- Mengirim Visit LP saat landing page dibuka, karena
autoTrackaktif. - Membaca parameter dari URL:
utm_source,utm_medium,utm_campaign,utm_term,utm_content,campaign_id,adset_id,ad_id,campaign_name,adset_name,ad_name,site_source_name,fbclid, serta click ID Google dan TikTok. Nilainya disimpan di browser supaya tetap ada setelah visitor pindah halaman. - Menambahkan parameter itu, ID visitor, dan kode lead ke setiap link yang mengarah ke rotator Dalekta.
<a href> dengan path yang mengandung /wa/ pada domain dalekta.id atau domain yang terdaftar di customDomains. Script dari dashboard hanya mengisi customDomains dengan custom domain yang sudah berstatus aktif. Kalau Anda baru mengaktifkan domain setelah menyalin script, salin ulang script-nya. Cara menyiapkan domain ada di Custom Domain Setup.Panduan pemasangan lengkap beserta cara memeriksa script di DevTools ada di Tracking Ads.
04Langkah 3: arahkan tombol WhatsApp ke link rotator
- Buka menu WA Rotator dan buat rotator baru.
- Isi Nama rotator dengan nama yang mudah dikenali tim, misalnya
LP Utama, dan Slug link denganlp-utama. Nama tampil di kolom Rotator pada detail lead, sedangkan slug menjadi bagian akhir link. - Pilih domain:
dalekta.id/KODE_WORKSPACEatau custom domain yang tersedia. - Tulis Pesan awal WhatsApp. Kolom ini otomatis diawali
[kode]. Saat link dibuka,[kode]diganti kode unik seperti[D-7K2QM]. - Di langkah kedua, pilih session WhatsApp sales atau CS yang menerima lead, lalu simpan dan salin linknya.
- Ganti
hrefsemua tombol WhatsApp di landing page dengan link rotator itu.
Pesan awal WhatsApp di rotator:
[kode] Halo, saya tertarik dengan penawaran dari iklan.
Link tombol WhatsApp:
SALAH https://wa.me/628xxxxxxxxxx
BENAR https://dalekta.id/KODE_WORKSPACE/wa/lp-utama
BENAR https://wa.domainbisnisanda.com/wa/lp-utama (jika memakai custom domain)Link wa.me langsung tidak melewati Dalekta, sehingga tidak ada klik yang tercatat dan tidak ada kode yang ikut di pesan. Periksa semua tempat nomor WhatsApp muncul: tombol di bagian atas halaman, tombol sticky di mobile, floating button, footer, dan halaman terima kasih. Satu tombol yang terlewat cukup untuk membuat sebagian chat tidak pernah tercatat sebagai lead, karena pesannya tidak membawa kode.
Tombol juga harus berupa link biasa (<a href>). Tombol yang membuka WhatsApp lewat JavaScript tidak ditambahi parameter oleh script, sehingga kliknya tercatat sebagai klik langsung dari rotator (platform Shortlink di report), bukan sebagai klik dari Meta.
Pertahankan [kode] di awal pesan. Dalekta mencocokkan chat masuk dengan klik lewat kode itu, jadi pesan yang kodenya dihapus customer tidak bisa dipasangkan ke klik asalnya dan tidak membuat lead baru. Detail pengaturan rotator ada di WhatsApp Rotator.
05Langkah 4: kirim tes klik dan pesan pertama
Jangan menunggu iklan tayang untuk mengetes. Buat URL simulasi dengan nilai manual dan buka sendiri. Ganti landing-anda.com dengan domain landing page Anda:
https://landing-anda.com/?utm_source=meta&utm_medium=paid&utm_campaign=test_campaign&utm_term=test_adset&utm_content=test_ad&campaign_id=123&adset_id=456&ad_id=789- Buka jendela private atau incognito baru. Script menyimpan parameter dan kode lead di browser, jadi tes berikutnya dari browser yang sama memakai kode lead yang sama, dan parameter lama yang tidak ada di URL baru ikut terbawa.
- Buka URL tes dan lihat address bar setelah halaman selesai dimuat. Parameter harus masih ada.
- Tekan tombol WhatsApp. WhatsApp terbuka dengan pesan berawalan kode
[D-...]. Jangan hapus kode itu. - Kirim pesan itu dari akun WhatsApp tes ke nomor session penerima.
- Tunggu beberapa saat, lalu buka halaman Leads.
Di setiap tahap, satu hal spesifik harus sudah tercatat:
| Tahap tes | Yang harus tercatat | Cara memeriksa |
|---|---|---|
| Buka URL tes | Visit LP | Di Leads, matikan switch Sembunyikan Visit LP di panel Filter. |
| Tekan tombol WhatsApp | Click CTA dan kode lead | Matikan Sembunyikan Klik CTA, atau cari kode dari pesan, misalnya D-7K2QM. |
| Kirim pesan berkode | Masuk WA | Status lead berubah menjadi Masuk WA dan nomor pengirim muncul di kolom Kontak. Nama terisi jika pengirim punya nama profil WhatsApp. |
06Langkah 5: cek lead, lalu ubah ke Closing dengan nilai
Daftar Leads menyembunyikan Visit LP dan Click CTA secara default, jadi cari lead tes dengan kodenya. Klik nama kontak untuk membuka panel detail, lalu baca bagian Sumber lead. Dengan URL tes di atas, isinya harus seperti ini:
| Kolom di Sumber lead | Nilai yang diharapkan | Berasal dari |
|---|---|---|
| Sumber | Meta. Pada klik iklan sungguhan bisa tampil Facebook atau Instagram. | utm_source, dan site_source_name jika ada |
| Campaign | test_campaign | utm_campaign |
| Ad set | test_adset | utm_term (atau adset_name jika ada) |
| Iklan | test_ad | utm_content (atau ad_name jika ada) |
| Medium | paid | utm_medium |
| Rotator | Nama rotator yang Anda buat, misalnya LP Utama | Rotator yang diklik |
| Identifier klik | Kosong pada tes manual. Iklan sungguhan mengisinya dengan fbclid. | Ditambahkan Meta saat iklan diklik |
Jika semua kolom terisi, rantai parameter, script, rotator, dan kode lead sudah tersambung. Langkah berikutnya menguji ujung rantai, yaitu closing dan nilainya:
- Ubah status lead tes ke Closing lewat dropdown status di baris lead atau di panel detail.
- Di modal Isi nominal closing, masukkan nominal transaksi lebih dari 0.
- Klik Simpan closing.
- Buka detail lead dan pastikan status Closing serta nilainya tersimpan.
utm_source=meta, sehingga lead tes dikenali sebagai lead Meta. Jika Pixel ID, Access Token, dan mapping event sudah aktif, status tes seperti Closing dengan nominal ikut dikirim ke Meta sebagai event sungguhan. Lakukan tes Closing sebelum mapping itu diaktifkan, atau anggap satu event tes akan masuk ke Events Manager. Hasil pengiriman bisa dicek di Sync Logs. Langkah setup ada di Meta CAPI, dan konsepnya di Meta CAPI untuk WhatsApp.Untuk lead sungguhan, Closing bisa diisi manual oleh sales atau dipicu Rules dari kalimat CS. Aturan lengkapnya ada di halaman Leads dan Rules.
07Langkah 6: baca hasilnya di Campaign Report
Buka Campaign Report dan atur rentang tanggal supaya mencakup hari tes. Tabel Traffic Report dimulai dari level Platform. Klik Meta untuk melihat campaign, klik satu campaign untuk melihat ad set, lalu klik ad set untuk melihat iklan. Setiap baris punya kolom LP Visit, Click CTA, WhatsApp, MQL, Prospek, Closing, dan Revenue.
Baris test_campaign seharusnya muncul di bawah Meta dengan angka Closing dan Revenue yang sesuai lead tes. Jika tidak ada, cek dua tempat: baris Shortlink di level Platform (klik masuk tanpa ditambahi parameter oleh script) dan baris Tanpa campaign di bawah Meta (parameter tidak terbaca). Lalu buka tabel pemecahan masalah di bawah.
Report mengelompokkan baris berdasarkan nama, bukan ID. Jika nama campaign, ad set, atau iklan diganti di tengah periode, hasilnya muncul sebagai dua baris. Tetapkan nama final sebelum campaign berjalan, dan pakai ID di bawah nama untuk mencocokkan baris dengan Ads Manager.
Setelah campaign sungguhan berjalan, bandingkan campaign dari Closing dan Revenue, bukan dari jumlah chat. Report belum menghitung biaya per closing atau ROAS otomatis. Ambil spend per campaign dari Ads Manager untuk periode yang sama, lalu hitung sendiri seperti di cara ukur ROAS iklan WhatsApp. Cara membaca tiap kolom ada di Dashboard & Report.
08Pemecahan masalah: parameter hilang dan lead tanpa campaign
Hampir semua masalah tracking dari Facebook Ads jatuh ke salah satu pola berikut. Periksa dari atas ke bawah, karena penyebab di awal rantai membuat gejala di akhir rantai.
| Gejala | Penyebab paling umum | Perbaikan |
|---|---|---|
| Lead masuk di bawah Meta, tetapi campaign tampil Tanpa campaign | URL Parameters belum terpasang di iklan yang tayang, misalnya pada iklan baru atau hasil duplikasi. | Buka iklan yang tayang dan pastikan kolom URL Parameters terisi di level Ad. Klik iklan sungguhan sekali dan lihat URL landing page. |
| Parameter ada di URL iklan, tetapi hilang di lead | Redirect di landing page, misalnya dari www ke non-www atau ke halaman lain, membuang query string. | Buka URL tes dan lihat address bar setelah halaman selesai dimuat. Ubah redirect agar meneruskan query string. |
Nilai parameter tertulis {{campaign.id}} | Template dibuka langsung di browser, bukan lewat klik iklan. | Tes dengan URL bernilai manual. Meta hanya mengisi placeholder saat iklan tayang diklik. |
URL landing page rusak atau ada tanda ?? | Tanda tanya di awal template ikut tertempel di kolom URL Parameters. | Hapus tanda tanya di awal. Tanda itu hanya dipakai saat template ditempel ke Final URL. |
| Visit LP ada, Click CTA nol | Tombol masih memakai wa.me, atau dibuat widget chat pihak ketiga. | Ganti semua tombol, termasuk sticky dan floating button, dengan link rotator. |
| Click CTA ada, tetapi masuk ke Shortlink atau tanpa campaign | Link rotator tidak ditambahi parameter oleh script: script belum terpasang di halaman tombol, custom domain belum ada di customDomains, atau tombol membuka WhatsApp lewat JavaScript, bukan link <a href>. | Pasang script di setiap halaman yang punya tombol, salin ulang script setelah domain aktif, dan pakai link biasa untuk tombol. |
| Click CTA naik, Masuk WA tidak | Kode [D-...] terhapus dari pesan, kode tracking di Rules diubah dari [D-, atau session WhatsApp terputus. | Pastikan pesan awal diawali [kode], kode tracking di Rules masih [D-, dan session connected. Kirim ulang pesan tes tanpa mengubah kode. |
| Ada chat masuk, tetapi tidak muncul sebagai lead | Pesan tidak membawa kode [D-...] dan bukan dari iklan Click to WhatsApp, misalnya dari nomor yang dipasang polos di bio atau materi cetak. Pesannya tersimpan, tetapi tidak menjadi lead. | Cari tempat nomor WhatsApp tampil tanpa rotator dan ganti dengan link rotator. |
| Tombol membuka halaman Dalekta, bukan WhatsApp | Slug atau domain link tidak cocok, rotator tidak aktif, atau tidak ada nomor penerima yang bisa dipakai. | Cocokkan link dengan yang tampil di WA Rotator, lalu pastikan rotator aktif dan punya session penerima. |
| Tombol membuka halaman Link WhatsApp tidak aktif | Trial atau langganan workspace sudah berakhir, atau kuota lead harian paket sudah penuh. | Cek status paket di Billing & Limit. |
| Tes berikutnya bercampur dengan tes sebelumnya | Browser yang sama memakai kode lead dan parameter yang tersimpan, atau nomor WhatsApp tes yang sama sudah pernah chat dengan session penerima. | Pakai jendela private baru untuk setiap tes dan, jika perlu, nomor WhatsApp tes lain. |
| Report kosong padahal lead ada | Rentang tanggal tidak mencakup waktu kejadian (Campaign Report memakai hari ini sebagai default), atau lead masuk ke platform lain seperti Organic atau Shortlink. | Perluas rentang tanggal, klik Refresh, lalu cek baris Organic dan Shortlink di level Platform. |
Jika masih buntu, siapkan kode lead, URL tes, dan waktu kejadian, lalu ikuti urutan debug di Troubleshooting. Untuk daftar lengkap langkah pemasangan dari nol, lihat juga Quick Setup.
09Pertanyaan umum
Bagaimana cara tracking WhatsApp dari Facebook Ads?
Pasang URL parameter Meta di level iklan, pasang tracking script di landing page, lalu ganti tombol WhatsApp dengan link rotator yang menyisipkan kode lead di pesan pertama. Saat chat masuk, kode itu dicocokkan dengan klik, sehingga lead membawa campaign, ad set, dan iklan asalnya sampai status Closing dan nilainya.
Apakah Meta Pixel cukup untuk melacak chat WhatsApp?
Tidak cukup. Pixel berjalan di browser dan hanya melihat aktivitas di website, seperti kunjungan atau klik tombol. Pixel tidak melihat pesan yang dikirim di aplikasi WhatsApp, apalagi closing setelahnya. Karena itu chat perlu dipasangkan ke klik lewat kode lead, lalu hasil closing bisa dikirim balik ke Meta lewat Conversions API.
Apakah URL parameter harus dipasang di setiap iklan?
Ya, parameter diisi per iklan, jadi setiap iklan yang mengarah ke landing page perlu memilikinya. Iklan tanpa parameter tetap bisa menghasilkan lead, tetapi campaign-nya tampil sebagai Tanpa campaign di report, walaupun platformnya biasanya masih terbaca Meta lewat fbclid. Setelah membuat atau menggandakan iklan, cek kolom URL Parameters sebelum publish.
Bisakah cara ini dipakai untuk iklan Click to WhatsApp?
Tidak. Iklan Click to WhatsApp langsung membuka chat tanpa landing page, jadi tidak ada URL yang bisa diberi parameter dan tidak ada script yang berjalan. Iklan jenis ini dilacak lewat metadata iklan yang ikut di pesan pertama. Dalekta menyimpannya di lead berkode CTWA- dan menampilkannya di report yang sama.
Apakah tes Closing ikut terkirim ke Meta?
Bisa. URL tes bertanda utm_source=meta dikenali sebagai lead Meta, jadi jika Pixel ID, Access Token, dan mapping event sudah aktif, status tes seperti Closing dengan nominal ikut dikirim sebagai event sungguhan. Lakukan tes sebelum mapping diaktifkan, atau terima bahwa satu event tes akan masuk ke Events Manager Anda.

