Cookie và nhận dạng người dùng bằng gtag.js

gtag.js sử dụng cookie để xác định người dùng riêng biệt trên các phiên duyệt web. Trang này giải thích cách tuỳ chỉnh các chế độ cài đặt cookie.

Bảng sau đây trình bày các giá trị của trường cookie mặc định mà gtag.js sử dụng:

Tên trường Loại giá trị Giá trị mặc định
cookie_domain string auto
cookie_expires integer 63072000 (hai năm, tính bằng giây)
cookie_prefix string _ga
cookie_update boolean true
cookie_flags string

Để thay đổi bất kỳ giá trị nào trong số này, hãy cập nhật config cho thuộc tính để chỉ định các giá trị đó trong danh sách tham số. Ví dụ:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_prefix': 'MyCookie',
  'cookie_domain': 'blog.example.com',
  'cookie_expires': 28 * 24 * 60 * 60  // 28 days, in seconds
});

Theo mặc định, cấu hình miền cookie tự động được bật cho gtag.js. Khi được bật, gtag.js sẽ đặt cookie trên miền cấp cao nhất có thể. Ví dụ: nếu địa chỉ trang web của bạn là blog.example.com, thì gtag.js sẽ đặt cookie trên miền example.com. Nếu phát hiện thấy bạn đang chạy một máy chủ trên máy (ví dụ: localhost), thì gtag.js sẽ tự động đặt cookie_domain thành 'none'. Điều này sẽ khiến gtag.js đặt cookie bằng cách sử dụng miền đầy đủ từ vị trí tài liệu.

Để tắt cấu hình miền cookie tự động, hãy cập nhật config cho thuộc tính của bạn để chỉ định giá trị cho thông số cookie_domain:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_domain': 'blog.example.com'
});

Để tránh xung đột với các cookie khác, bạn có thể cần phải thay đổi tiền tố cookie. Tiền tố này sẽ được thêm vào trước cookie do gtag.js đặt. Ví dụ: tên mặc định của cookie mã nhận dạng mà Google Analytics sử dụng là _ga. Mã này sẽ khiến cookie được đặt tên là example_ga:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_prefix': 'example'
});

Trong mỗi lần tải trang, thời gian hết hạn của cookie sẽ được cập nhật thành thời gian hiện tại cộng với giá trị của trường cookie_expires. Điều này có nghĩa là nếu cookie_expires được đặt thành một tuần và người dùng truy cập bằng cùng một trình duyệt trong vòng 5 ngày, thì cookie sẽ có sẵn thêm một tuần nữa và họ sẽ xuất hiện với tư cách là cùng một khách truy cập trong Google Analytics. Nếu người dùng đó truy cập sau khi cookie ban đầu hết hạn, thì cookie mới sẽ được tạo và lượt truy cập đầu tiên và thứ hai của họ sẽ xuất hiện dưới dạng đến từ khách truy cập riêng biệt trong Google Analytics.

Nếu bạn đặt giá trị cookie_expires thành 0 (0) giây, thì cookie đó sẽ chuyển thành cookie dựa trên phiên và hết hạn khi phiên trình duyệt hiện tại kết thúc.

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_expires': 0
});

Khi bạn đặt cookie_update thành true (giá trị mặc định), gtag.js sẽ cập nhật cookie trên mỗi lần tải trang. Thao tác này sẽ cập nhật thời hạn sử dụng cookie thành tương ứng với lượt truy cập gần đây nhất vào trang web. Ví dụ: nếu thời hạn cookie được đặt thành 1 tuần và người dùng truy cập bằng cùng một trình duyệt 5 ngày một lần, thì thời hạn sử dụng cookie sẽ được cập nhật ở mỗi lượt truy cập, do đó sẽ không bao giờ hết hạn.

Khi bạn đặt chính sách này thành false, cookie sẽ không được cập nhật trong mỗi lần tải trang. Điều này khiến cho thời hạn cookie được đặt dựa trên lần đầu tiên người dùng truy cập vào trang web.

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_update': false
});

Thêm các cờ bổ sung vào cookie khi đặt cookie. Cờ phải được phân tách bằng dấu chấm phẩy.

gtag('set', {
  'cookie_flags': 'SameSite=None;Secure'
});

Đặt Mã nhận dạng người dùng

Mã nhận dạng người dùng là một chuỗi giá trị nhận dạng duy nhất, cố định và không nhận dạng cá nhân đại diện cho người dùng. API này cho phép phân tích các nhóm phiên trên các thiết bị. Để tìm hiểu lý do bạn nên triển khai User ID, hãy xem phần Lợi ích khi sử dụng tính năng User ID.

Để triển khai Mã nhận dạng người dùng bằng gtag.js, hãy cập nhật config cho tài sản để đặt Mã nhận dạng người dùng:

gtag('config', 'GA_MEASUREMENT_ID', {
  'user_id': 'USER_ID'
});

Bạn có thể định cấu hình gtag.js để không đọc hoặc ghi cookie cho đến khi người dùng đồng ý. Để tìm hiểu thêm, hãy xem bài viết Điều chỉnh cách thẻ hoạt động dựa trên sự đồng ý