CS Otomatis WA dengan Personalisasi Nama

Cara personalisasi CS otomatis WhatsApp dengan nama customer. Lebih personal, lebih engaging. Tutorial lengkap!

CS Otomatis WA
CS Otomatis WA

"Dear Customer" vs "Hai Kak Siti!"

Mana yang lebih personal? Tentu yang kedua!

Personalisasi meningkatkan engagement dan membuat customer merasa special.


Kenapa Personalisasi Penting?

📊 Statistik:

- Pesan personal = 26% higher open rate
- Nama = Attention grabber
- Personal touch = Trust builder
- "Dear Customer" = Terasa massal/spam

Sumber Data Nama

1. Dari WhatsApp Profile

javascript

client.on('message', async msg => {
    const contact = await msg.getContact();
    const name = contact.pushname || 'Kak';
    
    await msg.reply(`Hai ${name}! Ada yang bisa dibantu?`);
});

2. Dari Database Customer

javascript

client.on('message', async msg => {
    const phone = msg.from.replace('@c.us', '');
    const customer = await db.customers.findOne({ phone });
    
    const name = customer?.name || 'Kak';
    
    await msg.reply(`Hai ${name}! Ada yang bisa dibantu?`);
});

3. Tanya di Awal

Bot: "Hai! Sebelum lanjut, boleh tau namanya siapa?"

Customer: "Siti"

Bot: "Hai Kak Siti! Senang berkenalan 😊
     Ada yang bisa dibantu hari ini?"

// Save to database for future

Template dengan Personalisasi

Greeting:

❌ "Selamat datang di Toko Kami"
✅ "Hai Kak [NAMA]! 👋 Selamat datang di [TOKO]!"

Konfirmasi Order:

❌ "Order Anda telah dikonfirmasi"
✅ "Kak [NAMA], order #[NOMOR] sudah dikonfirmasi! 🎉"

Follow Up:

❌ "Reminder pembayaran Anda"
✅ "Kak [NAMA], friendly reminder untuk order #[NOMOR] ya 😊"

Terima Kasih:

❌ "Terima kasih sudah order"
✅ "Makasih banyak Kak [NAMA]! Pesanan lagi diproses 💕"

Implementasi

Basic Personalization:

javascript

function personalizeMessage(template, customer) {
    return template
        .replace(/\[NAMA\]/g, customer.name || 'Kak')
        .replace(/\[KOTA\]/g, customer.city || '')
        .replace(/\[ORDER\]/g, customer.lastOrder || '');
}

// Usage
const template = "Hai Kak [NAMA]! Order [ORDER] sudah dikirim ke [KOTA]!";
const message = personalizeMessage(template, customer);

Smart Name Extraction:

javascript

function extractFirstName(fullName) {
    if (!fullName) return 'Kak';
    
    // Remove titles
    const cleaned = fullName
        .replace(/^(bpk|ibu|pak|bu|mr|mrs|ms)\.?\s*/i, '')
        .trim();
    
    // Get first name
    const firstName = cleaned.split(' ')[0];
    
    // Capitalize
    return firstName.charAt(0).toUpperCase() + firstName.slice(1).toLowerCase();
}

// "Bpk. BUDI SANTOSO" → "Budi"
// "ibu siti aminah" → "Siti"

Fallback Strategy:

javascript

function getName(contact, customer) {
    // Priority order
    return customer?.name 
        || contact?.pushname 
        || 'Kak';
}

Personalisasi Lanjutan

By Purchase History:

// First time buyer
"Hai Kak [NAMA]! Selamat datang, ini pertama kalinya 
belanja di [TOKO] ya? 🎉"

// Repeat customer
"Hai Kak [NAMA]! Senang ketemu lagi! 
Kemarin order [PRODUK]-nya gimana?"

// VIP
"Hai Kak [NAMA]! ⭐ Sebagai VIP customer, 
ada penawaran special untuk kakak nih..."

By Preference:

javascript

const customer = await db.customers.findOne({ phone });

let greeting = `Hai Kak ${customer.name}!`;

if (customer.favoriteCategory === 'skincare') {
    greeting += ` Ada produk skincare baru lho!`;
}

if (customer.lastProduct) {
    greeting += ` Gimana ${customer.lastProduct}-nya, cocok?`;
}

By Time:

javascript

function getTimeGreeting(name) {
    const hour = new Date().getHours();
    
    if (hour < 12) return `Selamat pagi Kak ${name}! ☀️`;
    if (hour < 15) return `Selamat siang Kak ${name}! 🌤️`;
    if (hour < 18) return `Selamat sore Kak ${name}! 🌅`;
    return `Selamat malam Kak ${name}! 🌙`;
}

Best Practices

1. Consistent Naming

Pilih satu style dan konsisten:

✅ "Kak Siti" (casual, friendly)
✅ "Siti" (very casual)
✅ "Ibu Siti" (formal)

❌ Mix: "Kak Siti" lalu "Ibu Siti" lalu "Dear Siti"

2. Don't Overuse

❌ "Kak Siti, Kak Siti mau order apa Kak Siti?"

✅ "Kak Siti, mau order apa hari ini?"

Gunakan nama 1-2x per message, tidak setiap kalimat.

3. Handle Missing Names Gracefully

❌ "Hai Kak null!"
❌ "Hai Kak undefined!"

✅ "Hai Kak!" (fallback yang natural)

4. Respect Privacy

Jangan over-personalize:

❌ "Kak Siti di Jakarta Selatan, 
    yang kemarin order lipstik merah..."

✅ "Kak Siti, ada yang bisa dibantu?"

Terlalu detail = Creepy

Data Collection

Saat Chat Pertama:

Bot: "Hai! Selamat datang di [TOKO]! 😊

     Sebelum lanjut, boleh tau namanya siapa?
     (Supaya lebih akrab ngobrolnya!)"

Customer: "Nama saya Siti"

Bot: "Hai Kak Siti! Senang berkenalan!
     Ada yang bisa dibantu?"

// Save: { name: "Siti", phone: "628xxx" }

Saat Order:

Bot: "Untuk proses order, boleh tau:

     Nama lengkap:
     Alamat:
     No HP:"

// Capture name from order form

FAQ

Bagaimana jika nama di WA tidak akurat?

Gunakan database customer sebagai source utama. WA profile name sebagai fallback.

Perlu minta izin untuk simpan nama?

Untuk basic personalization, implied consent dari interaksi sudah cukup. Untuk data lebih lengkap, inform kebijakan privasi.

Bagaimana dengan nama yang aneh/inappropriate?

Filter dan fallback ke "Kak" jika nama tidak appropriate.


Kesimpulan

Personalisasi = Lebih engaging!

GenericPersonalized
"Dear Customer""Hai Kak Siti!"
Cold, impersonalWarm, friendly
Lower engagementHigher engagement

Simple change, big impact!

Setup Personalisasi →


Artikel Terkait