Претварање IP адресе у анонимну у Google аналитици

Техничко објашњење начина на који Google аналитика претвара IP адресе у анонимне

Кратак преглед

Када клијент Google аналитике захтева претварање IP адресе у анонимну, Google аналитика претвара адресу у анонимну чим је то технички изводљиво у најранијој могућој фази мреже за прикупљање. Функција претварања IP адресе у анонимну у Google аналитици подешава последњи октет IPv4 адреса корисника и последњих 80 битова IPv6 адреса на нуле у меморији непосредно после слања у мрежу за прикупљање Google аналитике. У овом случају се пуна IP адреса никада не уписује на диск.

Детаљан преглед

Од 25. маја 2010. године Google аналитика пружа функцију _anonymizelp у JavaScript библиотеци ga.js (а од недавно ga('set', 'anonymizeIp', true) у библиотеци analytics.js) како би омогућила власницима веб-сајтова да захтевају да у оквиру производа све IP адресе корисника буду анонимне. Ова функција је осмишљена како би помогла власницима сајтова да се придржавају сопствених политика приватности или, у неким земљама, препорука локалних органа за заштиту података, које спречавају складиштење информација о целој IP адреси. Претварање IP адресе у анонимну/маскирање се обавља чим мрежа за прикупљање Google аналитике прими податке, пре него што дође до складиштења или обраде.

Процес претварања IP адресе у анонимну у Google аналитици се обавља у оквиру два корака у току прикупљања. То су JavaScript ознака и мрежа за прикупљање. Ови кораци су објашњени у наставку.

JavaScript ознака Google аналитике

Када веб-прегледач са омогућеним JavaScript-ом учита страницу са ознаком Google аналитике (ga.js или analytics.js), асинхроно обавља две ствари: учитава и обрађује ред функција Google аналитике и захтева JavaScript Google аналитике. Ред функција је JavaScript низ у ком се налазе различите функције Google аналитике за конфигурисање и прикупљање. Ове функције, које подешава власник сајта када примењује Google аналитику, могу да обухватају навођење броја налога Google аналитике и слање података о приказу страница мрежи за прикупљање Google аналитике ради обраде.

Када JavaScript Google аналитике активира функцију из реда функција која покреће слање података у мрежу за прикупљање Google аналитике (обично је ова функција ga('send', 'pageview') у JavaScript библиотеци analytics.js и _trackPageview у библиотеци ga.js), подаци се шаљу као параметри URL-а приложени HTTP захтеву за http://www.google-analytics.com/_utm.gif (за ga.js) и http://www.google-analytics.com/collect (за analytics.js). Ако се функција претварања адресе у анонимну позове пре функције за праћење странице, захтеву за пиксел се додаје додатни параметар. Параметар за претварање IP адресе у анонимну изгледа овако: &aip=1

Мрежа за прикупљање Google аналитике

Мрежа за прикупљање Google аналитике је скуп сервера који пружају две главне услуге: приказивање ga.js и analytics.js (JavaScript-а Google аналитике) и прикупљање података послатих преко захтева за _utm.gif и /collect.

Када стигне захтев за ga.js, analytics.js, _utm.gif или /collect, он садржи додатне информације у заглављу HTTP захтева (тј. тип прегледача који се користи) и TCP/IP заглављу (тј. IP адресу пошиљаоца захтева).

Чим стигне захтев за _utm.gif, задржава се у меморији ради претварања адресе у анонимну. Ако се параметар &aip=1 открије у URL-у захтева (као да га је поставио JavaScript Google аналитике после обраде функције за претварање адресе у анонимну у библиотеци ga.js или analytics.js), последњи октет IP адресе корисника се подешава на нулу док је адреса још увек у меморији. На пример, IP адреса 12.214.31.144 би се променила у 12.214.31.0. (Ако је IP адреса нека IPv6 адреса, последњих 80 од 128 битова се подешава на нулу.) Тек након овог процеса претварања адресе у анонимну се захтев уписује на диск ради обраде. Ако се користи метод претварања IP адресе у анонимну, пуна IP адреса се никада не уписује на диск јер се претварање у анонимну адресу догађа у меморији скоро моментално после пријема захтева.

Да ли вам је ово било корисно?
Како то можемо да побољшамо?