Bot Jualan dengan Kirim Testimoni Otomatis
Cara buat bot jualan WhatsApp yang kirim testimoni otomatis. Social proof, build trust, tingkatkan conversion!
Testimoni = Social proof paling powerful!
Biarkan bot kirim testimoni otomatis saat customer tanya atau ragu. Build trust, close more sales!
Kapan Kirim Testimoni?
✅ Saat customer tanya "bagus gak?"
✅ Setelah kirim info produk
✅ Saat customer ragu/lama tidak response
✅ Saat tanya tentang kualitas
✅ Sebagai follow upTemplate Testimoni
Testimoni Text:
⭐ TESTIMONI CUSTOMER
"Barangnya bagus banget, sesuai foto.
Pengiriman cepat, packing aman.
Recommended seller!"
— Kak Siti, Jakarta ⭐⭐⭐⭐⭐
"Sudah 3x order di sini, selalu puas.
Kualitas oke, harga bersaing."
— Kak Budi, Surabaya ⭐⭐⭐⭐⭐
"Fast response, barang original.
Pasti repeat order!"
— Kak Maya, Bandung ⭐⭐⭐⭐⭐
📊 Rating: 4.9/5 dari 500+ review
🛒 1000+ produk terjual
Mau order? Ketik ORDER!Testimoni dengan Screenshot:
⭐ TESTIMONI REAL CUSTOMER
[Kirim gambar screenshot testimoni]
Ini beberapa feedback dari customer kami!
📊 Total review: 500+
⭐ Rating rata-rata: 4.9/5
🔄 Repeat order: 70%
Mau jadi bagian dari happy customer?
Ketik ORDER untuk beli! 😊Testimoni Produk Spesifik:
⭐ REVIEW [NAMA PRODUK]
"Size-nya pas, bahannya adem. Worth it!"
— @customer1 ⭐⭐⭐⭐⭐
"Warnanya sesuai foto, jahitan rapi."
— @customer2 ⭐⭐⭐⭐⭐
"Harga segini kualitas begini, juara!"
— @customer3 ⭐⭐⭐⭐⭐
📊 Rating produk ini: 4.8/5 (150 review)
Tertarik? Ketik ORDER [KODE]Implementasi
Database Testimoni:
javascript
// Testimonials collection
{
id: 'TEST001',
customerName: 'Siti',
customerCity: 'Jakarta',
rating: 5,
text: 'Barangnya bagus banget, sesuai foto...',
productCode: 'KP001', // optional, untuk produk spesifik
productName: 'Kaos Polos Basic',
screenshotUrl: 'https://...', // optional
verified: true,
createdAt: Date,
featured: true // untuk ditampilkan
}Auto Send Testimoni:
javascript
// Trigger keywords
const testimonialTriggers = [
'bagus gak', 'bagus ga', 'recommended', 'rekomended',
'terpercaya', 'trusted', 'review', 'testimoni',
'beneran', 'asli', 'original', 'kualitas'
];
client.on('message', async msg => {
const text = msg.body.toLowerCase();
// Check if asking about quality/trust
const isAskingTrust = testimonialTriggers.some(t => text.includes(t));
if (isAskingTrust) {
const testimonials = await getRandomTestimonials(3);
await msg.reply(formatTestimonials(testimonials));
// Optional: send screenshot
if (testimonials[0].screenshotUrl) {
const media = await MessageMedia.fromUrl(testimonials[0].screenshotUrl);
await client.sendMessage(msg.from, media);
}
}
});
async function getRandomTestimonials(count) {
return await db.testimonials.aggregate([
{ $match: { featured: true, verified: true } },
{ $sample: { size: count } }
]);
}Testimoni Setelah Info Produk:
javascript
async function sendProductInfo(phone, productCode) {
const product = await db.products.findOne({ code: productCode });
// Send product info
await sendMessage(phone, formatProductDetail(product));
// Wait 3 seconds, then send testimonial
await delay(3000);
// Get testimonials for this product
const testimonials = await db.testimonials.find({
productCode: productCode,
verified: true
}).limit(2);
if (testimonials.length > 0) {
await sendMessage(phone, formatProductTestimonials(testimonials));
}
}Follow Up dengan Testimoni:
javascript
// Jika customer tidak response dalam 1 jam
async function sendFollowUpTestimonial(phone, lastProduct) {
const message = `Hai Kak! 👋
Masih mikir-mikir untuk [PRODUK]?
Ini kata customer yang sudah beli:
"${randomTestimonial.text}"
— ${randomTestimonial.customerName}, ${randomTestimonial.customerCity}
Masih ada pertanyaan? Langsung chat aja!
Atau ketik ORDER untuk beli 😊`;
await sendMessage(phone, message);
}Collect Testimoni Otomatis
Request Review Setelah Delivered:
javascript
// H+3 setelah delivered
async function requestTestimonial(order) {
const message = `Hai Kak ${order.customerName}! 👋
Gimana ${order.productName}-nya? Sudah dicoba?
Boleh minta review singkat? 🙏
Reply dengan format:
REVIEW [bintang 1-5] [komentar]
Contoh:
REVIEW 5 Barangnya bagus, sesuai foto!
Sebagai terima kasih, dapat voucher Rp 10.000! 🎁`;
await sendMessage(order.customerPhone, message);
}
// Handle review submission
client.on('message', async msg => {
const text = msg.body;
if (text.toUpperCase().startsWith('REVIEW ')) {
const match = text.match(/REVIEW\s+(\d)\s+(.+)/i);
if (match) {
const rating = parseInt(match[1]);
const comment = match[2];
// Save testimonial
await db.testimonials.insert({
customerPhone: msg.from,
customerName: await getCustomerName(msg.from),
rating,
text: comment,
verified: false, // Admin verify dulu
createdAt: new Date()
});
// Send voucher
const voucherCode = generateVoucherCode();
await msg.reply(`Terima kasih atas reviewnya! ⭐
🎁 Ini voucher untuk kamu:
Kode: ${voucherCode}
Diskon: Rp 10.000
Gunakan di order berikutnya ya! 💕`);
}
}
});Best Practices
1. Use Real Testimonials
❌ Testimoni palsu/dibuat-buat
✅ Testimoni asli dari customer
Authenticity = Trust2. Verify Before Display
Admin review sebelum publish:
- Cek orderan real
- Filter kata kasar
- Minta izin customer3. Rotate Testimonials
Jangan kirim testimoni yang sama terus.
Random dari pool testimoni.4. Match Product
Testimoni produk A → Kirim saat tanya produk A
Testimoni umum → Untuk trust generalFAQ
Perlu izin customer untuk pakai testimoni?
Idealnya ya. Atau anonymize (Kak S***, Jakarta). Atau minta consent saat submit review.
Testimoni text atau screenshot?
Keduanya! Text untuk quick read, screenshot untuk authenticity proof.
Bagaimana handle review negatif?
Jangan publish, tapi follow up untuk resolve. Feedback negatif = improvement opportunity.
Kesimpulan
Testimoni bot = Automated social proof!
| Manual | Dengan Bot |
|---|---|
| Kirim manual | Auto trigger |
| Lupa kirim | Consistent |
| Random | Contextual |
Build trust, close more sales!