Про приховування IP-адреси в Analytics

Технічний опис процесу приховування IP-адрес в Analytics

Найголовніше

Якщо користувач Analytics надсилає запит на приховування IP-адреси, система задовольняє його за першої технічної можливості на якомога ранішому етапі збирання даних. При цьому частина IP-адреси користувача, а саме її останній октет (у версії IPv4) або останні 80 бітів (у версії IPv6) скидаються до нуля невдовзі після надсилання інформації в мережу збирання даних Analytics Collection Network. У такому разі повна IP-адреса ніколи не записується на наші диски.

Коли ви створюєте ресурс, у вас є три варіанти. Для кожного з них приховування IP-адреси відбувається, як описано нижче.

Докладний огляд

З 25 травня 2010 року сервіс Analytics підтримує функцію _anonymizelp у бібліотеці ga.js коду JavaScript (а віднедавна й функцію ga('set', 'anonymizeIp', true) у бібліотеці analytics.js), яка дає власникам веб-сайтів змогу приховувати всі IP-адреси своїх користувачів у нашій системі. Ця функція допомагає власникам сайтів дотримуватися своєї політики конфіденційності, а також (у деяких країнах) вказівок місцевих органів захисту даних, які не дозволяють зберігати інформацію про повну IP-адресу. IP-адреса приховується або маскується, щойно потрапляє в мережу Analytics Collection Network, ще до обробки та зберігання.

На шляху збирання інформації в Analytics процес приховування IP-адрес відбувається у два етапи: на рівні тегу JavaScript і в мережі Collection Network. Ці етапи описано нижче.

Тег JavaScript в Analytics

Коли веб-переглядач із підтримкою JavaScript завантажує сторінку з тегом Analytics (ga.js або analytics.js), він асинхронно виконує дві дії: завантажує й обробляє чергу функцій Analytics, а також надсилає запит JavaScript в Analytics. Черга функцій – це масив JavaScript, у якому починається виконання різних функцій налаштування та збирання даних в Analytics. Ці функції, які налаштовує власник сайту під час застосування Analytics, можуть містити, наприклад, функції визначення номера облікового запису Analytics і надсилання даних про перегляди сторінок у мережу Analytics Collection Network для обробки.

Коли JavaScript в Analytics запускає з черги функцію, яка активує надсилання даних у мережу Analytics Collection Network (зазвичай це функція 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.

Мережа Analytics Collection Network

Мережа Analytics Collection Network – це низка серверів, які виконують два основні завдання: розміщення ga.js і analytics.js (кодів JavaScript в Analytics), а також збирання даних, надісланих у запитах для _utm.gif і /collect.

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

Щойно запит _utm.gif надходить у систему, він передається в пам'ять для приховування. Якщо в його URL-адресі міститься параметр &aip=1 (який додається тегом JavaScript в Analytics після обробки функції приховування в ga.js або analytics.js), останній октет IP-адреси користувача скидається до нуля під час перебування в пам'яті. Наприклад, IP-адреса 12.214.31.144 змінюється на 12.214.31.0 (для IP-адрес за протоколом IPv6 до нуля скидаються останні 80 зі 128 біт). Лише після таких дій приховування запит записується на диск для обробки. Коли використовується метод приховування, повна IP-адреса ніколи не зберігається в системі, оскільки скидання її частини відбувається в пам'яті відразу після отримання запиту.

Чи корисна ця інформація?
Як можна її покращити?