Theo dõi hành động tuỳ chỉnh của khách (Mục tiêu)
Ngoài lượt xem trang, ZenData đo được những hành động quan trọng với doanh nghiệp của bạn — gọi là mục tiêu (goal): đặt lịch tư vấn, tải báo giá, thêm vào giỏ, bắt đầu thanh toán, đăng ký nhận tin…
Mục tiêu giúp bạn
- Biết khách thực sự làm gì trên website, không chỉ xem trang nào.
- Thấy tỉ lệ chuyển đổi của từng hành động và nguồn khách (Google, Facebook Ads, Zalo…) mang về hành động đó.
- Dùng mục tiêu làm bộ lọc cho toàn bộ báo cáo: chỉ xem những khách đã đặt lịch, đã tải báo giá…
Có 3 cách gửi mục tiêu:
Cách 1: Theo dõi bằng JavaScript
Gọi hàm zendata() với lệnh 'goal' và tên mục tiêu, ở đúng nơi hành động hoàn tất — ví dụ trên trang cảm ơn sau khi đăng ký, hoặc khi khách bấm một nút.
window.zendata?.('goal', 'dat_lich');Gửi kèm tham số
Thêm một object tham số để xem chi tiết hơn trên dashboard (gói dịch vụ, sản phẩm, chi nhánh…):
window.zendata?.('goal', 'tai_bao_gia', {
san_pham: 'may-loc-nuoc',
gia: 4990000,
chi_nhanh: 'ha-noi',
});Đảm bảo không mất dữ liệu (khuyên dùng)
Thêm đoạn sau vào <head>, trước mã cài đặt ZenData, để các mục tiêu được gọi trước khi mã ZenData tải xong vẫn được ghi nhận:
<script>
window.zendata = window.zendata || function () {
(window.zendata.q = window.zendata.q || []).push(arguments);
};
</script>Cách 2: Theo dõi bằng thuộc tính HTML
Đơn giản nhất cho lượt bấm: thêm thuộc tính data-zd-goal vào bất kỳ nút, liên kết hay phần tử nào. ZenData tự gửi mục tiêu khi khách bấm vào.
<button data-zd-goal="dat_lich">Đặt lịch tư vấn</button>Gửi kèm tham số
Thêm các thuộc tính data-zd-goal-*. Tên tham số được lấy từ phần sau data-zd-goal- và đổi dấu gạch ngang thành gạch dưới:
<a href="/bang-gia.pdf"
data-zd-goal="tai_bao_gia"
data-zd-goal-san-pham="may-loc-nuoc"
data-zd-goal-gia="4990000">
Tải bảng giá
</a>Ví dụ trên gửi mục tiêu tai_bao_gia với tham số { san_pham: "may-loc-nuoc", gia: "4990000" }.
Cách 3: Gửi từ máy chủ (chính xác nhất)
Gửi trực tiếp từ hệ thống của bạn (website, CRM, phần mềm bán hàng). Không bị trình chặn quảng cáo ảnh hưởng, và gửi được cả khi khách đã rời website — ví dụ khi khách ký hợp đồng hay đến cửa hàng.
- Lấy API key trong Cài đặt website → mục API đồng bộ Doanh thu tự động.
- Gửi yêu cầu
POST https://zendata.vn/api/v1/goalsmỗi khi khách hoàn thành hành động.
curl -X POST https://zendata.vn/api/v1/goals \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"name": "ky_hop_dong",
"phone": "0912345678",
"params": { "goi": "growth" }
}'Các trường
| name | Bắt buộc | Tên mục tiêu. |
| visitor_id | Một trong hai | Mã khách truy cập của ZenData — lấy ở trình duyệt bằng zendata('vid'). |
| phone | Một trong hai | Số điện thoại khách đã để lại qua form. ZenData tìm đúng khách đó. |
| params | Không bắt buộc | Tham số tuỳ chỉnh, tối đa 10. |
| path | Không bắt buộc | Trang liên quan, bắt đầu bằng / (ví dụ /bang-gia). |
Lấy visitor_id để gửi về máy chủ
Gửi kèm mã khách trong form, rồi máy chủ chuyển tiếp cho ZenData:
<form action="/dang-ky" method="post">
<input type="hidden" name="zd_vid" id="zd_vid">
...
</form>
<script>
document.getElementById('zd_vid').value = window.zendata?.('vid') || '';
</script>Kết quả trả về
{ "tracked": true, "name": "ky_hop_dong", "visitor_id": "l02p82jxc5", "params": { "goi": "growth" } }
{ "tracked": false, "reason": "visitor_not_found" } // không tìm thấy khách với visitor_id / phone đã gửiXem mục tiêu trên dashboard
- Mở trang Tổng quan của website, kéo xuống thẻ Mục tiêu chuyển đổi.
- Mỗi dòng cho biết số khách hoàn thành và tỉ lệ chuyển đổi (khách hoàn thành ÷ tổng khách truy cập).
- Bấm vào một mục tiêu để mở bảng chi tiết: số lượt, nguồn khách, giá trị của từng tham số và các lượt hoàn thành gần nhất.
- Bấm Lọc để xem toàn bộ báo cáo chỉ với những khách đã hoàn thành mục tiêu đó.
Ví dụ: với mục tiêu tai_bao_gia có tham số san_pham, mở tham số này để biết bao nhiêu khách tải báo giá máy lọc nước, bao nhiêu khách tải máy lọc không khí.
Quy tắc & giới hạn
- Tên mục tiêu: chữ thường, số,
_-:, tối đa 64 ký tự. Tiếng Việt có dấu và khoảng trắng được tự chuyển: “Đặt lịch” →dat_lich. - Tham số: tối đa 10 mỗi lượt. Tên tham số gồm chữ thường, số,
_-(tối đa 64 ký tự); giá trị là chuỗi, tối đa 255 ký tự. - Tên dành riêng: không dùng
identifyvàpageview. - Tính phí: mỗi lượt mục tiêu được tính vào hạn mức sự kiện hằng tháng của gói. Chỉ theo dõi những hành động bạn thực sự cần.
- Dữ liệu cá nhân: không gửi mật khẩu, số thẻ, CCCD trong tham số. Thông tin liên hệ của khách nên gửi qua
zendata('identify', …)hoặc form để được bảo vệ đúng cách.
Xử lý sự cố
- Không thấy mục tiêu: kiểm tra mã cài đặt ZenData đã có trên trang; ZenData bỏ qua lượt truy cập từ
localhostvà trình duyệt đã gõlocalStorage.zd_ignore='1'. - Thiếu lượt khi gọi bằng JavaScript: thêm đoạn mã hàng đợi ở Cách 1, hoặc chuyển sang gửi từ máy chủ.
- API trả về visitor_not_found:
visitor_idsai/thuộc website khác, hoặc chưa có khách nào để lại số điện thoại đó. - Tên bị đổi: ZenData chuẩn hoá tên theo quy tắc ở trên — hãy dùng sẵn tên dạng
dat_lichđể dễ nhận biết.
Mở website trong ZenData để xem mục tiêu ở trang Tổng quan, và lấy API key trong Cài đặt.
Mở ZenData