Анонимизиране на IP адресите в Google Анализ

Техническо обяснение как Google Анализ придава анонимност на IP адресите

Накратко

Когато клиент на Google Анализ поиска придаване на анонимност на IP адрес, услугата извършва това веднага щом бъде технически възможно и в най-ранния възможен етап от мрежата за събиране. Функцията за придаване на анонимност на IP адреса в Google Анализ нулира в паметта последния байт от IP адресите на потребителите (при IPv4) и последните 80 бита на IPv6 адресите скоро след като се изпратят към мрежата на Google Анализ за събиране. В този случай пълният IP адрес никога не се записва върху диска.

Задълбочен преглед

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

Придаването на анонимност на IP адресите в Google Анализ става на две места в потока на събирането: в маркера с JavaScript и в мрежата за събиране. Това е обяснено по-долу.

Маркерът с JavaScript на Google Анализ

Когато уеб браузър с активиран JavaScript зареди страница с маркера на Google Анализ (ga.js или analytics.js), извършва две неща асинхронно: зарежда и обработва опашката с функции на Google Анализ и изпраща заявка за JavaScript кода на услугата. Опашката с функции е масив на JavaScript, където се поставят различните функции на Google Анализ за конфигуриране и събиране. Тези функции се задават от собственика на сайта при внедряването на Google Анализ и могат да включват действия, като посочването на номера на профила в услугата и действителното изпращане на данни за показването на страницата към мрежата на Google Анализ за събиране, където да се обработят.

Когато JavaScript кодът на Google Анализ изпълни от опашката функция, която задейства изпращането на данни към мрежата за събиране (обикновено това е функцията ga('send', 'pageview') в библиотеката analytics.js на JavaScript и _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 кода на услугата) и събирането на данните, изпратени чрез заявки за _utm.gif и /collect.

Когато пристигне заявка за ga.js, analytics.js, _utm.gif или /collect, тя съдържа допълнителна информация в заглавката на HTTP заявката (т.е. типа на използвания браузър) и в заглавката на TCP/IP (т.е. IP адреса на изпращащия я).

Веднага щом бъде получена заявка за _utm.gif, тя се оставя в паметта за анонимизиране. Ако в URL адреса й бъде намерен параметърът &aip=1 (който би бил поставен от JavaScript кода на Google Анализ след обработка на функцията за анонимизиране в ga.js или analytics.js ), то последният байт на IP адреса на потребителя се нулира, докато е още в паметта. Например IP адресът 12.214.31.144 ще бъде променен на 12.214.31.0. (Ако IP адресът е от IPv6, последните 80 от общо 128-те бита се нулират.) Заявката се записва върху диска за обработка едва след това придаване на анонимност. Ако се ползва методът за придаване на анонимност на IP адресите, в нито един момент върху диска не се записва пълният IP адрес, тъй като цялото придаване на анонимност се извършва в паметта почти мигновено след получаването на заявката.

Беше ли полезна тази статия?
Как можем да направим подобрения?