Sử dụng Trình quản lý thẻ theo Chính sách bảo mật nội dung

Chính sách bảo mật nội dung (CSP) là một tiêu chuẩn bảo mật web được hỗ trợ rộng rãi nhằm ngăn chặn một số loại cuộc tấn công dựa trên việc chèn mã bằng cách cho phép nhà phát triển kiểm soát các tài nguyên mà ứng dụng của họ tải. Hãy tham khảo hướng dẫn này để tìm hiểu cách triển khai Trình quản lý thẻ của Google trên những trang web sử dụng CSP.

report-to

Bật thẻ trong trình chứa để sử dụng CSP (Chính sách bảo mật nội dung)

Để sử dụng Trình quản lý thẻ của Google trên một trang có CSP, CSP đó phải cho phép thực thi mã vùng chứa của Trình quản lý thẻ. Mã này được xây dựng dưới dạng mã JavaScript nội tuyến để chèn tập lệnh gtm.js. Có một số cách để thực hiện việc này, chẳng hạn như sử dụng một giá trị nonce hoặc một giá trị băm. Phương thức được đề xuất là sử dụng một giá trị nonce. Giá trị này phải là một giá trị ngẫu nhiên mà máy chủ tạo riêng cho từng phản hồi và không thể đoán được. Cung cấp giá trị nonce trong lệnh script-src của Chính sách bảo mật nội dung:

Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com www.google.com

Sau đó, hãy sử dụng phiên bản nhận biết giá trị nonce của mã vùng chứa Trình quản lý thẻ nội tuyến. Đặt thuộc tính nonce trên phần tử tập lệnh nội tuyến thành cùng một giá trị này:

<!-- Google Tag Manager -->
<script nonce='{SERVER-GENERATED-NONCE}'>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->

Sau đó, Trình quản lý thẻ sẽ truyền giá trị nonce đến mọi tập lệnh mà trình này thêm vào trang.

Có những phương pháp khác để bật tính năng thực thi tập lệnh nội tuyến, chẳng hạn như cung cấp giá trị băm của tập lệnh nội tuyến trong CSP.

Nếu không thể sử dụng các phương pháp nonce hoặc băm được đề xuất, bạn có thể bật tập lệnh nội tuyến của Trình quản lý thẻ bằng cách thêm lệnh 'unsafe-inline' vào phần script-src của CSP.

Bạn cần có các lệnh sau trong CSP để sử dụng phương pháp này:

Lệnh Nội dung
script-src 'unsafe-inline' https://www.googletagmanager.com
img-src www.googletagmanager.com
connect-src www.googletagmanager.com www.google.com

Biến JavaScript tuỳ chỉnh

Do cách triển khai Biến JavaScript tuỳ chỉnh, các biến này sẽ đánh giá thành undefined khi có CSP, trừ phi lệnh 'unsafe-eval' được cung cấp trong phần script-src của CSP.

Lệnh Nội dung
script-src 'unsafe-eval'

Chế độ xem trước

Để sử dụng Chế độ xem trước của Trình quản lý thẻ của Google, CSP phải có các lệnh sau:

Lệnh Nội dung
script-src https://googletagmanager.com https://tagmanager.google.com
style-src https://googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src https://fonts.gstatic.com data:

Google Analytics 4

Để sử dụng thẻ Google Analytics 4, CSP phải có các lệnh sau. Các điểm cuối được đánh dấu bằng 1 dành riêng cho các Tính năng quảng cáo, nhưng bạn nên thêm các điểm cuối này trong quá trình thiết lập ban đầu để không cần cập nhật CSP nếu bạn liên kết Google Ads sau này.

Lệnh Nội dung
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
connect-src https://*.google-analytics.com
https://*.analytics.google.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
https://pagead2.googlesyndication.com 1
frame-src https://www.googletagmanager.com 1

1 Điểm cuối quảng cáo: Bạn chỉ cần các miền này cho những lượt triển khai GA4 được liên kết với Google Ads hoặc sử dụng các Tính năng quảng cáo.

Để sử dụng thẻ Lượt chuyển đổi, Tiếp thị lại hoặc Trình liên kết lượt chuyển đổi của Google Ads, CSP phải có các lệnh sau:

Lệnh Nội dung
script-src https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
https://pagead2.googlesyndication.com https://googleads.g.doubleclick.net
img-src https://www.googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com
https://pagead2.googlesyndication.com https://www.googleadservices.com
https://google.com https://www.google.<TLD>
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.googleadservices.com https://googleads.g.doubleclick.net
https://ad.doubleclick.net https://www.google.com https://google.com https://www.google.<TLD>

Để sử dụng đèn hiệu dữ liệu người dùng trên Google Ads khi chạy trong các bối cảnh an toàn, CSP phải có các lệnh sau:

Lệnh Nội dung
script-src https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://google.com https://www.google.com

Đèn hiệu dữ liệu người dùng trên Google Ads không chạy trong các bối cảnh không an toàn, vì vậy, bạn không cần định cấu hình CSP trong những trường hợp đó.

Floodlight

Người dùng Floodlight có thể bật CSP bằng các cấu hình sau. Thay thế <FLOODLIGHT-CONFIG-ID> giá trị bằng một mã nhà quảng cáo Floodlight cụ thể hoặc * để cho phép mọi mã nhà quảng cáo:

Đối với tất cả người dùng:

Lệnh Nội dung
img-src https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com
https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com
https://ad.doubleclick.net

Đối với đèn hiệu "tập lệnh tuỳ chỉnh":

Lệnh Nội dung
frame-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net

Đối với thẻ hình ảnh:

Lệnh Nội dung
img-src https://ad.doubleclick.net https://ade.googlesyndication.com

Merchant Center

Để gửi dữ liệu đến Merchant Center, CSP phải có các lệnh sau:

Lệnh Nội dung
script-src https://*.googletagmanager.com
img-src https://*.merchant-center-analytics.goog
connect-src https://*.merchant-center-analytics.goog

Trình chạy dịch vụ

Để sử dụng Trình chạy dịch vụ cho tính năng so khớp nâng cao, đèn hiệu dữ liệu người dùng và lượt chuyển đổi trên Quảng cáo, CSP phải có các lệnh sau:

Lệnh Nội dung
frame-src https://www.googletagmanager.com

Khắc phục sự cố bằng tiện ích Tag Assistant

Để khắc phục các vấn đề về Chính sách bảo mật nội dung (CSP), hãy sử dụng tiện ích Tag Assistant. Tiện ích Tag Assistant sẽ hiển thị danh sách các tài nguyên bị Chính sách bảo mật nội dung của bạn chặn.

  1. Mở Tag Assistant rồi nhập URL trang web của bạn. Trang web của bạn sẽ mở trong một thẻ mới.

  2. Nếu Chính sách bảo mật nội dung trên trang của bạn đang chặn một tài nguyên, thì một vấn đề về CSP sẽ xuất hiện trong phần Vấn đề về trang của Tag Assistant.

    Ảnh chụp màn hình Tag Assistant cho thấy vấn đề về CSP

  3. Chọn Xem vấn đề bên cạnh vấn đề về CSP để xem danh sách tất cả các tài nguyên bị chặn trên trang của bạn. Ảnh chụp màn hình Tag Assistant cho thấy thanh trượt vấn đề về CSP

  4. Thêm tất cả các tài nguyên bị chặn vào Chính sách bảo mật nội dung của bạn.