Thông tin nhanh
Khi một khách hàng của Universal Analytics yêu cầu ẩn giấu địa chỉ IP, Analytics sẽ cắt bớt địa chỉ càng sớm càng tốt về mặt kỹ thuật. Tính năng ẩn giấu IP trong Universal Analytics sẽ đặt octet cuối cùng của địa chỉ IP người dùng IPv4 và 80 bit cuối cùng của địa chỉ IPv6 thành số 0 trong bộ nhớ ngay sau khi địa chỉ IP được gửi đến Google Analytics. Địa chỉ IP đầy đủ không bao giờ được ghi vào ổ đĩa trong trường hợp này.
Sau đó, phương diện địa lý được lấy từ địa chỉ IP bị cắt bớt.
Trong Universal Analytics, tính năng ẩn giấu địa chỉ IP được chọn sử dụng và được triển khai như mô tả trong mục "Thông tin chuyên sâu" ở bên dưới.
Thông tin chuyên sâu
Analytics cung cấp tính năng anonymize_ip (gtag('config', '<GA_MEASUREMENT_ID>', { 'anonymize_ip': true })
trong thư viện gtag.js) để chủ sở hữu trang web có thể yêu cầu ẩn giấu tất cả địa chỉ IP của người dùng của họ trong Analytics. Tính năng này được thiết kế để giúp chủ sở hữu trang web tuân thủ chính sách quyền riêng tư của riêng họ hoặc tuân thủ các khuyến cáo của cơ quan bảo vệ dữ liệu địa phương ở một số quốc gia (nhằm ngăn chặn hoạt động lưu trữ thông tin đầy đủ về địa chỉ IP). Google Analytics sẽ cắt bớt/ẩn giấu IP ngay sau khi nhận được dữ liệu, sau đó mới lưu trữ hoặc xử lý dữ liệu.
Quá trình ẩn giấu IP trong Analytics bao gồm 2 bước diễn ra trong quy trình thu thập: Thẻ JavaScript và Mạng thu thập. Bạn có thể xem phần giải thích cho các bước này như bến dưới.
Thẻ JavaScript của Analytics
Khi một trình duyệt web (có bật JavaScript) tải một trang bằng thẻ Analytics, trình duyệt web đó sẽ thực hiện 2 hoạt động không đồng bộ: Tải rồi xử lý hàng đợi hàm của Analytics và yêu cầu JavaScript của Analytics. Hàng đợi hàm là một mảng JavaScript sẽ nhận được các hàm thu thập và cấu hình Analytics. Các hàm này do chủ sở hữu trang web đó đặt khi triển khai Analytics và có thể bao gồm các hàm như hàm xác định số tài khoản Analytics và gửi dữ liệu lượt xem trang đến Google Analytics để xử lý.
Khi JavaScript của Analytics chạy một hàm từ hàng đợi hàm kích hoạt dữ liệu cần gửi đến Google Analytics (hàm này thường là gtag('config', '<GA_MEASUREMENT_ID>'
trong thư viện gtag.js), hàm đó sẽ gửi dữ liệu dưới dạng tham số URL đính kèm với một yêu cầu HTTP cho http://www.google-analytics.com/collect. Nếu hàm ẩn giấu được gọi trước hàm theo dõi trang, thì hệ thống sẽ thêm một thông số bổ sung vào yêu cầu pixel. Thông số ẩn giấu IP sẽ có dạng như sau:
&aip=1
Mạng thu thập Analytics
Mạng thu thập Analytics là tập hợp các máy chủ cung cấp 2 dịch vụ chính: phân phát gtag.js (JavaScript của Analytics) và thu thập dữ liệu gửi qua các yêu cầu cho /collect.
Khi một yêu cầu gtag.js xuất hiện, yêu cầu này sẽ chứa thông tin bổ sung trong tiêu đề của yêu cầu HTTP (tức là loại trình duyệt đang sử dụng) và trong tiêu đề TCP/IP (tức là địa chỉ IP của trang web yêu cầu).
Ngay sau khi một yêu cầu xuất hiện, yêu cầu đó sẽ được giữ lại ở bộ nhớ để cắt bớt. Nếu tìm thấy tham số &aip=1 trong URL yêu cầu đó, thì hệ thống sẽ đặt octet cuối cùng của địa chỉ IP người dùng thành số không ngay tại bộ nhớ này. Ví dụ: địa chỉ IP 12.214.31.144 sẽ được thay đổi thành 12.214.31.0. (Nếu địa chỉ IP là địa chỉ IPv6, 80 trong 128 bit cuối cùng được đặt thành số không.) Chỉ sau khi quá trình cắt bớt này diễn ra thì yêu cầu mới được ghi lên đĩa để xử lý. Nếu phương pháp cắt bớt IP được sử dụng, thì địa chỉ IP đầy đủ sẽ không bao giờ được ghi vào ổ đĩa vì tất cả các quá trình cắt bớt gần như xảy ra trong bộ nhớ ngay lập tức sau khi nhận yêu cầu.