Case Study: Chatbot AI cho QCV — Tập đoàn quảng cáo 3 brands xử lý 3000 inbox/tháng
Cách QCV (14 năm trong ngành quảng cáo) triển khai chatbot AI cho 3 brands, tự tính giá bảng hiệu, đọc bản vẽ kỹ thuật, tăng 40% lead qualified. Kiến trúc + timeline + kết quả.

QCV (Quảng Cáo Việt) là tập đoàn 14 năm kinh nghiệm trong ngành quảng cáo/bảng hiệu tại TP.HCM. Họ vận hành 3 thương hiệu song song:
- QCV (trangtri360.com) — thi công bảng hiệu, chữ nổi
- 2H (inan2h.vn) — in ấn UV, decal, hiflex
- Tampoly — bán lẻ vật liệu tấm (alu, mica, inox)
3 website, 3 Facebook page, 3 Zalo OA, hơn 1000 sản phẩm, 3000 inbox/tháng. Nhân viên sale trực tới 11 giờ đêm vẫn không kịp trả lời hết.
Bài này chia sẻ cách QCV triển khai chatbot AI để giải bài toán trên, và những số liệu thực tế sau 2 tháng deploy.
Bối cảnh — Vấn đề ban đầu
Pain points cụ thể
1. Inbox tràn, sale quá tải
- 3000 inbox/tháng trên 9 kênh (3 brands × Web + FB + Zalo)
- 3 nhân viên sale trực đến 11h đêm
- Khách đêm/cuối tuần → mất lead
2. Context switching mệt mỏi
- Sale phải biết sản phẩm 3 brands khác nhau
- Phải chuyển tab liên tục giữa Web Chat / Messenger / Zalo
- Báo giá thủ công từ 1000+ SKU → thường sai
3. Báo giá phức tạp
- Bảng hiệu cần tính theo: vật liệu + kích thước + có LED không + outdoor/indoor
- Chữ nổi tính theo ký tự + chiều cao + vật liệu
- Sale tính bằng Excel → 15-20 phút/quote
- Khách chờ lâu → bỏ qua
4. Đọc bản vẽ kỹ thuật
- Khách gửi ảnh bản vẽ AutoCAD → sale phải mở file, đo kích thước, tính giá
- Tốn 30-45 phút/bản vẽ
- Nhiều sale không rành đọc bản vẽ
5. Báo giá PDF không chuẩn
- Mỗi sale có template PDF khác nhau
- Format không đồng bộ → ảnh hưởng uy tín brand
Kỳ vọng của QCV
- Bot tự xử lý 70%+ inbox, chỉ chuyển sale khi khách serious
- Tính giá chính xác 100% từ bảng giá thật
- Đọc được bản vẽ đơn giản
- Soạn báo giá PDF đúng template
- Tích hợp 3 kênh + 3 brands thống nhất
- Lưu lead vào Google Sheets cho từng brand riêng
Phân tích Requirements
Functional requirements
- Multi-brand routing (domain → brand)
- Multi-channel (Web + FB + Zalo) × 3 brands = 9 endpoints
- Knowledge Base 1000+ sản phẩm, giá cập nhật thường xuyên
- Deterministic pricing (tính theo công thức, không AI đoán)
- Vision AI đọc bản vẽ
- PDF quotation generation
- Handoff to sale khi cần
Non-functional
- Response time < 5 giây
- Uptime 99.5%+
- Data ở VN (compliance)
- Scalable: 3000 msg → 10000 msg trong 1 năm
Kiến trúc Solution
Chọn Kiến trúc B (Enterprise) vì:
- Nhiều SKU + giá phức tạp → cần deterministic calc
- Multi-brand → cần routing thông minh
- Bản vẽ → cần Vision AI
Tech stack được chọn
| Layer | Tech | Lý do |
|---|---|---|
| Frontend widget | WordPress plugin (tự phát triển) | Đồng nhất 3 website WP |
| Workflow | n8n (self-hosted) | Flexible, 3 kênh × 3 brand |
| AI gateway | OpenClaw trên VPS riêng | Host 7 skills custom |
| LLM | Gemini Flash + GPT-4o fallback | Flash rẻ, GPT-4 cho case khó |
| Knowledge Base | Wiki Markdown + Qdrant | 1000 SKU, update dễ |
| Vision | Gemini Vision 2.5 | Đọc bản vẽ kỹ thuật |
| Price calc | Python calc.py |
Deterministic, debuggable |
| Quote render | Jinja2 template → PDF | Format đồng nhất |
| CRM | Google Sheets (3 sheets × 3 brands) | Free, dễ dùng cho sale |
| Alert | Zalo OA notify | Sale nhận alert ngay |
| Hosting | VPS Việt Nam | Data residency |
Sơ đồ tổng thể
Khách chat (9 endpoints)
↓
WordPress Plugin / FB Webhook / Zalo Webhook
↓
n8n (normalize + gắn prefix [BRAND: QCV - WEB])
↓
OpenClaw API
├── chatbot-entry (master router) — parse brand, intent
├── sales-consult — hỏi thông tin thiếu
├── knowledge-lookup — RAG wiki 1000 sản phẩm
├── price-calculator — calc.py tính giá chính xác
├── quotation-builder — render PDF báo giá
├── drawing-reader — Gemini Vision đọc bản vẽ
└── customer-care — FAQ + escalation
↓
Response → n8n → Khách
↓
Save lead Google Sheets + Notify Zalo sale
7 Skills — Giải thích chi tiết
1. chatbot-entry (Master router)
Parse message → detect brand (QCV/2H/Tampoly) dựa trên prefix [NGUON: WEB - trangtri360.com - ...], phân loại intent (greeting/price/quote/complaint), dispatch đến skill phù hợp.
2. sales-consult
Nếu thiếu info (VD: khách hỏi "làm bảng giá sao" mà chưa nói kích thước), skill hỏi lại: "Anh/chị cho em biết kích thước bảng (dài × cao) ạ?"
Framework Level 0 → 1 → 2:
- Level 0: loại sản phẩm + kích thước + vật liệu (đủ báo giá sơ bộ)
- Level 1: vị trí lắp, LED, số lượng (đủ báo giá chi tiết)
- Level 2: tên, địa chỉ, SĐT (đủ quote + gửi sale)
3. knowledge-lookup
Wiki 1000+ file Markdown, index bằng Qdrant:
- materials/ — vật liệu (alu, mica, inox...)
- products/ — sản phẩm (bảng hiệu alu, hộp đèn...)
- guides/ — hướng dẫn kỹ thuật
Khách hỏi "Alu 3mm với Đài Loan khác gì?" → retrieve top-3 chunks → GPT/Gemini trả lời.
4. price-calculator
Đây là skill quan trọng nhất cho ngành quảng cáo.
Python calc.py với các subcommand:
calc.py material --category alu --thickness 3 --qty 2
calc.py sign --type alu_decal --width 2.0 --height 0.8
calc.py letter --material inox_304_guong --height_cm 20 --chars "QUANG CAO"
calc.py cut --material inox --length_m 5.2 --method laser
calc.py print --type uv_mica --width 1.2 --height 0.6
Mỗi lệnh đọc prices.json (bảng giá thật) + formulas.yaml (công thức tính) → output JSON {ok: true, low: 900000, high: 1100000, basis: "..."}.
100% deterministic — không có chuyện AI đoán bừa. Giá 1 triệu chính xác 1 triệu.
5. quotation-builder
Render báo giá Markdown từ template Jinja2:
- Header công ty (theo brand — QCV/2H có logo, MST riêng)
- 10 cột (STT, Mã, Hạng mục, Vật liệu, Kích thước, ĐVT, SL, ĐG SX, TT SX, ĐG LĐ, TT LĐ)
- Tổng, ghi chú, điều khoản thanh toán
- Output Markdown → Convert PDF
Bao giá "BG-202604-001" auto-generate.
6. drawing-reader (Gemini Vision)
Khách gửi ảnh/PDF bản vẽ → skill này:
- OCR + Vision extract: kích thước, vật liệu, style
- VRAG 6 phase (confirm với khách trước khi tính giá):
- Phase 1-3: nhận diện → hỏi confirm
- Phase 4-6: tính giá + render báo giá
7. customer-care
- FAQ (bảo hành, thanh toán, giao hàng)
- Escalation rule:
- Khách nói "kiện", "báo cáo" → gửi cho sale ngay
- Đòi hoàn tiền → escalate
- Đơn >50tr → sale gặp trực tiếp
Timeline triển khai — 7 ngày
| Ngày | Việc | Team |
|---|---|---|
| 1 | Khảo sát + ký hợp đồng + setup VPS | Dev + QCV |
| 2-3 | Crawl 3 website → 500MB raw → clean → 1000 wiki files (build-wiki.py + Gemini) | Dev |
| 3-5 | Training 7 skills (prompts, calc.py, templates) + test 50 test cases | Dev + sale QCV review |
| 5-6 | Tích hợp n8n workflow 9 endpoints (3 channels × 3 brands) + Google Sheets setup | Dev |
| 6-7 | UAT với sale QCV + fix bug + bàn giao | Dev + QCV |
Kết quả sau 2 tháng (8 tuần)
Metrics
| Metric | Trước | Sau | Thay đổi |
|---|---|---|---|
| Inbox/tháng xử lý được | 1200 / 3000 (40%) | 2800 / 3000 (93%) | +133% |
| Thời gian phản hồi TB | 15 phút | 5 giây | -99.4% |
| Lead qualified/tháng | 50 | 70 | +40% |
| Báo giá tự động | 0% | 80% | +80% |
| Conversion rate | 12% | 17% | +42% |
| Doanh thu/tháng | 580tr | 780tr | +34% |
Tài chính
Chi phí:
- Setup 1 lần: 60 triệu
- Vận hành/tháng: 5 triệu (VPS + AI tokens + maintain)
Lợi ích/tháng:
- Tiết kiệm lương 2 nhân viên sale: 20 triệu
- Tăng doanh thu ròng (15% biên LN × +200tr): 30 triệu
- Tổng: ~50 triệu/tháng
Payback: 8 tuần (đúng 2 tháng)
ROI sau 1 năm:
(50 × 12) - 60 - (5 × 12) = 600 - 60 - 60 = 480 triệu lợi nhuận ròng
ROI = 480 / (60 + 60) = 400%
Feedback từ QCV
"Trước khi có bot, nhân viên phải trực Facebook/Zalo đến 11 giờ đêm. Giờ bot xử lý 80% inbox thì chỉ cần gọi lại những khách bot đã qualify. Giá trị cực lớn."
— Anh Nguyễn Đức Hiệp, Giám đốc QCV
Lessons Learned
Thành công vì
- calc.py deterministic — giá chính xác 100%, không còn báo sai
- Multi-brand routing — 1 codebase, 3 brands, đỡ tốn 3x effort
- Gemini Vision đọc bản vẽ tốt hơn mong đợi (độ chính xác 85%)
- Google Sheets CRM — sale không cần học tool mới
- Handoff đúng lúc — bot chỉ chuyển khi khách serious → sale tập trung
Khó khăn
- Initial KB build: crawl 500MB, clean, tạo 1000 wiki files tốn 2 ngày (Gemini API rate limit)
- Prompt tuning: mất 3-4 iteration để bot biết xưng "em" đúng tone
- Edge cases: khách hỏi "có nhận làm quan tài không?" → bot bối rối → phải add rule escalate
- Zalo OA token expire 90 ngày → phải setup auto-refresh
Điểm cải thiện tương lai
- Phase 2 (đang plan): voice bot cho khách gọi điện
- Phase 3: dashboard analytics realtime (hiện dùng Google Sheets)
- Phase 4: predict churn — bot chủ động nhắn khách chưa mua lâu
Kết luận
Case QCV cho thấy chatbot AI không phải toy mà là giải pháp business thực sự:
- ROI 8 tuần
- Doanh thu +34%
- Sale không còn thức khuya
- Khách phản hồi trong 5 giây
Key success factors:
- Chọn đúng kiến trúc (Enterprise với OpenClaw cho case phức tạp)
- Đầu tư đúng mực vào Knowledge Base
- Deterministic pricing, KHÔNG để AI đoán giá
- Vision AI cho industry cần đọc visual
- Handoff thông minh
Doanh nghiệp bạn cần chatbot như QCV?
Dù bạn ở ngành nào — F&B, thời trang, bất động sản, giáo dục — cùng pattern này áp dụng được.
Miễn phí tư vấn 30 phút để đánh giá liệu bot có giải quyết được pain point của bạn không.
📞 Gọi 0373 527 362 · 📧 Để lại SĐT · 💰 Xem 3 gói giá
Đọc thêm: