Stručný přehled
Když si zákazník služby Universal Analytics vyžádá maskování IP adresy, spustí se tato funkce, jakmile je to technicky možné. Maskování IP adres v Analytics vynuluje poslední oktet (u adres IPv4) nebo posledních 80 bitů (u adres IPv6) uživatelských IP adres krátce poté, co je adresa odeslána do Google Analytics. V tomto případě se kompletní IP adresa nikdy nezapisuje na disk.
Geografické dimenze se později odvodí od zkrácených IP adres.
Universal Analytics: Maskování IP adres je nutné aktivovat a implementuje se způsobem popsaným níže v části Podrobný rozbor.
Podrobný rozbor
Analytics poskytuje vlastníkům webů funkci anonymize_ip (gtag('config', '<GA_MEASUREMENT_ID>', { 'anonymize_ip': true })
v knihovně gtag.js), takže si zde mohou nechat maskovat adresy IP všech svých uživatelů. Smyslem je pomáhat vlastníkům webů dodržovat vlastní zásady ochrany soukromí, případně v některých zemích doporučení místních úřadů pro ochranu osobních údajů, neboť zásady a doporučení mohou bránit ukládání úplných údajů o IP adresách. Zkracování/maskování IP adres se provádí ihned po vstupu dat do Google Analytics a ještě předtím, než jsou kamkoliv uložena nebo jakkoliv zpracována.
Proces maskování IP adres v Analytics probíhá ve sběrném toku ve dvou krocích, kterými jsou JavaScriptová značka a sběrná síť. Tyto kroky jsou vysvětleny níže.
JavaScriptová značka Analytics
Když webový prohlížeč podporující JavaScript načte stránku se značkou Analytics, provádí asynchronně dva úkony: načítá a zpracovává funkční frontu Analytics a vysílá požadavek JavaScript služby Analytics. Funkční fronta je JavaScriptové pole, kam jsou uložena různá nastavení a sběrné funkce Analytics. Tyto funkce, které nastavuje vlastník webu při implementaci služby Analytics, mohou zahrnovat například určení čísla účtu Analytics či vlastní odesílání údajů o zobrazení stránky do Analytics pro účely zpracování.
Když JavaScript Analytics spustí funkci z fronty, která spouští odeslání údajů do Analytics (obvykle jde o funkci gtag('config', '<GA_MEASUREMENT_ID>'
) v knihovně gtag.js), odešle data jako parametry adresy URL připojené k požadavku HTTP na http://www.google-analytics.com/collect. Pokud byla maskovací funkce zavolána ještě před funkcí měření stránky, je k žádosti o pixel připojen další parametr. Parametr maskování IP adres vypadá takto:
&aip=1
Sběrná síť Analytics
Sběrná síť Analytics je sestava serverů, které poskytují dvě hlavní služby: obsluhu kódu gtag.js (JavaScript Analytics) a sběr dat zaslaných prostřednictvím požadavků na _utm.gif a /collect.
Když přijde požadavek na gtag.js, obsahuje dodatečné informace v záhlaví HTTP (např. typ používaného prohlížeče) a v záhlaví TCP/IP (např. IP adresu žadatele).
Příchozí požadavek je bezprostředně po příchodu uchován v paměti, aby mohl být zkrácen. Pokud se v adrese URL požadavku nachází parametr &aip=1, je poslední oktet IP adresy ještě v paměti vynulován. Například IP adresa 12.214.31.144 by se takto změnila na 12.214.31.0. (Pokud jde o adresu IPv6, je vynulováno posledních 80 z jejích 128 bitů.) Teprve po procesu zkrácení je požadavek zapsán na disk ke zpracování. Při použití metody zkrácení IP adres se kompletní IP adresa nikdy nezapisuje na disk. Ke zkrácení totiž dochází v paměti téměř okamžitě po obdržení požadavku.