LW IT Solutions
« Blog Overview /Digital Analytics/Tutorials / Tutorial: Anonimizacja IP Server-Side: GA4, Adobe Launch...
This post in other languages:

Tutorial: Anonimizacja IP Server-Side: GA4, Adobe Launch i Jentis

Tutorial: Anonimizacja IP Server-Side: GA4, Adobe Launch i Jentis
Spis treści
  1. 1. Server-Side GTM (sGTM) dla GA4
  2. 2. Adobe Launch (Server-Side / AEP Edge Network)
  3. 3. Jentis
  4. Wpływ anonimizacji IP na dane geolokalizacyjne w GA4
  5. Źródła

W architekturach śledzenia po stronie serwera maskowanie adresów IP przed ich transmisją do punktów końcowych analityki jest krytycznym krokiem w zakresie ochrony danych. Poniższy przewodnik szczegółowo opisuje techniczną konfigurację wymaganą do wdrożenia anonimizacji IP server-side na trzech głównych platformach: Server-Side Google Tag Manager (sGTM), Adobe Experience Platform (Adobe Launch) oraz Jentis.

1. Server-Side GTM (sGTM) dla GA4

Anonimizacja adresu IP w sGTM wymaga utworzenia niestandardowego szablonu zmiennej (Variable Template) przy użyciu Sandboxed JavaScript, ponieważ standardowe zmienne JavaScript oparte na przeglądarce nie są obsługiwane w środowisku serwerowym.

Diagram do artykułu: Server-Side GTM (sGTM) dla GA4, Adobe Launch, Jentis …
Przebieg z artykułu w 4 krokach: Server-Side GTM (sGTM) dla GA4, Adobe Launch, Jentis, Wpływ anonimizacji IP na dane geolokalizacyjne w GA4.
  1. Należy przejść do sekcji Szablony (Templates) w kontenerze serwerowym i kliknąć Nowy w obszarze szablonów zmiennych.
  2. W edytorze szablonów otworzyć zakładkę Kod (Code) i wstawić następujący kod Sandboxed JavaScript:
const getEventData = require('getEventData');
const createRegex = require('createRegex');

const lastOctet = createRegex('\\.[^.]+$');
const ip = getEventData('ip_override') || getEventData('ip');

if (ip && typeof ip === 'string') {
  return ip.replace(lastOctet, '.0');
}
return '0.0.0.0';
  1. Przejść do zakładki Uprawnienia (Permissions) i upewnić się, że szablon ma prawo odczytu kluczy ip oraz ip_override z danych zdarzenia.
  2. Zapisać szablon pod rozpoznawalną nazwą, na przykład Masked IP.
  3. Przejść do sekcji Zmienne (Variables), utworzyć nową zmienną w oparciu o ten szablon i zapisać konfigurację.
  4. Otworzyć tag GA4. W sekcji Parametry do dodania / edycji ustawić nazwę parametru na ip_override, a jako wartość wskazać nowo utworzoną zmienną.

2. Adobe Launch (Server-Side / AEP Edge Network)

W przypadku konfiguracji serwerowej Adobe Experience Platform, maskowanie IP odbywa się bezpośrednio w ustawieniach strumienia danych (Datastream).

  1. Uzyskać dostęp do interfejsu Data Collection w Adobe Experience Platform.
  2. Przejść do menu konfiguracji Datastreams.
  3. Wybrać odpowiedni strumień danych używany do routingu ruchu serwerowego.
  4. Edytować konfigurację usługi Adobe Analytics w ramach strumienia.
  5. Aktywować opcję Maskuj adres IP (Mask IP Address). Ustawienie to instruuje Edge Network, aby automatycznie obcinał ostatni oktet adresu IP przed przesłaniem go do serwerów przetwarzających Analytics.

3. Jentis

Platforma Jentis oferuje wbudowane, scentralizowane mechanizmy kontroli prywatności do manipulacji danymi po stronie serwera.

  1. Otworzyć panel sterowania Jentis Data Capture.
  2. Przejść do sekcji ustawień Ochrony danych (Data Protection) lub Prywatności (Privacy).
  3. Odszukać reguły maskowania PII (danych osobowych).
  4. Utworzyć nową regułę maskowania dla parametru adresu IP. Platforma zapewnia wstępnie skonfigurowaną operację maskowania (usunięcie ostatniego oktetu), którą da się zastosować globalnie dla wszystkich narzędzi lub specyficznie dla pojedynczego miejsca docelowego.
  5. Zapisać i opublikować konfigurację, aby zagwarantować, że surowy adres IP zostanie odrzucony na poziomie serwera Jentis.

Wpływ anonimizacji IP na dane geolokalizacyjne w GA4

Anonimizacja adresów IP w fundamentalny sposób wpływa na dokładność i ziarnistość raportowania geolokalizacji w Google Analytics 4. GA4 w dużej mierze opiera się na adresie IP w celu mapowania sesji do konkretnych jednostek geograficznych, takich jak miasta, regiony czy dostawcy usług internetowych (ISP). Obcięcie ostatniego oktetu adresu IP (np. zmiana 192.168.1.55 na 192.168.1.0) powoduje, że dane źródłowe tracą swoją unikalność na poziomie hosta.

Bezpośrednią konsekwencją jest znaczne zmniejszenie precyzji geograficznej. O ile dane na poziomie kraju pozostają wysoce dokładne, atrybucja na poziomie miasta często zostaje utracona. Zamazany adres IP jest zazwyczaj mapowany na szerszy węzeł regionalny lub główne centrum routingu dostawcy internetu, a nie na rzeczywistą gminę. W rezultacie raporty GA4 wykazują gwałtowny wzrost wartości „Not Set” (Nie ustawiono) dla wymiaru „Miasto” lub sztuczną koncentrację w dużych obszarach metropolitalnych, w których zlokalizowane są węzły ISP.

Ponadto utrata ziarnistości wpływa na modelowanie behawioralne, zlokalizowaną atrybucję marketingową oraz możliwość budowania hiperlokalnych segmentów odbiorców. Wewnętrzne modele uczenia maszynowego Google, które wypełniają luki w danych, również otrzymują mniej precyzyjny sygnał początkowy, co sprawia, że lokalna analiza trendów staje się mniej wiarygodna. Konieczne jest zatem wyważenie korzyści wynikających z rygorystycznej zgodności z przepisami wobec strukturalnej degradacji lokalnych danych geograficznych.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Komentarze: 2

  1. Justyna Malinowska

    Zebranie trzech platform w jednym miejscu jest bardzo praktyczne, a uwaga o utracie precyzji geolokalizacji ratuje przed niemiłą rozmową kilka tygodni po wdrożeniu.

    Mam wątpliwość co do samego szablonu: wyrażenie .[^.]+$ szuka ostatniego członu po kropce. Co dzieje się z adresem IPv6, który kropek nie zawiera?

    1. Lukas Wojcik Autor

      Nic — i to jest właśnie problem, bo „nic” wygląda tu jak poprawne działanie.

      Wzorzec nie znajduje dopasowania, replace zwraca adres w niezmienionej postaci, a zmienna oddaje pełny adres IPv6 do parametru ip_override. Nie pojawia się błąd ani ostrzeżenie: tag się uruchamia, żądanie wychodzi, maskowanie po prostu nie następuje dla części ruchu — a ta część bywa dwucyfrowa, zależnie od operatorów i urządzeń mobilnych w danym kraju.

      Poprawka jest krótka: rozpoznanie dwukropka i skrócenie adresu do początkowych segmentów (odpowiednikiem obcięcia ostatniego oktetu jest tu wyzerowanie końcowych 80 bitów). Ważniejsze jest jednak to, że zwykły test tego nie wykryje — podgląd kontenera zwykle działa po IPv4, więc kontrola przechodzi, a produkcja przepuszcza pełne adresy. Rozstrzygające jest wymuszenie jednego żądania po IPv6 i porównanie wartości parametru w podglądzie serwera.

Napisanie komentarza

Adres e-mail nie jest publikowany. Pola obowiązkowe oznaczono gwiazdką.

ALL ARTICLES & CATEGORIES

CCTV

Śledź tę kategorię przez RSS

Cloud & AI

Śledź tę kategorię przez RSS

Data Privacy

Wszystkie artykuły w tej kategorii (11) Śledź tę kategorię przez RSS

Digital Analytics

Wszystkie artykuły w tej kategorii (44) Śledź tę kategorię przez RSS

Digital Marketing

Wszystkie artykuły w tej kategorii (25) Śledź tę kategorię przez RSS

IT & Networks

Wszystkie artykuły w tej kategorii (15) Śledź tę kategorię przez RSS

Raspberry Pi

Śledź tę kategorię przez RSS

Smart Home

Wszystkie artykuły w tej kategorii (11) Śledź tę kategorię przez RSS

Tworzenie stron internetowych

Śledź tę kategorię przez RSS

Wtyczki i triki WordPress

Śledź tę kategorię przez RSS