Chuyển tới nội dung
Khóa học SEO tiêu chuẩn
  • Trang chủ
  • Giới thiệu
    • Giới thiệu VietMoz Academy
    • Cơ sở vật chất
    • Hoạt động cộng đồng
  • Chương trình học
    • Lịch tuyển sinh
    • Khóa học SEO tiêu chuẩn
    • Google Marketing
      • Khóa học Adwords Pro Sales
      • Khoá học Google Map Premium
      • Khóa học SEO HCM Special
      • Khóa học GA4 from Zero to Hero
    • Thực hành quảng cáo Facebook
      • Khóa học Winning Facebook Ads
      • Khóa học Facebook Marketing
    • Khoá học kinh doanh thương mại điện tử trên sàn Shopee
    • Marketing tinh gọn
      • Marketing Fundamentals
      • Khoá học MSP – Thực hành xây dựng chiến lược marketing
      • Khoá học Digital Masterclass
      • Khóa học Sale Promotion
  • Blog
    • Tin tức
    • Cách làm SEO
      • SEO Cafe – Tin tức SEO mới nhất
      • Wiki SEO – Thư viện kiến thức quan trọng
      • SEO Guide – Hướng dẫn làm SEO
      • SEO Case Study
      • Resource – Công cụ & Template
    • Blog Marketing
    • Kiến thức Google Adwords
    • Blog Facebook Marketing
    • Blog Content
  • Liên hệ
    • Đăng ký học
    • Hướng dẫn thanh toán
    • Bản đồ đường đi
Mục lục nội dung
1 Trigger không chính xác
2 Có thêm Blocking Trigger
3 Hiểu sai cách hoạt động của Blocking Trigger
4 Tag Sequencing
5 Tag Firing Options
6 Tag Firing Schedule
7 Chỉ kích hoạt thẻ trong container đã publish
8 gtm.blocklist và gtm.allowlist
8.1 Cách kiểm tra nhanh blocklist/allowlist
8.2 Lưu ý với Custom Tag Templates
9 Hãy đảm bảo bạn đã làm mới đúng cách Preview & Debug mode
10 Bạn thấy tag được kích hoạt trong preview nhưng trạng thái là “Still running”
11 Data Layer bị lỗi (Broken Data Layer)
11.1 Cách khắc phục
12 Trình chặn quảng cáo (Adblockers)
13 Kiểm tra Consent tích hợp sẵn
Mục lục nội dung
1 Trigger không chính xác
2 Có thêm Blocking Trigger
3 Hiểu sai cách hoạt động của Blocking Trigger
4 Tag Sequencing
5 Tag Firing Options
6 Tag Firing Schedule
7 Chỉ kích hoạt thẻ trong container đã publish
8 gtm.blocklist và gtm.allowlist
8.1 Cách kiểm tra nhanh blocklist/allowlist
8.2 Lưu ý với Custom Tag Templates
9 Hãy đảm bảo bạn đã làm mới đúng cách Preview & Debug mode
10 Bạn thấy tag được kích hoạt trong preview nhưng trạng thái là “Still running”
11 Data Layer bị lỗi (Broken Data Layer)
11.1 Cách khắc phục
12 Trình chặn quảng cáo (Adblockers)
13 Kiểm tra Consent tích hợp sẵn

13 Lý do khiến tag không kích hoạt trong Google Tag Manager

Đăng vào 28/02/2026 bởi Khánh LinhDanh mục: SEO Guide - Hướng dẫn làm SEO
Mục lục nội dung
1 Trigger không chính xác
2 Có thêm Blocking Trigger
3 Hiểu sai cách hoạt động của Blocking Trigger
4 Tag Sequencing
5 Tag Firing Options
6 Tag Firing Schedule
7 Chỉ kích hoạt thẻ trong container đã publish
8 gtm.blocklist và gtm.allowlist
8.1 Cách kiểm tra nhanh blocklist/allowlist
8.2 Lưu ý với Custom Tag Templates
9 Hãy đảm bảo bạn đã làm mới đúng cách Preview & Debug mode
10 Bạn thấy tag được kích hoạt trong preview nhưng trạng thái là “Still running”
11 Data Layer bị lỗi (Broken Data Layer)
11.1 Cách khắc phục
12 Trình chặn quảng cáo (Adblockers)
13 Kiểm tra Consent tích hợp sẵn

Khi làm việc với Google Tag Manager, không ít lần bạn sẽ gặp tình huống tag không kích hoạt dù đã cấu hình trigger đầy đủ. Preview mode hiển thị đủ điều kiện, nhưng thực tế dữ liệu vẫn không được gửi đi như mong đợi. Điều này có thể gây ảnh hưởng trực tiếp đến tracking, báo cáo và cả hiệu suất chiến dịch.

Bài viết này tổng hợp 13 nguyên nhân phổ biến khiến tag không hoạt động, từ lỗi trigger, blocking trigger, Tag Sequencing cho đến Consent Mode, blocklist hay adblocker. Mỗi tình huống đều có cách kiểm tra và hướng xử lý cụ thể để bạn có thể debug nhanh và chính xác hơn.

Trigger không chính xác

Nếu thẻ (Tag) không kích hoạt trong chế độ Preview, thông thường vấn đề nằm ở Trigger. Khi gặp tình huống này, bạn có thể làm theo quy trình đơn giản sau:

Chọn một sự kiện trong bảng Preview & Debug (cột bên trái), sau đó nhấp vào thẻ hoạt động không như mong đợi (thẻ này sẽ nằm trong mục “Tags not fired”).

Cuộn xuống để xem tất cả các trigger được liên kết với thẻ đó. Hãy quan sát kỹ các biểu tượng bên cạnh từng điều kiện. Kiểm tra xem biểu tượng cạnh tên trigger có phải là dấu tích xanh hay không.

Nếu có, trigger đó đã được kích hoạt (hoặc đáng lẽ phải kích hoạt). Dù điều kiện có được đáp ứng hay không, mỗi điều kiện của thẻ sẽ hiển thị dấu tích xanh hoặc dấu X đỏ.

Điều này giúp bạn xác định lý do vì sao thẻ đã kích hoạt (hoặc không). Để một thẻ được kích hoạt, TẤT CẢ các điều kiện trong cùng một trigger phải được đáp ứng. Nếu thẻ được liên kết với nhiều trigger, thì CHỈ CẦN ÍT NHẤT MỘT trigger được kích hoạt là đủ.

Một lỗi phổ biến của người mới là chưa hiểu rõ mối quan hệ giữa các điều kiện trong cùng một trigger. Ví dụ:

Bạn muốn kích hoạt một thẻ trên ba trang:
/pricing/page1/
/pricing/page2/
/pricing/page3/

Nếu bạn mới sử dụng Google Tag Manager, bạn có thể nghĩ rằng cấu hình trigger như sau là hợp lý.

Tuy nhiên, điều đó KHÔNG đúng. Như giao diện của GTM đã hướng dẫn, TẤT CẢ các điều kiện trong cùng một trigger phải được đáp ứng. Trong trường hợp này, trigger sẽ không bao giờ được kích hoạt. Hãy nghĩ xem, làm sao URL của một trang web có thể chứa đồng thời cả ba giá trị (page1, page2, page3)?

Vì vậy, hãy đọc kỹ hướng dẫn khi tạo trigger cho thẻ.

Trong trường hợp này, bạn có hai lựa chọn:

  • Tạo ba trigger riêng cho từng trang (không tối ưu, đặc biệt nếu sau này danh sách trang tăng lên 10, 20 hoặc nhiều hơn) và gán tất cả cho cùng một thẻ.

  • Sử dụng biểu thức chính quy (regular expression) trong một trigger duy nhất, ví dụ: \/pricing\/page(1|2|3)\/

Có thêm Blocking Trigger

Blocking trigger (hay còn gọi là Exception) là điều kiện phủ định, xác định khi nào thẻ KHÔNG được kích hoạt. Ngay cả khi tất cả các điều kiện kích hoạt đều thỏa mãn, blocking trigger vẫn có độ ưu tiên cao hơn.

Để kiểm tra vì sao thẻ không kích hoạt trong Google Tag Manager, hãy làm lại quy trình như ở phần trước:

Chọn sự kiện trong Preview console tại thời điểm thẻ đáng lẽ phải kích hoạt, nhấp vào thẻ và cuộn xuống để xem các trigger đã được kích hoạt.

Ngay cả khi tất cả điều kiện của trigger kích hoạt đều có dấu tích xanh, hãy tiếp tục cuộn xuống mục “Blocking Triggers”. Nếu bạn thấy ít nhất một trigger có toàn bộ dấu tích xanh, thì đó chính là lý do thẻ không được kích hoạt.

Blocking trigger có thể được kích hoạt song song với trigger thông thường.

Hiểu sai cách hoạt động của Blocking Trigger

Ở chiều ngược lại, có thể bạn đã quen với blocking trigger và kỳ vọng rằng nó sẽ chặn thẻ. Nhưng vì lý do nào đó, thẻ vẫn được kích hoạt (dù bạn chắc chắn 100% rằng các điều kiện của blocking trigger đã thỏa mãn).

Nếu vậy, có thể bạn đã hiểu sai cách hoạt động của blocking trigger (Exception).

Blocking trigger chỉ có thể chặn trigger kích hoạt nếu chúng sử dụng cùng một loại sự kiện.

Ví dụ:

Bạn có một thẻ kích hoạt khi người dùng nhấp vào liên kết trong menu (Link Click). Nhưng trong một số trường hợp, bạn muốn chặn nó bằng blocking trigger. Để điều này hoạt động, blocking trigger cũng phải sử dụng cùng loại trigger là Link Click (Just Links).

Không có loại trigger nào khác có thể chặn Link Click trigger.

Nếu bạn cố gắng dùng Pageview trigger để chặn Link Click trigger, điều đó sẽ không hiệu quả. Nguyên tắc này áp dụng cho mọi loại trigger trong Google Tag Manager.

Quy tắc của Exception: Blocking trigger chỉ có thể chặn firing trigger có cùng loại sự kiện.

  • Click trigger có thể chặn Click trigger khác.
  • Pageview trigger KHÔNG thể chặn Click trigger.

Tóm lại: “Lấy độc trị độc”: Link Click chỉ chặn được Link Click, Pageview chỉ chặn được Pageview, v.v.

Tag Sequencing

Bây giờ hãy chuyển sang một nguyên nhân không hiển thị rõ ràng trong chế độ Preview & Debug.

Giả sử bạn có một thẻ chỉ có một trigger là All Pages. Nhưng trong phần Summary của Preview & Debug, bạn thấy thẻ được kích hoạt hai lần. Vì sao?

Trong Google Tag Manager có một tính năng gọi là Tag Sequencing. Tính năng này cho phép bạn tạo chuỗi thẻ — ví dụ: nếu một thẻ được kích hoạt, thì tiếp tục kích hoạt một thẻ khác.

Ngay cả khi điều kiện của trigger chính không được đáp ứng tại một thời điểm nào đó, tag sequencing vẫn có thể kích hoạt thẻ. Đó có thể là lý do thẻ của bạn được kích hoạt hai lần:

  • Lần thứ nhất do sự kiện Page View (All Pages trigger)
  • Lần thứ hai do Tag Sequencing

Rất tiếc, chế độ Preview & Debug hiện tại không hiển thị rõ việc thẻ được kích hoạt do tag sequencing.

Tuy nhiên, bạn vẫn có thể kiểm tra: vào giao diện container của GTM, mở thẻ đã kích hoạt hai lần, rồi cuộn xuống phần Triggering. Nếu thẻ là một phần của chuỗi, thông tin này sẽ hiển thị tại đó.

Mẹo nhỏ: Nếu bạn muốn đảm bảo thẻ chỉ kích hoạt một lần mỗi trang, hãy sử dụng trường Tag Firing Option và đặt thành Once per page.

Tag Firing Options

Giờ hãy xét tình huống ngược lại: bạn thấy thẻ đáng lẽ phải kích hoạt nhiều lần trên cùng một trang, nhưng thực tế chỉ kích hoạt một lần. Bạn kiểm tra trong Preview & Debug, thấy tất cả điều kiện đều thỏa mãn, không có blocking trigger — vậy vấn đề là gì?

Một nguyên nhân có thể là thẻ được thiết lập chỉ kích hoạt Once per page. Để xác minh, hãy mở thẻ đó. Nếu nó được cài đặt kích hoạt một lần mỗi trang, bạn sẽ thấy điều này trong phần tóm tắt của thẻ. Nếu muốn thay đổi để thẻ kích hoạt mỗi lần điều kiện thỏa mãn, hãy vào Advanced Settings của thẻ và chọn Once per event trong mục Tag Firing Options.

Tag Firing Schedule

Tag Firing Schedule là một tính năng của Google Tag Manager cho phép bạn thiết lập điều kiện thời gian khi một thẻ được hoặc không được kích hoạt. Bạn có thể đặt ngày bắt đầu và ngày kết thúc hoạt động của thẻ. Tính năng này đặc biệt hữu ích cho các chiến dịch chạy theo thời gian.

Nếu chiến dịch (và Tag Firing Schedule) đã kết thúc, thẻ sẽ không kích hoạt ngay cả khi các điều kiện trigger trong GTM được đáp ứng (ngoại lệ duy nhất có độ ưu tiên cao hơn là Tag Sequencing).

Khi bật Tag Firing Schedule, trong chế độ Preview & Debug, bạn sẽ thấy hai blocking trigger:

  • Một trigger dành cho ngày bắt đầu.

  • Một trigger dành cho ngày kết thúc.

Nếu bạn thấy dấu tích xanh ở blocking trigger thứ hai, điều đó có nghĩa là lịch kích hoạt tùy chỉnh đã kết thúc và blocking trigger theo thời gian đang được kích hoạt.

Nếu bạn mong đợi thẻ được kích hoạt và muốn tắt tính năng Tag Firing Schedule, hãy mở thẻ trong giao diện GTM > Advanced Options và tắt tùy chọn này.

Chỉ kích hoạt thẻ trong container đã publish

Tính năng này hữu ích nếu bạn có một thẻ nhạy cảm chỉ nên chạy trong môi trường live (ví dụ: mỗi lần kích hoạt sẽ trừ tiền từ tài khoản doanh nghiệp của bạn).

Nếu tùy chọn này được bật:

  • Thẻ sẽ không kích hoạt trong chế độ Preview & Debug.

  • Thẻ cũng không kích hoạt trong môi trường testing.

  • Thẻ chỉ hoạt động trong môi trường live (khi đoạn mã GTM không chứa tham số gtm_preview=).

Cách kiểm tra:

Mở thẻ trong giao diện Google Tag Manager > Advanced Options > kiểm tra checkbox “Only fire this tag in published containers.”

Nếu tùy chọn này được bật, thẻ chỉ kích hoạt khi:

  • Preview & Debug mode đã tắt.

  • Đoạn mã GTM không chứa tham số gtm_preview=.

gtm.blocklist và gtm.allowlist

Lập trình viên website có thể giới hạn loại thẻ mà bạn được phép sử dụng trong container Google Tag Manager thông qua tính năng gọi là blocklist.

Họ có thể đẩy (push) các tham số vào dataLayer, và dựa trên cấu hình đó, các thẻ trong GTM sẽ hoạt động tương ứng.

Tóm lại:

  • Nếu bạn thêm một số loại thẻ vào gtm.allowlist, chỉ những loại thẻ đó mới được kích hoạt.

  • Nếu thêm vào gtm.blocklist, thì tất cả loại thẻ sẽ hoạt động bình thường, ngoại trừ những loại nằm trong blocklist.

Cách kiểm tra nhanh blocklist/allowlist

  1. Mở chế độ Preview của container GTM.

  2. Kiểm tra thanh sidebar bên trái xem có thông báo nào đẩy gtm.blocklist hoặc gtm.allowlist hay không.

Nếu bạn thấy thông báo như vậy, đây có thể là lý do khiến một số thẻ không hoạt động. Khi đó, bạn cần đọc tài liệu liên quan và trao đổi với lập trình viên để thêm (hoặc xóa) các giá trị trong blocklist/allowlist.

Ví dụ: nếu class html bị chặn, theo tài liệu, điều này sẽ chặn tất cả customScripts (vì đây là alias). Phần mô tả cũng nêu rõ rằng toàn bộ thẻ Custom HTML sẽ không được kích hoạt.

Lưu ý với Custom Tag Templates

Nếu bạn gặp vấn đề với các thẻ sử dụng Custom Tag Templates, hãy lưu ý cảnh báo trong tài liệu:

Nếu đang sử dụng blockList, bạn cần yêu cầu lập trình viên thêm sandboxedScripts vào mảng gtm.allowList. Ví dụ:

dataLayer.push({‘gtm.allowlist’ : [‘sandboxedScripts’]});

Nếu mảng allowList đã có sẵn giá trị, lập trình viên cần cập nhật mảng hiện tại thay vì ghi đè hoàn toàn.

Hãy đảm bảo bạn đã làm mới đúng cách Preview & Debug mode

Tôi biết điều này nghe có vẻ quá hiển nhiên, nhưng thực tế nó xảy ra thường xuyên hơn bạn nghĩ.

Nếu bạn vừa thực hiện thay đổi với tag/trigger/variable, hãy đảm bảo rằng bạn làm mới (Refresh) chế độ Preview & Debug trước bằng cách nhấp vào nút Refresh trong thanh banner màu cam. Sau đó mới tiến hành refresh trang web mà bạn đang kiểm tra.

Nếu không làm theo đúng thứ tự này, bạn có thể đang kiểm tra phiên bản cũ của container.

Bạn thấy tag được kích hoạt trong preview nhưng trạng thái là “Still running”

Nếu trong Preview mode bạn thấy một tag hiển thị trạng thái “Still running”, rất có thể tag đó chưa thực sự kích hoạt thành công.

Điều này có thể cho thấy tag đang gặp lỗi hoặc bị treo trong quá trình thực thi.

Data Layer bị lỗi (Broken Data Layer)

Khi lỗi này xảy ra, bạn sẽ không thấy các sự kiện mới trong Preview mode. Do đó, sẽ không có tag nào được kích hoạt (ngoại trừ các sự kiện mặc định như DOM Ready và Window Loaded).

Nguyên nhân thường gặp là đoạn mã sau được đặt bên dưới container của Google Tag Manager trong source code:

<script>
dataLayer = [….];
</script>

Đoạn mã này sẽ ghi đè (rewrite) dataLayer hiện có trên trang và làm hỏng cơ chế theo dõi thay đổi của Google Tag Manager.

Cách khắc phục

  • Yêu cầu developer di chuyển đoạn mã dataLayer đó lên phía trên container GTM

  • Hoặc thay thế bằng cách sử dụng dataLayer.push() thay vì gán lại toàn bộ dataLayer

Trình chặn quảng cáo (Adblockers)

Một số trường hợp tag không kích hoạt do trình chặn quảng cáo trong trình duyệt.

Nếu bạn đang sử dụng các tiện ích mở rộng như:

  • Adblock

  • Ghostery

hoặc các extension tương tự, hãy thử tạm thời tắt chúng và kiểm tra lại.

Ngay cả khi bạn nghĩ rằng extension không gây ra vấn đề, vẫn nên thử tắt toàn bộ extension. Nếu sau khi tắt mà tag hoạt động bình thường, thì một trong các extension chính là nguyên nhân. Khi đó, hãy bật lại từng extension một để xác định thủ phạm.

Kiểm tra Consent tích hợp sẵn

Nếu hệ thống của bạn đang sử dụng Consent Mode, có thể bạn cũng đang dùng thêm các kiểm tra consent bổ sung (đặc biệt nếu triển khai Basic Consent Mode).

Bạn có thể kiểm tra bằng cách:

Mở tag không kích hoạt trong giao diện Google Tag Manager → xem mục Consent settings.

Nếu trong phần này bạn bật tùy chọn “Require additional consent for tag to fire”, đây có thể là lý do tag không chạy.

Nếu người dùng từ chối consent, các kiểm tra tích hợp sẵn của GTM sẽ ngăn tag kích hoạt. Cụ thể:

  • analytics_storage: bắt buộc với các tag của Google Analytics

  • ad_storage: bắt buộc với các tag quảng cáo như Google Ads

Lưu ý quan trọng: Nếu consent được cấp sau thời điểm tag lẽ ra phải kích hoạt, thì tag đó sẽ không tự động kích hoạt lại.

Khi nắm rõ cơ chế hoạt động của GTM, bạn sẽ không còn “mò mẫm” trong Preview & Debug mode mỗi khi có sự cố. Việc hiểu đúng bản chất vấn đề giúp bạn tiết kiệm thời gian, giảm sai sót và đảm bảo hệ thống tracking luôn vận hành ổn định. Hy vọng danh sách này sẽ trở thành checklist hữu ích mỗi khi bạn cần xử lý lỗi tag trong thực tế.

Tài liệu tham khảo

13 Reasons Why a Tag in Google Tag Manager is Not Firing (or Fires When it Shouldn’t)

Khánh Linh
Khánh Linh
670 bài đăng
Khánh Linh
Khánh Linh
670 bài đăng
  • VietMoz xin chào!

TRUNG TÂM ĐÀO TẠO VIETMOZ ACADEMY

Địa chỉ: Số 18 ngõ 11 Thái Hà, Đống Đa, Hà Nội
Điện thoại: (0246) 292 3344 – (0246) 291 2244
Hotline: 098 380 3333
Email: info@vietmoz.com

Google Partners Chung nhan Tin Nhiem Mang
DMCA.com Protection Status

Truy cập nhanh

  • Hướng dẫn thanh toán
  • Cơ sở vật chất
  • Chính sách bảo mật thông tin
  • Tổng quan về Digital Marketing
  • Tìm hiểu Marketing là gì
Bản quyền © bởi Trung tâm đào tạo VietMoz Academy. Tối ưu bởi Code Tốt.
  • Trang chủ
  • Giới thiệu
    • Giới thiệu VietMoz Academy
    • Cơ sở vật chất
    • Hoạt động cộng đồng
  • Chương trình học
    • Lịch tuyển sinh
    • Khóa học SEO tiêu chuẩn
    • Google Marketing
      • Khóa học Adwords Pro Sales
      • Khoá học Google Map Premium
      • Khóa học SEO HCM Special
      • Khóa học GA4 from Zero to Hero
    • Thực hành quảng cáo Facebook
      • Khóa học Winning Facebook Ads
      • Khóa học Facebook Marketing
    • Khoá học kinh doanh thương mại điện tử trên sàn Shopee
    • Marketing tinh gọn
      • Marketing Fundamentals
      • Khoá học MSP – Thực hành xây dựng chiến lược marketing
      • Khoá học Digital Masterclass
      • Khóa học Sale Promotion
  • Blog
    • Tin tức
    • Cách làm SEO
      • SEO Cafe – Tin tức SEO mới nhất
      • Wiki SEO – Thư viện kiến thức quan trọng
      • SEO Guide – Hướng dẫn làm SEO
      • SEO Case Study
      • Resource – Công cụ & Template
    • Blog Marketing
    • Kiến thức Google Adwords
    • Blog Facebook Marketing
    • Blog Content
  • Liên hệ
    • Đăng ký học
    • Hướng dẫn thanh toán
    • Bản đồ đường đi
Gõ để tìm