Campaign Attribution & Greeting Templates
Lacak campaign/source/greeting per percakapan WhatsApp lewat CRM, bukan Labels.
Di mana mengatur lead source
Lead source, campaign, dan auto-tagging diatur di **CRM → Attribution** (label sidebar cukup "Attribution", route `/crm/attribution`). Di situlah Anda membuat campaign, greeting template, dan rule auto-tagging — bukan di Labels.
Kenapa attribution di CRM, bukan Labels
Labels adalah tag workflow/status (`LEAD_BARU`, `NEEDS_REPLY`, `VIP`). Attribution adalah data marketing/sumber: campaign, channel, dan greeting yang membawa chat itu. Keduanya beda tujuan, jadi attribution tinggal di CRM (`/crm/attribution`), bukan di Labels.
Contoh setup
- Campaign TikTok → Greeting A → rule `contains "halo tiktok"`
- Campaign Shopee → Greeting B → rule `contains "voucher shopee"`
Cara auto-tagging bekerja
Saat pesan masuk pertama (atau greeting/template/ref param terdeteksi), bot mencocokkan rule berdasarkan priority. Match pertama menetapkan campaign/greeting/source pada conversation, customer, lead, dan order yang dibuat dari chat itu, dengan `attributionConfidence = auto`. Override manual menang dan jadi `manual`.
Membaca badge di chat
Baris chat menampilkan badge `TikTok · Greeting A`. Customer drawer menampilkan Campaign, Source, Greeting Template, First inbound message, dan Confidence (Auto/Manual/Unknown). Kalau belum ada data: `No attribution yet`.
Analytics pakai campaignId
Attribution Analytics mengelompokkan conversations by source, leads/orders/revenue by `campaignId`, dan konversi per greeting template.
Kontrak endpoint bot
httpGET/POST /api/attribution/campaigns
PATCH/DELETE /api/attribution/campaigns/:id
GET/POST /api/attribution/greetings
PATCH/DELETE /api/attribution/greetings/:id
GET/POST /api/attribution/rules
PATCH/DELETE /api/attribution/rules/:id
POST /api/attribution/preview { message, waId? }Dashboard memanggilnya lewat `/api/proxy/attribution/*`. Bot harus menjalankan matching saat first inbound / ref param terdeteksi / admin apply manual, lalu menyimpan attribution pada conversation, customer/contact, lead, dan order.
Caveat
Attribution butuh dukungan bot untuk persist dan auto-match. Tanpa itu, dashboard tetap jalan dengan empty/demo state dan mutasi hanya lokal.