Ngày 14 của một Triển khai cho retailer đồ gia dụng, vừa wire xong cảnh báo ROAS qua Zalo cho 4 ad account: Meta + TikTok Ads + Google Shopping + Shopee Sponsored.
Test cảnh báo bằng cách chạy backfill 7 ngày: hệ thống đỏ lên ngay một campaign Meta. Tên campaign: "Brand Awareness, Q2 2026, Awareness".
ROAS 7 ngày: 0,4 lần.
ROAS 30 ngày: 0,42 lần.
Ngân sách đang chạy: 16 triệu/tuần, liên tục 5 tuần.
Tổng đã chi: 80 triệu. Doanh thu attributed: 32 triệu.
Vì sao không ai phát hiện sớm hơn
Founder không phải không có người. Có một bạn marketing junior, đang quản 7 campaign Meta + 4 campaign TikTok. Mỗi tuần bạn ấy review Meta Ads Manager 15-20 phút, focus vào các campaign có target conversion / revenue.
Campaign "Brand Awareness" được setup ngày từ một đợt làm thương hiệu 6 tháng trước. KPI lúc đó là CPM (cost per mille, chi phí trên 1000 impression), không phải ROAS. Bạn marketing nhớ campaign này, nhưng nhớ nó là brand campaign, không track revenue.
Vấn đề: 4 tháng sau, campaign vẫn chạy. Không ai quyết định tắt. Không ai tính ROAS vì "đây không phải campaign bán hàng". Trong khi Meta vẫn tính conversion attribution cho nó, và conversion attributed cho brand campaign này thấp hơn break-even ROAS xa.
Đây là dead-spot kinh điển: campaign nằm ngoài KPI mà ai cũng review hằng tuần.
Cách cảnh báo phát hiện
Cảnh báo Triển khai dựng đơn giản: bất kỳ campaign nào có spend >5 triệu/tuần và ROAS thấp hơn break-even ROAS của ngành đó trong 7 ngày liên tiếp → gửi Zalo founder.
Break-even ROAS cho retailer đồ gia dụng (gross margin 22% sau khi trừ commission + hoàn hàng) = 4,5 lần. Tất cả campaign dưới 4,5 lần trong 7 ngày liên tiếp sẽ đỏ.
Logic không hỏi campaign này có "brand awareness" hay "conversion" trong tên. Logic chỉ hỏi: spend vượt threshold, ROAS dưới break-even, liên tục đủ lâu để không phải fluke. Brand campaign cũng đếm, vì brand campaign cũng tốn tiền.
Phản ứng của founder
Tin nhắn Zalo lúc 14h: "Anh ơi, cảnh báo này đúng không? 80 triệu? Mình chưa từng thấy con số này..."
Confirm lại cùng founder, click vào nguồn trong dashboard, thấy 5 tuần x 16 triệu = 80 triệu đã chi, doanh thu attributed 32 triệu, net loss 48 triệu trên ads (chưa tính commission, hoàn hàng, net thực tế lỗ thêm).
Founder pause campaign trong 10 phút sau đó.
Số được khôi phục: 16 triệu/tuần budget có thể re-allocate. Trong 6 tháng tiếp theo (giả định cùng nhịp), 416 triệu ngân sách được chuyển sang campaign top performer thay vì tiếp tục đốt vào campaign 0,42 lần ROAS.
2 bài học rút ra
1. Campaign trong dead-spot KPI là rủi ro lớn nhất. Marketing team review campaign theo KPI họ đã setup ban đầu. Campaign nằm ngoài KPI hiện tại → không có ai chủ động check. Đây không phải lỗi của bạn marketing, là lỗ hổng cấu trúc: KPI thay đổi theo thời gian, nhưng campaign cũ không tự động được re-evaluate.
Cảnh báo dựng theo logic spend × ROAS × duration (không phân biệt campaign type) bắt được pattern này. Logic dựa trên tiền, không dựa trên intent ban đầu.
2. Founder thường thấy đúng vấn đề khi nhìn vào con số cụ thể. Trước cảnh báo, founder đã có cảm giác "ngân sách ads năm nay sao tăng nhanh mà doanh thu không đuổi kịp". Cảm giác đúng, nhưng không có một con số cụ thể nào để chỉ vào.
Cảnh báo gửi tin với cấu trúc: "Campaign X. ROAS 0,42 lần. Đã chi 80 triệu trong 5 tuần. Click để xem chi tiết." Founder không cần phải tự tìm, chỉ cần quyết định pause hay không.
Khoảng cách từ "có cảm giác" → "quyết định cụ thể" rút từ vài tuần xuống 10 phút.
Ngày 14 thường là ngày trả tiền cho Triển khai
Cảnh báo trong gói Triển khai bắt đầu hoạt động khoảng ngày 12-14, sau khi 3 nguồn dữ liệu chính đã được kết nối ổn định và baseline đã có 7+ ngày. Đây cũng thường là khoảnh khắc khám phá quick win đầu tiên, số đầu tiên đủ thật để pause / re-allocate / fix ngay.
Trong cam kết hoàn tiền 14 ngày, đây cũng là milestone tự nhiên: nếu sau ngày 14 chưa phát hiện được kết quả cải thiện đo bằng số nào, founder có quyền hoàn tiền 100%. Trong các Triển khai đã làm, milestone này thường tự đạt được qua các cảnh báo dạng này, không cần dàn cảnh.
Nếu bạn đang chi >100 triệu ads/tháng mà chưa có cảnh báo theo logic spend × ROAS × duration, đặt lịch rà soát 30 phút. Chúng tôi sẽ ước tính bao nhiêu ngân sách có thể đang trong dead-spot KPI của bạn, dựa trên cấu trúc campaign hiện tại.
Đọc tiếp
Memo phân tích sâu ngày 1-7 của một khách retailer 80 tỷ (đã ẩn danh).
Memo phân tích sâu 8 trang. Điểm sẵn sàng dữ liệu 47/100. 3 đề xuất cải thiện nhanh đo bằng số. Kèm theo: nội dung cuộc đối thoại ngày 14 về hoàn tiền hay tiếp tục.
Đọc bàiCách phát hiện 200 triệu ngân sách ads lãng phí mỗi tháng trên Looker Studio
P&L theo kênh sau fee, ads, hoàn hàng. Tự động pause 20% campaign kém nhất. Cách cấu hình alert Zalo khi ROAS giảm hơn 30% trong 48h - bằng công cụ miễn phí.
Đọc bàiROAS là gì, và vì sao con số 4 lần trên dashboard có thể gây hiểu sai
ROAS là gì, cách tính break-even ROAS theo gross margin thực, và vì sao nhà bán Shopee hay bị lừa bởi ROAS dashboard. Bảng break-even theo ngành kèm công thức tính ngay.
Đọc bài