Minh họa hai báo cáo quảng cáo và doanh thu không khớp nhau

Vì sao dữ liệu quảng cáo và dữ liệu doanh thu thường không khớp?

Ads báo doanh thu khác sổ bán hàng? Mình giải thích sai lệch thường gặp, vì sao xảy ra và cách đọc số liệu đúng hơn.

Bạn mở Ads Manager thấy doanh thu khá ổn, nhưng mở sổ bán hàng hoặc admin shop thì số thấp hơn — hoặc ngược lại. Điều này rất phổ biến: dữ liệu quảng cáo và dữ liệu doanh thu thường không khớp vì chúng không đo cùng một thứ, không cùng thời điểm, và không cùng quy tắc ghi nhận.

Tình huống quen thuộc: ads báo một đằng, sổ bán một nẻo

Hai báo cáo quảng cáo và sổ bán cho số liệu khác nhau
Lệch số không luôn nghĩa là một bên sai hoàn toàn.

Cuối tuần bạn đối chiếu số. Facebook hoặc Google báo “purchase” / “conversion value” tăng. Sổ shop, Excel, phần mềm bán hàng lại cho con số khác. Có khi lệch vài phần trăm, có khi lệch hẳn. Dễ dẫn đến hai phản ứng: “ads ảo” hoặc “hệ thống bán hàng sai”. Thực tế thường là hai hệ thống đang kể hai câu chuyện song song, không phải một câu chuyện sai hoàn toàn.

Hai loại “doanh thu” đang nói về hai việc khác nhau

So sánh doanh thu quảng cáo với doanh thu kinh doanh thực tế
Cùng chữ doanh thu nhưng mỗi bên đang đo một việc khác.

Doanh thu trên nền tảng ads thường là giá trị conversion mà pixel / thẻ theo dõi / API chuyển đổi ghi nhận khi người dùng hoàn tất hành động mua (hoặc hành động bạn đã gắn nhãn là mua). Nó phục vụ tối ưu quảng cáo: hệ thống cần tín hiệu để học và phân bổ ngân sách.

Doanh thu kinh doanh là tiền bạn thực sự ghi nhận: đơn đã chốt, đã thu, đã trừ hủy/đổi trả, có khi còn trừ chiết khấu, phí vận chuyển, hoa hồng sàn. Đây là số để tính lãi lỗ và ra quyết định vận hành.

Hai “doanh thu” này có thể cùng xuất phát từ đơn hàng thật, nhưng định nghĩa khác nhau. So trực tiếp mà không chuẩn hóa là cách nhanh nhất để bị rối.

Attribution: ai “nhận công” khi khách mua

Luồng khách xem quảng cáo rồi mua và cách gán công đơn
Mỗi nền tảng có cửa sổ gán công riêng nên cùng một đơn có thể bị tính trùng.

Khách có thể xem ads Facebook hôm thứ Hai, search Google hôm thứ Tư, rồi mua qua link website hoặc inbox. Nền tảng ads thường tự gán công theo cửa sổ attribution của nó (ví dụ click trong 7 ngày, view trong 1 ngày — tùy cài đặt). Một đơn có thể được Facebook tính, Google cũng tính, hoặc một bên không tính nếu khách không đi đúng đường được theo dõi.

Nói đơn giản: ads đang trả lời “ai góp phần mang người mua đến”, trong khi sổ bán hàng trả lời “hôm nay shop bán được bao nhiêu”. Một đơn, nhiều “công” — hoặc thiếu công — là bình thường nếu bạn chưa thống nhất quy tắc.

Thời gian ghi nhận: click hôm nay, mua ngày mai

Minh họa lệch thời điểm giữa ngày bấm tin và ngày mua
Chỉ cần lệch khung ngày là hai báo cáo đã cho số khác nhau.

Bạn chạy ads ngày 1–7. Khách click ngày 5, mua ngày 12. Ads có thể ghi conversion vào ngày 12 (hoặc theo logic báo cáo bạn đang xem), còn bạn lại so với doanh thu tuần 1–7. Khung thời gian lệch một chút là số đã lệch.

Thêm nữa, báo cáo ads có độ trễ: conversion đến muộn, số “hôm qua” hôm nay còn nhảy. Sổ bán hàng thì thường chốt theo ngày giao dịch hoặc ngày xác nhận. Cùng một tháng lịch, hai hệ thống vẫn có thể không “khóa sổ” cùng lúc.

Tracking hụt hoặc trùng: thiếu đơn, đếm đôi

Ba trường hợp đo hụt, đếm đôi và đo đủ đơn hàng
Thiếu số vì không đo hết luồng mua; thừa số vì cùng đơn bị ghi nhiều lần.

Thiếu số thường gặp khi:

  • Pixel / thẻ mua hàng không bắn đúng trang cảm ơn hoặc sự kiện mua
  • Khách mua qua Messenger, Zalo, hotline — không đi qua luồng web được đo
  • Trình chặn quảng cáo, ITP, mất cookie làm hụt một phần sự kiện
  • Conversion API / server-side chưa đồng bộ, hoặc map order ID chưa ổn

Thừa số / đếm đôi khi:

  • Cùng một đơn được ghi nhiều lần (reload trang cảm ơn, sự kiện fire 2 lần)
  • Vừa dùng pixel vừa dùng API mà chưa dedupe (gộp trùng) đúng
  • Nhiều sự kiện “mua” gắn cho các bước khác nhau trong checkout

Kết quả: ads thấp hơn sổ bán (hụt tracking) hoặc ads cao hơn sổ bán (đếm đôi / gán công rộng). Cả hai đều xảy ra, không phải chỉ một chiều.

Đơn hủy, đổi trả, COD và doanh thu “ảo”

Doanh thu ảo khi đơn hủy đổi trả sau lúc ghi mua
Nền tảng ghi lúc đặt hàng; sổ bán mới phản ánh tiền thật sau vận hành.

Ads thường ghi conversion lúc “mua thành công” trên web hoặc lúc form/đặt hàng hoàn tất. Thực tế vận hành thì:

  • COD không nhận
  • Hủy trước khi giao
  • Đổi size / trả hàng
  • Đơn ảo, spam form
  • Giá sau voucher khác giá lúc fire event

Sổ bán hàng (hoặc kế toán) sẽ trừ các phần này. Ads thì không tự biết đơn sau đó hỏng, trừ khi bạn chủ động gửi sự kiện điều chỉnh / đối soát. Vì vậy “doanh thu ads” đôi khi là giá trị chốt ban đầu, chưa phải doanh thu sạch.

Chi phí ads và doanh thu: so sánh đúng khung

Ba câu hỏi khác nhau khi đối chiếu chi phí quảng cáo và doanh thu
Đừng gộp mọi thứ vào một phép so; hãy hỏi rõ bạn đang kiểm tra điều gì.

Khi đối chiếu, đừng chỉ so “doanh thu ads” với “doanh thu shop”. Hãy làm rõ bạn đang hỏi câu nào:

  1. Ads có mang lại đơn/lead không? → xem conversion, chất lượng lead/đơn, chi phí trên đơn (CPA), không nhất thiết bằng 100% doanh thu sổ.
  2. Kinh doanh có lời không? → doanh thu sạch − giá vốn − ads − vận hành.
  3. Hệ thống đo có đủ tin cậy để tối ưu không? → độ lệch có ổn định, có giải thích được không.

Nhiều shop so ROAS trên ads với “cảm giác lãi” trên sổ. ROAS ads dùng doanh thu theo attribution của nền tảng; lãi thật dùng doanh thu sạch. Hai chỉ số phục vụ hai việc khác nhau. Nếu bạn đang quan tâm chi phí ads và cách đọc chi phí cho đúng, nên neo về cùng một khung: chi phí trong khoảng nào, doanh thu sạch cùng khoảng đó, và conversion chỉ mang tính hỗ trợ quyết định.

Cách đọc số liệu khi hai bên không khớp

Bốn bước đọc số liệu khi quảng cáo và sổ bán không khớp
Làm rõ định nghĩa, khung ngày và nguồn đơn trước khi đổ lỗi cho một bên.

Mình thường gợi ý thứ tự đơn giản:

  1. Chốt định nghĩa: “doanh thu” trong báo cáo ads là gì; “doanh thu” trên sổ là gì (đã trừ hủy chưa?).
  2. Chốt khung thời gian: cùng ngày bắt đầu–kết thúc; tránh so tuần ads với tháng sổ.
  3. Chốt nguồn đơn: web, sàn, inbox, cửa hàng — nguồn nào ads có thể đo, nguồn nào không.
  4. Ước lượng độ lệch chấp nhận được: lệch nhỏ và ổn định thường “sống chung” được; lệch lớn, nhảy liên tục thì cần rà tracking.
  5. Đối soát mẫu: lấy 20–50 đơn gần nhất, xem đơn đó có xuất hiện trên ads không, giá trị có khớp không, có bị trùng không.

Mục tiêu không phải làm hai con số trùng tuyệt đối mọi ngày. Mục tiêu là hiểu lệch đến từ đâu để không cắt ngân sách nhầm hoặc tăng ngân sách dựa trên số ảo.

Khi nào cần siết đo lường, khi nào chỉ cần thống nhất cách đọc

Hai hướng xử lý khi số quảng cáo và doanh thu lệch nhau
Lệch lớn khó giải thích thì siết đo; lệch đều và hiểu được thì thống nhất cách đọc.

Nên siết đo lường khi:

  • Lệch lớn, không giải thích được
  • Tối ưu ads đang dựa trên conversion rõ ràng sai (thiếu/trùng)
  • Bạn cần dashboard để ra quyết định hàng tuần, không chỉ “cảm giác”

Có thể chỉ thống nhất cách đọc khi:

  • Phần lớn đơn đến từ kênh ads khó đo hết (inbox, hotline)
  • Bạn đã hiểu ads “phóng” theo attribution, sổ là nguồn chân lý doanh thu
  • Độ lệch ổn định và team cùng dùng một quy tắc báo cáo

Quy trình gọn: đầu tháng chốt chỉ số và định nghĩa; trong tháng theo dõi hàng tuần (chi phí, conversion, đơn thật); cuối tháng đối soát lệch và ghi chú nguyên nhân. Rõ quy trình, rõ trách nhiệm số liệu — ads không phải “ảo”, sổ không phải “vô cảm”, mỗi bên một vai.

Kết

Tóm tắt lý do dữ liệu quảng cáo và doanh thu thường lệch nhau
Hiểu vì sao lệch giúp bớt hoảng và biết lúc nào chỉ cần đọc đúng, lúc nào cần chỉnh đo.

Dữ liệu quảng cáo và dữ liệu doanh thu không khớp vì khác định nghĩa, khác attribution, khác thời điểm ghi nhận, tracking hụt/trùng, và đơn thật sau đó còn hủy/đổi trả. Hiểu điều này giúp bạn bớt hoảng khi hai báo cáo lệch nhau, và biết lúc nào chỉ cần đọc số đúng cách, lúc nào cần chỉnh đo lường.

Nếu bạn đang loay hoay đối chiếu ads với sổ bán mà chưa rõ lệch nằm ở đâu, có thể trao đổi để mình cùng nhìn lại luồng đo và cách đọc số — không cần cam kết doanh số, chỉ cần làm rõ vấn đề trước.