Trang chủ / Blog / Kiến Thức Click Ảo / Cách cài mã chống click ảo qua Google Tag Manager và xác nhận tag chạy thật

Cách cài mã chống click ảo qua Google Tag Manager và xác nhận tag chạy thật

Kiến Thức Click Ảo

Cài mã chống click ảo qua Google Tag Manager gồm ba việc: tạo thẻ Custom HTML chứa đoạn mã NS Ads Xperts, gắn trình kích hoạt All Pages, rồi Preview trước khi Publish. Container GTM đã có trên mọi trang đích thì bạn không phải sửa mã nguồn website. Thẻ báo đã kích hoạt vẫn chưa đủ, nên bài đi tiếp tới DevTools, một lượt thử bằng URL có tham số và dashboard để xác nhận mã chạy thật.

1. Cần chuẩn bị gì trước khi cài script chống click ảo vào website?

Kiểm các thứ dưới đây trước. Thiếu một thứ, các bước sau vẫn chạy đúng mà số liệu của tài khoản vẫn trống.

  • Container đang chạy: mở mã nguồn trang đích, tìm chuỗi bắt đầu bằng GTM-. Có chuỗi đó nghĩa là website đã gắn GTM.
  • Danh sách trang đích: ghi lại các URL mà quảng cáo của bạn đang dẫn tới. Trang dựng trên công cụ riêng hay tên miền khác phải có cùng container, không thì thẻ không chạy ở đó.
  • Quyền Publish: chỉ có quyền Edit thì bạn soạn được thẻ nhưng không đưa được lên website.
  • Domain trong hệ thống: vào trang Domains trong tài khoản, bấm «Thêm Domain Mới», nhập tên miền của trang đích rồi lưu. Bỏ qua việc này, hệ thống báo lỗi «Domain not found».
  • Đoạn mã: đây là đoạn dùng chung, công khai ở mục «Thêm Script Vào Thẻ <head>» trên trang hướng dẫn tích hợp (ads.netsolutions.vn/integration). Bấm «Copy Code» để chép, đừng gõ lại tay vì số phiên bản trong đường dẫn có thể đổi. Đoạn này tải tệp nsadsxperts.js ở chế độ async.

Website chưa có GTM thì phải làm việc này trước. Google cấp cho mỗi container hai phần mã: một phần đặt cao trong head, một phần đặt ngay sau thẻ mở body. Thêm chúng vào mẫu trang là một lần sửa mã nguồn, hoặc dùng ô chèn mã nếu nền tảng website có sẵn. Thấy việc này nặng hơn lợi ích thì đọc so sánh ở mục 6.

2. Cách cài NS Ads Xperts bằng GTM, từng bước

Sơ đồ bốn chặng cài mã chống click ảo qua GTM: tạo thẻ Custom HTML, gắn All Pages, Preview rồi Publish
Bốn chặng chính của sáu bước bên dưới; trước Publish, khách thật chưa nhận được thẻ.

Tên nút ghi theo giao diện tiếng Anh của GTM. Google có thể đổi nhãn theo thời gian, nên bạn bám theo ý của từng bước.

  1. Mở đúng container: so ID dạng GTM- trong giao diện với ID vừa tìm thấy trên website. Công ty có nhiều website rất dễ nhầm ở đây.
  2. Tạo thẻ mới: vào Tags → New → Tag Configuration, chọn Custom HTML (HTML tuỳ chỉnh), đặt tên dễ nhận như «NS Ads Xperts - chống click ảo».
  3. Dán nguyên đoạn mã đã chép từ trang hướng dẫn tích hợp vào ô HTML, kể cả thẻ script. Không sửa gì: mã bị sửa sai sẽ báo lỗi «Invalid tracking code». Tuỳ chọn nâng cao giữ mặc định.
  4. Gắn trình kích hoạt: ở Triggering chọn All Pages (Tất cả các trang) để thẻ chạy trên mọi trang có container, gồm cả trang đích, rồi Save.
  5. Bấm Preview, nhập URL một trang đích rồi Connect. Trong Tag Assistant, thẻ phải nằm ở mục Tags Fired.
  6. Bấm Submit rồi Publish, đặt tên phiên bản ghi rõ ngày và việc vừa thêm. Trước bước này, khách thật chưa nhận được thẻ.

Đừng cài hai nơi

Đoạn mã từng được dán thẳng vào website thì gỡ một nơi trước khi Publish. Cùng một mã chạy hai lần trên một trang có thể làm số liệu khó đọc, và lúc có lỗi bạn không biết bên nào gây ra.

Publish không phải việc một chiều. GTM lưu các phiên bản đã xuất bản, nên khi thẻ gây lỗi bạn mở Versions và xuất bản lại bản trước, không phải chờ ai sửa mã nguồn.

3. Làm sao kiểm tra mã chống click ảo đã chạy trên website thật?

Ba thẻ Preview, Network và Dashboard cho thấy mỗi lớp kiểm mã chống click ảo đạt khi nào và chưa nói được điều gì
Ba trong năm lớp kiểm ở bảng dưới; Preview xanh chỉ nói thẻ kích hoạt trong phiên thử của bạn.

Mỗi lớp kiểm trả lời một câu khác nhau. Preview xanh chỉ nói thẻ kích hoạt trong phiên thử của bạn, chưa nói gì về khách bấm quảng cáo.

Lớp kiểmĐạt khiChưa nói được điều gì
Preview (Tag Assistant)Thẻ nằm ở Tags Fired trên trang đíchKhách thật đã nhận thẻ hay chưa
«Kiểm Tra Tự Động» trên trang hướng dẫn tích hợpCông cụ tìm thấy script; cài qua GTM có thể báo «chưa tìm thấy» dù đã cài đúng, nên kiểm tiếp ở NetworkScript có chạy trong trình duyệt của khách hay không
Network trong DevTools, sau khi PublishLọc nsadsxperts.js thấy tệp tải về, mã trạng thái 200 hoặc 304Click từ quảng cáo đã vào số liệu hay chưa
URL trang đích có tham số quảng cáoNetwork có thêm yêu cầu tới /api/track-click.phpDashboard đã nhận lượt thử hay chưa
Dashboard NS Ads XpertsĐợi vài chục giây, bấm Refresh, thấy lượt thửMã giúp ngân sách ra sao, việc này cần số của cả một giai đoạn

Nguồn: NS Ads Xperts tổng hợp từ trang hướng dẫn tích hợp, trang xử lý sự cố và cách hoạt động của Google Tag Manager, Chrome DevTools, cập nhật 02/11/2026. Nhãn nút có thể đổi theo phiên bản.

Với lớp Network, mở trang đích trong tab ẩn danh sau khi đã Publish. Nhấn F12, chọn Network, bật Preserve log rồi tải lại trang. Gõ nsadsxperts.js vào ô lọc: thấy tệp này nghĩa là thẻ đã tải được mã. Khi mở bằng URL có tham số quảng cáo (mục 4), đổi ô lọc thành /api/track-click.php. Không thấy yêu cầu này nghĩa là mã chưa ghi lượt truy cập đó.

Nhấn Ctrl+U không thấy đoạn mã chưa có nghĩa là cài sai. Thẻ do GTM chèn lúc trang chạy, nên mã nguồn gốc chỉ có container; hãy kiểm ở Network hoặc Elements.

Muốn nhanh hơn thì mở tab Console trên trang đích và dán từng lệnh dưới đây. Lệnh đầu liệt kê các container GTM đang chạy. Lệnh sau tìm nsadsxperts.js trong các script của trang; kết quả rỗng nghĩa là thẻ chưa chèn được mã.

Object.keys(
  window.google_tag_manager || {}
).filter(
  k => k.indexOf('GTM-') === 0
);

[...document.scripts]
  .map(s => s.src)
  .filter(
    u => u.includes('nsadsxperts')
  );

4. Thử mã thế nào để không phí ngân sách?

Script chỉ bắt đầu ghi khi URL mang tham số quảng cáo như gclid, fbclid hoặc utm_source. Vì vậy, mở trang đích bằng URL thường rồi thấy dashboard trống là bình thường, chưa phải dấu hiệu cài sai. Bạn cũng không cần bấm quảng cáo thật, vì mỗi lượt bấm vẫn có thể bị tính tiền. Tự thêm tham số vào URL trang đích là đủ: lượt mở này không đi qua quảng cáo nên không tốn ngân sách. Trước khi thử, làm hai việc dưới đây.

  • Tắt tiện ích chặn quảng cáo: tiện ích có thể chặn GTM hoặc đoạn mã, làm bạn tưởng cài sai.
  • Ghi giờ và URL: giờ thử và URL vừa mở giúp bạn đối chiếu khi xem dashboard, hoặc khi cần hỏi chúng tôi.

Đừng thử nhanh nhiều lần

Thử nhanh nhiều lần trong thời gian ngắn có thể làm chính IP của bạn bị chặn nhầm. Nếu đã bị, vào trang Blocked IPs, tìm IP đó rồi bấm «Unblock».

Sau đó làm lần lượt:

  1. Chạy «Kiểm Tra Tự Động»: nhập URL trang đích ở mục «Kiểm Tra Tích Hợp» trên trang hướng dẫn tích hợp (ads.netsolutions.vn/integration). Cài qua GTM, công cụ có thể báo «chưa tìm thấy» dù đã cài đúng, vì script được chèn sau khi trang tải, không nằm sẵn trong HTML mà công cụ quét. Gặp báo này thì xác nhận container đã Publish rồi đi tiếp.
  2. Mở URL có tham số: trong tab ẩn danh, mở DevTools trước, rồi thêm «?gclid=test» vào cuối URL trang đích và tải trang; URL đã có dấu ? thì thêm «&gclid=test».
  3. Xem Network: lọc nsadsxperts.js rồi /api/track-click.php như ở mục 3.
  4. Xem dashboard: dữ liệu cần một khoảng ngắn để đồng bộ sau click và dashboard không tự làm mới, nên đợi vài chục giây rồi bấm Refresh. Chọn đúng domain và khung giờ trước khi kết luận.

Đừng lấy lượt thử làm số đo

Lượt thử của chính bạn chỉ xác nhận đường đi. Muốn biết ngân sách được giữ lại ra sao, xem số của cả một giai đoạn theo bài đo hiệu quả chống click ảo bằng số liệu thật của tài khoản.

5. Vì sao mã chống click ảo không ghi nhận click?

Sơ đồ năm chặng dò lỗi khi mã chống click ảo không ghi nhận click, từ Tag Assistant tới dashboard
Rút gọn từ bảng dưới: dừng ở chặng đầu khớp với thứ bạn đang thấy; đủ nguyên nhân và cách sửa nằm trong bảng.

Đọc bảng từ trên xuống và dừng ở dòng đầu khớp với thứ bạn đang thấy. Sửa xong dòng đó, chạy lại từ lớp kiểm tương ứng ở mục 3.

Bạn thấy gìNguyên nhân thường gặpViệc cần làm
Tag Assistant không kết nối đượcTrang chưa có container, hoặc trình duyệt đang chặn GTMTìm ID GTM- trong mã nguồn trang; tắt tiện ích chặn rồi thử lại
Thẻ nằm ở Tags Not FiredTrình kích hoạt bị lọc theo đường dẫn, hoặc thẻ đang chờ đồng ý cookieGắn lại All Pages; kiểm cài đặt đồng ý của thẻ và banner cookie
Preview chạy, tab ẩn danh thì khôngChưa Publish, hoặc phiên bản mới không nằm ở môi trường LiveMở Versions, xem phiên bản Live có chứa thẻ không
GTM báo lỗi khi lưu hoặc PublishĐoạn mã bị cắt hoặc sai định dạng lúc dánXoá nội dung thẻ, chép lại nguyên đoạn mã
Thẻ kích hoạt, Network không có nsadsxperts.jsĐoạn mã bị sửa khi dán, hoặc lọc sai chuỗiChép lại bằng nút «Copy Code» rồi dán lại; bỏ ô lọc rồi tìm lại nsadsxperts.js
Yêu cầu báo ERR_BLOCKED_BY_CLIENTTiện ích trình duyệt đang chặnThử lại trên một trình duyệt không cài tiện ích
Yêu cầu báo blocked:cspChính sách CSP của website không cho tảiNhờ người quản trị thêm tên miền của mã vào CSP
Chỉ vài trang có số liệuTrang đích dùng mẫu riêng chưa gắn containerThêm container vào mẫu đó, xoá cache trang
Network có nsadsxperts.js, dashboard vẫn trốngURL không mang tham số quảng cáo nên script chưa ghi; domain chưa được thêm vào hệ thống; hoặc click không đi qua trang có mãMở lại bằng URL có tham số, đợi vài chục giây rồi bấm Refresh; kiểm trang Domains, chọn đúng domain và khung giờ; so URL cuối của quảng cáo với trang đã kiểm

Nguồn: NS Ads Xperts tổng hợp từ trang hướng dẫn tích hợp, trang xử lý sự cố và cách hoạt động của Google Tag Manager, Chrome DevTools, cập nhật 02/11/2026.

Đi hết bảng mà dashboard vẫn trống thì liên hệ chúng tôi. Gửi kèm URL trang đích, giờ thử và ảnh tab Network để đỡ phải hỏi lại.

6. Khi nào nên cài trực tiếp thay vì qua GTM?

GTM không phải lúc nào cũng là đường ngắn nhất. Hai cột dưới đây giúp bạn chọn theo tình trạng website của mình.

Chọn GTM khiChọn cài trực tiếp khi
Container đã có trên mọi trang đíchWebsite chưa có GTM và cũng không định dùng
Người chạy quảng cáo muốn tự làm, không chờ lập trình viênQuy định của website không cho thêm mã qua GTM
Cần quay về bản trước nhanh bằng VersionsLập trình viên sẵn sàng sửa mẫu trang

Kết luận: container đã chạy ổn trên trang đích thì dùng GTM; chưa có container và website chỉ cần thêm một mã này thì cài trực tiếp gọn hơn.

Website không hợp với GTM thì mở trang hướng dẫn tích hợp (ads.netsolutions.vn/integration): trang này có từng bước theo nền tảng như HTML tĩnh, WordPress, Haravan, Sapo, KiotViet. Cần người chỉ thêm thì gọi 0906.207.001.

7. Cài xong thì đọc số ở đâu?

Khi lượt thử đã hiện trên dashboard, phần cài mã chống click ảo qua Google Tag Manager coi như xong. Cách đọc số click nằm ở bài kiểm tra click ảo Google Ads trên dashboard. Thứ tự dùng sản phẩm trong thời gian dùng thử có ở hướng dẫn sử dụng NS Ads Xperts từ A–Z.

8. Câu hỏi thường gặp

Cài qua GTM có phải sửa mã nguồn website không?

Không, nếu container GTM đã có sẵn trên mọi trang đích: toàn bộ việc diễn ra trong giao diện GTM. Website chưa có container thì cần thêm nó vào mẫu trang một lần, bằng tay hoặc qua ô chèn mã của nền tảng. Sau lần đó, thay đổi về thẻ không cần đụng tới mã nguồn.

Vì sao thẻ GTM không kích hoạt?

Một nguyên nhân hay gặp là trình kích hoạt bị lọc theo đường dẫn, nên trang bạn đang thử không khớp điều kiện. Mở Preview, bấm vào thẻ ở mục Tags Not Fired và xem điều kiện nào không đạt. Thẻ chờ đồng ý cookie cũng có thể nằm ở đây cho tới khi người dùng bấm đồng ý.

Click thử của chính tôi có được ghi nhận không?

Có, nếu URL mang tham số quảng cáo như gclid, fbclid hoặc utm_source, vì script chỉ bắt đầu ghi khi thấy các tham số này. Dữ liệu cần một khoảng ngắn để đồng bộ và dashboard không tự làm mới, nên đợi vài chục giây rồi bấm Refresh; vẫn trống thì đi theo bảng ở mục 5. Đừng cộng lượt này vào số đo hiệu quả. Bấm nhanh nhiều lần có thể làm IP của bạn bị chặn nhầm; gỡ ở trang Blocked IPs bằng «Unblock».

Có thử được mà không ảnh hưởng khách đang vào website không?

Có. Preview chỉ chạy trong phiên kết nối với Tag Assistant của bạn; khách khác chưa nhận thẻ cho tới khi bạn Publish. Sau Publish, nếu website có dấu hiệu lạ, hãy tạm dừng thẻ hoặc xuất bản lại phiên bản trước trong Versions rồi mới tìm nguyên nhân.

Mã có làm chậm website không?

Script rất nhẹ và tải bất đồng bộ (async), nên không chặn trang hiển thị. Mức ảnh hưởng thực tế vẫn tuỳ website, số thẻ đang có trong container và thiết bị người dùng. Cách chắc chắn là đo cùng một trang đích trước và sau khi Publish, bằng cùng một công cụ và điều kiện mạng, rồi so trên số của chính website bạn.

Website dùng cache hoặc CDN có cần làm gì thêm không?

Thẻ nằm trong container do GTM phân phối, nên thêm hay đổi thẻ thường không đòi xoá cache trang. Ngoại lệ là khi bạn vừa thêm container vào mẫu trang: bản HTML cũ trong cache chưa có container, nên cần xoá cache rồi kiểm lại bằng tab ẩn danh.

Chưa chắc mã đã chạy đúng trên website của bạn?

Dùng thử 7 ngày miễn phí: gọi 0906.207.001 (Zalo cùng số) hoặc email ads@netsolutions.vn, kèm URL trang đích bạn đang kiểm.

Gọi 0906.207.001 · Nhắn Zalo · Gửi email

Cập nhật 02/11/2026 bởi NS Ads Xperts.

Ngăn chặn gian lận click phá hủy chiến dịch quảng cáo

Tham gia hơn 1K website đang sử dụng NS Ads Xperts để tiết kiệm chi phí Google Ads

Dùng thử miễn phí 7 ngày