Google 애널리틱스의 IP 익명화

Google 애널리틱스의 IP 주소 익명화에 대한 기술적 설명

개요

Google 애널리틱스의 고객이 IP 주소 익명화를 요청하면 Google 애널리틱스는 수집 네트워크에서 최대한 빠른 시간에 기술적으로 가능해지는 순간에 해당 IP 주소를 익명화합니다. Google 애널리틱스의 IP 익명화 기능은 IPv4 사용자 IP 주소와 IPv6 주소가 Google 애널리틱스 수집 네트워크로 전송된 직후에 IPv4 사용자 IP 주소의 마지막 옥텟과 IPv6 주소의 마지막 80비트를 메모리에서 0으로 설정합니다. 이 경우 전체 IP 주소는 디스크에 절대 기록되지 않습니다.

세부정보

2010년 5월 25일 이후로 Google 애널리틱스는 제품 내에서 웹사이트 소유자가 모든 방문자의 IP 주소의 익명화를 요청할 수 있도록 ga.js 자바스크립트 라이브러리에서 _anonymizelp(최근 analytics.js 라이브러리에서는 ga('set', 'anonymizeIp', true)) 기능을 제공하고 있습니다. 이 기능은 사이트 소유자가 자체 개인정보취급방침을 준수하는 데 도움이 되며, 일부 국가에서는 전체 IP 주소 정보의 저장을 금지하는 현지 데이터 보호 당국의 권고를 준수하는 데 도움이 됩니다. IP 익명화 및 마스킹은 Google 애널리틱스 수집 네트워크에서 데이터를 수신한 직후에, 저장이나 처리가 발생하기 전에 실행됩니다.

Google 애널리틱스에서는 IP 익명화가 수집 경로(자바스크립트 태그와 수집 네트워크)에서 2단계로 진행됩니다. 아래는 두 단계에 대한 설명입니다.

Google 애널리틱스 자바스크립트 태그

Google 애널리틱스 태그(ga.js 또는 analytics.js)가 있는 페이지가 자바스크립트를 사용하는 웹브라우저에서 로드되면 Google 애널리틱스 함수 대기열 로드 및 처리와 Google 애널리틱스 자바스크립트 요청과 같은 두 가지 작업이 비동기적으로 진행됩니다. 함수 대기열은 다양한 Google 애널리틱스 구성 및 수집 함수가 푸시되는 자바스크립트 배열입니다. 이러한 함수는 Google 애널리틱스를 구현할 때 사이트 소유자가 설정하며, Google 애널리틱스 계정 번호를 지정하거나 Google 애널리틱스 수집 네트워크로 처리할 페이지 조회 데이터를 전송하는 함수가 포함될 수 있습니다.

Google 애널리틱스 자바스크립트가 Google 애널리틱스 수집 네트워크로 데이터를 전송하도록 실행하는 함수 대기열의 함수(일반적으로 이 함수는 analytics.js 자바스크립트 라이브러리의 ga('send', 'pageview')와 ga.js 라이브러리의 _trackPageview)를 실행하면 http://www.google-analytics.com/_utm.gif(ga.js의 경우) 및 http://www.google-analytics.com/collect(analytics.js의 경우)에 대한 HTTP 요청에 추가된 URL 매개변수로 데이터가 전송됩니다. 페이지 추적 함수 이전에 익명화 함수가 호출되면 추가 매개변수가 픽셀 요청에 추가됩니다. IP 익명화 매개변수는 &aip=1과 같은 형태를 가집니다.

Google 애널리틱스 수집 네트워크

Google 애널리틱스 수집 네트워크는 ga.js 및 analytics.js(Google 애널리틱스 자바스크립트) 제공과 _utm.gif 및 /collect 요청을 통해 전송되는 데이터의 수집이라는 2개의 주요 서비스를 제공하는 서버의 집합입니다.

ga.js, analytics.js, _utm.gif 또는 /collect에 대한 요청이 도착하면 HTTP 요청 헤더(사용 중인 브라우저의 유형)과 TCP/IP 헤더(요청자의 IP 주소)에 추가 정보가 포함됩니다.

_utm.gif에 대한 요청은 도착하는 순간에 익명화를 위해 메모리에서 대기합니다. ga.js 또는 analytics.js에서 익명화 함수를 처리한 후에 Google 애널리틱스 자바스크립트에 의해 배치되는 것처럼 &aip=1 매개변수가 요청 URL에서 발견되면 사용자 IP 주소의 마지막 옥텟이 메모리에 있는 동안 0으로 설정됩니다. 예를 들어 IP 주소 12.214.31.144는 12.214.31.0으로 변경됩니다(IP 주소가 IPv6 주소이면 128비트의 마지막 80비트가 0으로 설정됨). 익명화 과정 후에만 이 요청이 디스크에 기록되고 처리됩니다. IP 익명화 방법이 사용되면 익명화 요청을 수신한 후 거의 바로 메모리에서 모든 익명화가 처리되므로, 전체 IP 주소는 디스크에 절대로 기록되지 않습니다.

도움이 되었나요?
어떻게 하면 개선할 수 있을까요?