Atribusi Iklan Sendiri: Tahu Klik Mana yang Jadi Closing, Tanpa Bayar Vendor
Iklan jalan di mana-mana — Facebook, Google, TikTok, forum, sampai spanduk. Orang klik, chat masuk, ada yang daftar, ada yang deposit. Pertanyaannya sederhana tapi hampir selalu tidak terjawab: klik dari sumber mana yang benar-benar menghasilkan closing?
Kalau jawabannya “feeling”, budget iklan ikut feeling juga. Sumber yang boncos terus disuntik, sumber yang untung malah dikurangi. Artikel ini soal cara menjawabnya dengan angka — dan tanpa bayar vendor.
Kenapa tidak bisa nitip ke Meta atau vendor
- Brand judi dilarang beriklan di Meta. Standar Periklanan mereka melarang produk/jasa yang diasosiasikan dengan promosi menyesatkan, dan real money gambling masuk daftar itu. Konsekuensinya bukan cuma iklan ditolak: akun dan pixel-nya ikut hilang — riwayat atribusi lenyap bersama akunnya.
- Vendor atribusi = biaya bulanan + data di tangan orang lain. Layanan sejenis Konektor/Kapso menagih ratusan ribu sampai jutaan per bulan, dan percakapan pelanggan kita disimpan di server mereka.
- Browser makin galak. Safari sudah mulai menghapus parameter click ID (
gclid,fbclid,msclkid,twclkid) dari URL. Atribusi yang cuma bergantung cookie makin bocor tiap tahun.
Kesimpulannya bukan “jangan lacak”, tapi lacak sendiri — cukup tahu sumber mana yang mengantar orang sampai deposit.
Bahannya sudah ada semua (nol belanja)
| Bahan yang sudah jalan | Dipakai untuk |
|---|---|
| LP (CF Pages / Netlify) | Tempel skrip ± 20 baris: simpan kode klik |
Shortlink tomat.jagungbaru.com/banner/<kode> |
Sudah 302, tinggal teruskan parameter tracking |
Bot Telegram (deep link /start <payload>) |
Menerima kode saat pengunjung klik tombol |
| LiveChat | Sumber data percakapan + status closing dari CS |
| VPS sendiri | Rumah tabel tracking — tidak ada pihak ketiga |
Cara kerjanya: 3 komponen saja
1. Penangkap klik (di LP, ± 20 baris JS)
- Baca
fbclid/gclid/ttcliddan semua UTM dari URL. - Bikin kode pendek unik, misal
K-7XQ2M. - Simpan di
localStoragedan kirim ke server kita:POST /tr {kode, click_id, utm, ts, referrer}. - Setiap tautan keluar (tombol Telegram/WA) ditambahi
?k=K-7XQ2M.
Poin terakhir yang bikin ini berbeda dari piksel biasa: kode ikut jalan bersama orangnya, bukan cuma tercatat di dashboard.
2. Penyambung (penerima kode)
- Jalur Telegram (paling rapi): tombol LP menuju
https://t.me/<bot>?start=K-7XQ2M. Bot membaca payload di/start <payload>lalu kirimPOST /tr/link {kode, telegram_user_id}. - Jalur WhatsApp/LiveChat: kode ditempel di pesan pembuka — “Halo, saya mau daftar [K-7XQ2M]” — lalu CS atau webhook LiveChat membacanya dengan regex.
3. Pencocok + atribusi (di server sendiri)
Dua tabel kecil (clicks dan leads) sudah cukup. Yang bikin semuanya terbayar adalah satu view:
CREATE VIEW v_source AS
SELECT c.utm, count(*) n_klik,
sum(CASE WHEN l.status='depo' THEN 1 ELSE 0 END) n_depo,
sum(CASE WHEN l.status='closing' THEN 1 ELSE 0 END) n_closing
FROM clicks c LEFT JOIN leads l ON l.kode = c.kode
GROUP BY c.utm;
Begitu view ini hidup, pertanyaan “sumber mana yang benar-benar menghasilkan uang” dijawab angka, bukan tebakan. Laporan harian tinggal dikirim ke grup pakai cron + bot yang sudah jalan.
4 pitfall yang wajib diingat
- Kode bukan dasar pembayaran. Kode hanya menandai asal, bukan mengesahkan transaksi. Verifikasi closing tetap dari panel judi (deposit benar-benar masuk) — kalau tidak, kode bisa dipakai bikin closing palsu.
- Jangan simpan data pribadi berlebihan. Click ID + kode + status sudah cukup. Kalau memang harus menyimpan nomor/email, hash dulu (SHA-256) — ini praktik yang juga dipakai vendor besar sebelum kirim data ke platform iklan.
- Cookie dan localStorage bisa hilang (mode privat, browser baru dibersihkan). Karena itu kode wajib dikirim saat klik pertama, jangan menunggu sampai user chat.
- Shortlink harus meneruskan parameter, bukan membuangnya. Uji dengan
curl -Idan pastikan?k=masih ada di headerLocation. Shortlink yang “bersih” tapi membuang kode = pipeline atribusi mati di tengah jalan.
Kenapa versi sendiri lebih tahan untuk kita
| Aspek | Vendor / platform iklan | Versi sendiri |
|---|---|---|
| Konten judi | dilarang → akun bisa hilang | tidak ada yang bisa menendang |
| Biaya | Rp199rb–1,99jt/bulan | nol (VPS sudah ada) |
| Data | milik vendor | milik kita |
| Jalur | biasanya WhatsApp saja | Telegram + WA + LiveChat + LP |
| Bisa dimatikan orang lain? | ya | tidak |
Yang kita korbankan: tidak bisa mengirim event balik ke algoritma Meta/Google Ads. Untuk brand judi itu memang hal yang tidak mungkin — jadi yang dioptimalkan adalah atribusi internal: tahu sumber, lalu arahkan budget dan tenaga ke sumber yang menguntungkan.
Kesimpulan
Atribusi tidak harus beli. Yang dibutuhkan cuma satu kode unik yang ikut berjalan dari klik → chat → daftar → deposit, ditambah satu tabel kecil di VPS sendiri. Setelah itu laporan iklan berhenti jadi cerita dan mulai jadi angka.
Kalau funnel-nya sendiri masih bocor, atribusi bagus pun tidak menolong — cek dulu funnel 403 Cloudflare: challenge vs benar-benar mati dan audit konversi LP judi yang tombolnya mati.
Sumber: Meta Transparency Center (Produk & Layanan Keuangan yang Dilarang), stape.io (Safari menghapus click identifier), LinkTrust (server-side tracking & click ID postback).
— Chokdi 🐷 · Content Studio · 2026