Insights
Minh hoạ phát hiện ngân sách quảng cáo lãng phí
Nỗi đau vận hànhRetailer đa kênh

Cá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í.

The Data Way10 phút đọc

Sáng thứ Hai, team marketing báo cáo: "Tuần rồi chi 45 triệu ads, doanh thu 180 triệu, ROAS 4 lần." Nghe ổn.

Nhưng thực tế:

  • 12 triệu trong số đó là Shopee Sponsored - ROAS báo 6 lần nhưng chưa trừ commission 8% và hoàn hàng 15%
  • 8 triệu cho TikTok Ads - 3 trong 7 campaign có ROAS dưới 1,5 lần, không ai biết vì dashboard tổng đang ở 3,8 lần
  • 5 triệu cho Meta remarketing - đang target lại chính những người đã mua trong 7 ngày, tức là tiền bỏ ra mà khách đã mua rồi

Gần 25 triệu trong tổng 45 triệu - hơn 55% - là waste theo định nghĩa sẽ trình bày bên dưới. Nhân 4 tuần: 100 triệu+ mỗi tháng ra đi không rõ lý do.

Bài này trình bày: waste là gì theo định nghĩa đủ chặt để đo, 3 loại phổ biến nhất với retailer Việt Nam đa kênh, và cách dựng một view trên Looker Studio để nhìn ra trong 15 phút đầu buổi họp thứ Hai.


Ad waste là gì - định nghĩa đủ chặt để đo

"Ad waste" không phải là "ads không hiệu quả". Ads với ROAS 2 lần vẫn có thể là chiến lược đúng nếu LTV của khách đủ dài hoặc bạn đang trong giai đoạn brand-building có chủ đích.

Ad waste là chi phí ads mà:

  1. ROAS thấp hơn break-even ROAS của gross margin thực của sản phẩm, VÀ
  2. Không giải thích được bằng chiến lược có chủ đích

Công thức break-even ROAS:

Break-even ROAS = 1 / Gross Margin %

Ví dụ: Gross margin 30% → Break-even ROAS = 3,33 lần

Nghĩa là: nếu bạn chi 1 triệu ads mà doanh thu dưới 3,33 triệu, bạn đang lỗ trên ads - chưa kể overhead.

Với đa số retailer Shopee + TikTok Shop ở Việt Nam đang có gross margin 25-35%, break-even ROAS nằm trong khoảng 2,86 lần, 4 lần. Team marketing hay nhìn vào con số tổng 3,8 lần và coi là ổn - trong khi 30% số đó do 2 campaign đang kéo lên, còn 5 campaign còn lại đang lỗ theo margin thực.


3 loại ad waste phổ biến với retailer đa kênh

1. Audience overlap - cùng 1 người, trả tiền 3 lần

Bạn đang chạy song song: Shopee Sponsored Products, TikTok Ads, và Meta Retargeting. Ba nền tảng, ba pixel, ba thuật toán - và cùng target một khách hàng đã từng xem sản phẩm của bạn.

Kết quả: khách đó nhìn thấy quảng cáo của bạn 9-12 lần trong 3 ngày. Họ mua. Cả ba nền tảng đều claim conversion trong attribution window của mình.

Bạn thực sự chi 3 lần tiền để convert 1 đơn. Nhưng báo cáo mỗi nền tảng đều hiển thị ROAS tốt vì tất cả đều claim đơn đó.

Với retailer 8 tỷ ads/năm, audience overlap thường chiếm 12-20% tổng chi phí, tương đương 960 triệu-1,6 tỷ/năm. Con số này không có trong báo cáo nào vì các platform không công bố overlap data xuyên nền tảng.

2. Campaign aging - ROAS giảm dần mà không ai để ý

Facebook Ads và TikTok Ads có hiện tượng "ad fatigue" - khi cùng một creative chạy quá 14-21 ngày, CTR bắt đầu giảm, CPM tăng, ROAS trượt. Cả hai nền tảng đều xác nhận điều này trong tài liệu hỗ trợ của họ.

Vấn đề: không ai trong team nhìn vào ROAS theo ngày của từng campaign. Họ nhìn báo cáo tuần, hoặc tháng. Một campaign bắt đầu với ROAS 5 lần tuần 1, tuần 3 trượt xuống 1,8 lần - nhưng trung bình 3 tuần vẫn là 3,4 lần. Trông ổn. Thực ra tuần 3 đang lỗ.

Với retailer chạy 15-25 campaign song song, thường có 3-6 campaign đã vào vùng lỗ mà chưa bị tắt vì không ai có thời gian review từng cái mỗi tuần.

3. ROAS ảo - không trừ commission, hoàn hàng, phí freeship

ROAS trên dashboard Shopee Ads được tính bằng:

ROAS (Shopee) = Doanh thu từ đơn có click vào Sponsored / Chi phí Sponsored

Shopee chưa trừ:

  • Commission cơ bản: 3-8% tùy ngành (thời trang 8%, điện tử 3%, gia dụng 5%)
  • Phí freeship Xtra: 1.5-3.5% nếu bạn tham gia chương trình
  • Hoàn hàng: thời trang 15-25%, đồ gia dụng 5-8%
  • Voucher do người bán fund: thêm 3-8%

Ví dụ cụ thể - ngành thời trang, margin gộp 35%:

Gross margin thực = 35% - 8% (commission) - 2.5% (freeship) - 20% × 35% (hoàn hàng × margin) 
                  = 35% - 8% - 2.5% - 7% 
                  = 17.5%

Break-even ROAS thực = 1 / 17.5% = 5,71 lần

Campaign ROAS báo 4,2 lần trên dashboard Shopee Ads - nhưng bạn đang lỗ trên từng đơn.


Dựng view này trên Looker Studio - setup 90 phút

Looker Studio (miễn phí, của Google) là công cụ phù hợp nhất để gom dữ liệu ads từ nhiều nguồn vì:

  • Connector native với Meta Ads - miễn phí, chính thức
  • Connector native với Google Ads - miễn phí
  • TikTok Ads có connector chính thức trong gallery - miễn phí
  • Shopee: không có connector chính thức, dùng Google Sheets làm cầu nối

Bước 1: Kết nối Meta Ads + TikTok Ads

Trong Looker Studio → Add Data Source → tìm "Facebook Ads" (connector của Google) → đăng nhập tài khoản Business Manager → chọn Ad Account.

Với TikTok: vào connector gallery → tìm "TikTok Ads" → đăng nhập TikTok Ads Manager.

Sau khi kết nối, bạn có các trường: Campaign Name, Ad Set Name, Spend, Impressions, Clicks, Conversions, Conversion Value.

Bước 2: Shopee Ads - Google Sheets bridge

Shopee Seller Center → Quảng cáoBáo cáo hiệu quả → Xuất CSV theo tuần.

Upload vào Google Sheets → trong Looker Studio, Add Data Source → Google Sheets → chọn sheet đó.

Nếu muốn bán tự động: dùng Sheetgo hoặc tự viết Google Apps Script để schedule pull từ Shopee Seller Center API mỗi tuần (cần developer account).

Bước 3: Bảng ROAS theo campaign - cái quan trọng nhất

Tạo một Table với:

DimensionMetric
Campaign NameSpend
Platform (tạo calculated field)Revenue = Conversion Value
ROAS = Revenue / Spend
Campaign age (days since first impression)

Conditional formatting: tô đỏ bất kỳ hàng nào ROAS < break-even ROAS của bạn (tạo một Input Control để founder nhập gross margin %, Looker Studio tự tính break-even).

Filter: ẩn campaigns với Spend < 500 nghìn/tuần - không đủ volume để kết luận.

Kết quả: một bảng mà sáng thứ Hai, bất kỳ ai cũng nhìn vào và thấy ngay campaign nào đang đỏ.

Bước 4: Trend 14 ngày - phát hiện campaign aging sớm

Tạo Time Series chart:

  • X-axis: ngày (14 ngày gần nhất)
  • Y-axis: ROAS
  • Breakdown dimension: Campaign Name
  • Filter: top 10 campaign theo Spend

Bất kỳ đường nào có xu hướng giảm đều trong 5-7 ngày mà chưa đến ngưỡng đỏ → cần review creative ngay, không đợi đến khi ROAS thực sự thủng.


3 alert tự động - để không cần nhìn dashboard mỗi ngày

Mục tiêu: ngoài buổi review sáng thứ Hai, không ai cần mở dashboard. Alert sẽ bắn khi có vấn đề.

Alert 1 - ROAS giảm >30% trong 48h

Logic: Campaign có Spend > 2 triệu/ngày → nếu ROAS hôm nay dưới 70% ROAS trung bình 7 ngày trước → bắn alert.

Setup đơn giản nhất: Looker Studio → Schedule email delivery → tạo report chỉ hiện campaigns đang đỏ → gửi email mỗi ngày 8h → team marketing forward sang Zalo nếu cần action.

Setup tự động hơn: Google Sheets nối với Meta Ads API → Apps Script chạy mỗi ngày 8h → gọi Zalo OA webhook nếu điều kiện thỏa.

Alert 2 - Campaign chạy >21 ngày, ROAS giảm liên tục 5 ngày

Logic: Nếu campaign age vượt 21 ngày VÀ ROAS hôm nay thấp hơn ROAS của 5 ngày trước → flag "Cần review creative".

Thêm cột "Days Active" vào bảng Looker Studio: DATE_DIFF(TODAY(), MIN(Date), DAY). Tô cam nếu > 21 ngày.

Alert 3 - Tổng spend vượt 80% budget tháng, ROAS vẫn dưới ngưỡng

Tạo Scorecard hiển thị: Spend tháng tích lũy / Budget tháng (nhập thủ công) = %. Conditional color: xanh dưới 60%, vàng 60-80%, đỏ trên 80%.

Thêm điều kiện: nếu % spend vượt 80% VÀ average ROAS thấp hơn break-even → highlight đặc biệt. Tức là: gần hết budget nhưng chưa có campaign nào đang chạy tốt.


Trường hợp thực tế: 8 tỷ ads/năm, tìm ra 1,6 tỷ waste

Một nhà phân phối đồ gia dụng (đã ẩn danh, doanh thu 120 tỷ/năm) có ngân sách ads 8 tỷ/năm, chia như sau:

PlatformChi phí% tổng
Meta Ads3,5 tỷ44%
TikTok Ads2,8 tỷ35%
Shopee Sponsored1,2 tỷ15%
Google Shopping500 triệu6%

Sau khi dựng view Looker Studio và phân tích 90 ngày gần nhất:

Loại wasteƯớc tính/nămCách phát hiện
Campaign aging (>21 ngày, ROAS giảm, chưa bị tắt)620 triệu8/27 active campaign đã qua ngưỡng, ROAS dưới break-even 14 ngày liên tục
ROAS ảo Shopee (chưa trừ commission 6% + hoàn hàng 12%)480 triệuTính lại với gross margin thực, 4 nhóm sản phẩm đang lỗ thực
Audience overlap ước tính (Meta + TikTok + Shopee)500 triệuSo sánh attributed conversions mỗi platform với actual order count trong cùng kỳ
Tổng1,6 tỷ/năm~133 triệu/tháng

1,6 tỷ không phải là "ads kém hiệu quả" - là tiền chi ra mà theo định nghĩa không có khả năng sinh lời, có thể nhận biết và cắt được mà không ảnh hưởng đến tổng doanh thu đáng kể.

Sprint 30 ngày đã setup view này, dựng 3 alert tự động, và thiết lập quy trình: campaign aging review mỗi thứ Hai (15 phút), ROAS thực tính lại với gross margin mỗi tháng, Shopee Sponsored tối ưu mỗi 2 tuần.


Không cần tool gì đặc biệt

Looker Studio miễn phí. Meta Ads connector miễn phí. TikTok connector miễn phí. Google Sheets miễn phí. Tổng chi phí tool: 0 đ.

Cái cần không phải là phần mềm - là cấu trúc để nhìn đúng chỗ. Bảng ROAS theo campaign với conditional formatting đỏ/xanh, trend 14 ngày, 3 alert tự động - đủ để sáng thứ Hai mở ra và biết ngay cần làm gì trong 15 phút đầu.

Nếu bạn đang chạy trên 100 triệu ads/tháng mà chưa có view này, đặt buổi review 30 phút. Chúng tôi sẽ ước tính waste cụ thể của bạn ngay trong call, dựa trên gross margin và cơ cấu kênh hiện tại.

Đọc tiếp

Đọc xong rồi?

Đặt lịch rà soát 30 phút miễn phí

Insights là góc nhìn chung. Tư vấn miễn phí là phần áp vào doanh nghiệp của bạn cụ thể, số liệu thật, ngành thật.