Cách cài đặt GA4 với Google Consent Mode v2
Từ tháng 3 năm 2024, Google yêu cầu Consent Mode v2 đối với nhà quảng cáo phục vụ người dùng tại EEA và Vương quốc Anh, và luật bảo mật yêu cầu việc theo dõi phải chờ sự đồng ý. Làm đúng, phân tích dữ liệu vẫn hoạt động theo cách bảo vệ quyền riêng tư. Làm sai, bạn hoặc theo dõi trái phép hoặc mất dữ liệu. Dưới đây là thứ tự thực hiện đúng.
Consent Mode v2 làm gì?
Consent Mode cho các thẻ của Google biết khách truy cập đã đồng ý những gì thông qua bốn tín hiệu: analytics_storage, ad_storage, và hai tín hiệu được thêm trong v2, ad_user_data và ad_personalization. Khi một tín hiệu ở trạng thái denied (từ chối), các thẻ sẽ không đặt cookie cho mục đích đó; ở chế độ advanced, chúng vẫn gửi các tín hiệu không dùng cookie mà Google dùng để mô hình hóa chuyển đổi.
Bước 1: thiết lập mặc định trước mọi thẻ
Phần mặc định phải chạy trước khi gtag.js hoặc Google Tag Manager tải, đặt ở đầu thẻ <head>:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
functionality_storage: 'granted',
security_storage: 'granted',
wait_for_update: 500
});
</script>
Bạn có thể tạo đoạn mã này cùng với thẻ GA4 theo đúng thứ tự bằng Google Tag Snippet Generator.
Bước 2: cập nhật sự đồng ý từ banner
Khi khách truy cập đưa ra lựa chọn, hãy gửi bản cập nhật chỉ chứa những gì họ đã chấp nhận, và ghi nhớ lựa chọn cho lần truy cập tiếp theo:
function onConsent(choice) { // ví dụ: { analytics: true, marketing: false }
gtag('consent', 'update', {
analytics_storage: choice.analytics ? 'granted' : 'denied',
ad_storage: choice.marketing ? 'granted' : 'denied',
ad_user_data: choice.marketing ? 'granted' : 'denied',
ad_personalization: choice.marketing ? 'granted' : 'denied'
});
localStorage.setItem('consent', JSON.stringify(choice));
}
Ở những lần tải trang sau, hãy gọi cùng bản cập nhật đó ngay sau phần mặc định, trước khi các thẻ kích hoạt. Một nền tảng quản lý sự đồng ý (Cookiebot, OneTrust, Usercentrics và những nền tảng khác) có thể làm việc này cho bạn; hoặc tự tạo banner có chặn script bằng Cookie Consent Banner Generator.
Bước 3: theo khu vực (tùy chọn)
Bạn chỉ có thể áp dụng các mặc định nghiêm ngặt hơn ở những nơi luật pháp yêu cầu, bằng cách thêm danh sách region, ví dụ EEA, Vương quốc Anh và Thụy Sĩ, còn các nơi khác dùng mặc định cho phép. Hãy hỏi cố vấn pháp lý xem những khu vực nào áp dụng cho bạn.
Bước 4: kiểm tra xem nó hoạt động chưa
- Mở trang web trong cửa sổ ẩn danh và không nhấn vào banner. Không được có cookie
_ganào, và các yêu cầu gửi tới Google phải manggcs=G100. - Chấp nhận tất cả. Các yêu cầu sẽ chuyển sang
gcs=G111và cookie_gaxuất hiện. - Từ chối tất cả rồi tải lại: không có gì được đặt thêm.
Consent Mode Checker làm việc này tự động: nó tải trang của bạn trong trình duyệt thật, đọc trạng thái đồng ý và liệt kê mọi trình theo dõi kích hoạt trước và sau khi đồng ý. Dùng Tracking Tag Checker để xem trang tải những thẻ theo dõi nào.
Những lỗi thường gặp
- Thiết lập mặc định sau thẻ GA4 — lần gửi đầu tiên được thực hiện trước khi biết sự đồng ý.
- Quên
ad_user_datavàad_personalization— khi đó vẫn chỉ là Consent Mode v1. - Gắn cứng pixel Meta, TikTok hoặc LinkedIn bên ngoài luồng đồng ý: Consent Mode chỉ kiểm soát thẻ của Google. Hãy chặn các pixel khác cho đến khi có sự đồng ý tiếp thị.
- Gửi sự kiện tùy chỉnh trước khi có đồng ý. Tạo chúng bằng GA4 Event Generator và gửi qua gtag để sự đồng ý được áp dụng.