LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Przegląd bloga /Digital Marketing / Serwerowe redagowanie PII: Jak zbudować firewall prywatności...
Ten artykuł w innych językach:

Serwerowe redagowanie PII: Jak zbudować firewall prywatności w ssGTM

Serwerowe redagowanie PII: Jak zbudować firewall prywatności w ssGTM
Spis treści
  1. 1. Ograniczenie zbierania u źródła
  2. 2. Zakres działania filtra
  3. 3. Zatwierdzone pola i znane ścieżki
  4. 4. Zastosowanie bez powrotu do surowych wartości
  5. 5. Test żądania wychodzącego
  6. Pytania i odpowiedzi
  7. Źródła

Adresy e-mail, numery telefonów i tokeny dostępu mogą przypadkowo trafić do analityki przez adresy URL, tytuły stron lub pola formularzy. Server-side Google Tag Manager (ssGTM) dodaje punkt filtrowania przed wysyłką przez skonfigurowane tagi. Ogranicza to ryzyko, ale nie zapewnia automatycznie anonimowości ani zgodności z prawem.

1. Ograniczenie zbierania u źródła

Dane osobowe nie powinny trafiać do adresów URL używanych w analityce. Google Analytics zabrania PII w zwykłych polach URL i zdarzeń. Zahaszowany e-mail nie zmienia parametru niestandardowego w dozwolony kanał danych klienta. Specjalne funkcje danych przekazanych przez użytkowników mają osobne pola, konfigurację i warunki.

Haszowanie, szyfrowanie i anonimizacja pełnią różne funkcje. Hash służący do dopasowania klienta nadal może stanowić dane osobowe. RODO nie wymaga ogólnie haszowania każdego dozwolonego przekazania danych. Nadal potrzebne są zgodność przetwarzania z prawem, minimalizacja i odpowiednie zabezpieczenia.

POST usuwa wartości formularza z adresu URL, ale nadal przesyła treść żądania. HTTPS, ograniczone logowanie i kontrola zbierania danych analitycznych pozostają konieczne. Filtr ssGTM nie usuwa wstecz informacji z historii przeglądarki, proxy ani systemów dostawców. Incydent wymaga zatrzymania zbierania i oceny możliwości usunięcia danych w każdym dotkniętym systemie.

Kontrolowane filtrowanie przed wybranymi tagami
Filtrowana jest zatwierdzona ścieżka danych zdarzenia; surowe żądania, logi i tagi przeglądarkowe wymagają osobnej kontroli.

2. Zakres działania filtra

Klient ssGTM przekształca żądanie w dane zdarzenia. Transformacje zmieniają, dopuszczają lub wykluczają parametry przed odczytem przez wybrane tagi. Affected Tags i Matching Conditions określają zakres. Ustawienia domyślne obejmują wszystkie tagi i zdarzenia, ale późniejsze zmiany mogą ograniczyć działanie.

Transformacja nie przepisuje całego żądania HTTP. Szablon z odpowiednimi uprawnieniami może odczytać nagłówki lub oryginalną treść żądania z innego źródła. Piksele w przeglądarce, logi serwera, kod klienta i inne integracje wychodzące wymagają osobnej kontroli. Różne transformacje i mapowania tagów mogą też tworzyć różne ładunki wyjściowe.

3. Zatwierdzone pola i znane ścieżki

Wyrażenie regularne rozpoznaje wzorzec, a nie znaczenie danych. Wzorzec e-mail może przeoczyć zakodowany lub nietypowy adres. Ciąg 9–15 cyfr pasuje również do numerów zamówień i znaczników czasu. Jedenaście cyfr nie potwierdza poprawnego numeru PESEL. Nawet poprawna suma kontrolna nie dowodzi dopuszczalności przekazania.

Mniejszy model danych ułatwia kontrolę: bez dowolnych tekstów formularzy, tylko zatwierdzone parametry i stałe ścieżki stron bez identyfikatorów. Poniższa zmienna przykładowa akceptuje trzy dokładne adresy i usuwa cały query string oraz fragment. Nieznane ścieżki i wartości inne niż tekst zwracają undefined. Domena i ścieżki przykładowe wymagają zastąpienia sprawdzonymi wartościami danej witryny.

const getEventData = require('getEventData');
const getType = require('getType');
const value = getEventData(data.parameter);
if (getType(value) !== 'string') return undefined;
const base = value.split('#')[0].split('?')[0];
const allowed = [
  'https://www.example.com/',
  'https://www.example.com/products',
  'https://www.example.com/checkout/complete'
];
for (let i = 0; i < allowed.length; i++) {
  if (base === allowed[i]) return allowed[i];
}
return undefined;

Szablon wymaga pola tekstowego parameter i uprawnienia read_event_data ograniczonego do odpowiedniego pola URL. Wynik zawsze pochodzi ze stałej listy. Zakodowane nazwy parametrów i wielokrotnie zakodowane wartości zapytania nie przechodzą do wyniku. Metoda usuwa także parametry kampanii i celowo ma wąski zakres; nie jest uniwersalnym detektorem PII.

4. Zastosowanie bez powrotu do surowych wartości

  1. Osobne zmienne sprawdzają page_location i inne zatwierdzone pola URL. Ta sama lista nie pasuje do dowolnych zewnętrznych referrerów. Nieznany referrer musi zostać pominięty lub obsłużony według osobnej sprawdzonej reguły.
  2. Transformacja Augment event przekazuje zaakceptowane adresy kanoniczne do wskazanych tagów. Niepotrzebne pola tekstowe są wykluczane. Lista dozwolonych parametrów musi uwzględniać pola techniczne wymagane przez wybrane tagi.
  3. Odrzucona wartość musi jawnie blokować odpowiedni tag albo prowadzić do jawnego wykluczenia pola. Samo undefined nie dowodzi usunięcia: tag może użyć surowego URL lub innego źródła zastępczego.
  4. Kolejność transformacji, tagi objęte regułą, warunki i uprawnienia szablonu wymagają kontroli. Późniejsza transformacja nie może przywracać wartości surowej.

GA4 i Meta wymagają osobnego sprawdzenia wysyłki. Nie wszystkie pola danych klienta Meta korzystają z SHA-256: dopasowanie e-mail i telefonu różni się od obsługi IP klienta, user-agenta czy identyfikatorów przeglądarki. Oczyszczony URL nie zezwala automatycznie na te pola i nie anonimizuje całego zdarzenia.

5. Test żądania wychodzącego

Syntetyczne dane testowe powinny obejmować wielkie litery, kodowane nazwy parametrów, %40, wielokrotne kodowanie, fragmenty, powtarzające się klucze, błędne typy danych, nieznane ścieżki i tokeny. Z https://www.example.com/products?email=test%40example.com powinno powstać wyłącznie https://www.example.com/products. Nieznana ścieżka musi zostać odrzucona.

Logikę zmiennej można sprawdzić osobno. Publikacja wymaga dodatkowo podglądu ssGTM i kontroli rzeczywistego ładunku dla każdego odbiorcy. Podgląd wejściowy nadal zawiera oryginalne żądanie. Retencja logów i dostęp do logów wymagają więc osobnych zasad.

Pytania i odpowiedzi

Czy później dodane tagi są automatycznie chronione?

Ochrona obejmuje wyłącznie skonfigurowaną ścieżkę danych. Nowy tag musi należeć do zakresu transformacji, korzystać ze zmienionego pola i nie wracać do surowego żądania. Każdy nowy tag wymaga testu wysyłki.

Czy czyszczenie URL usuwa wszystkie dane osobowe?

Nie. Tytuły, wyszukiwane frazy, zagnieżdżone obiekty, cookies, identyfikatory i pola niestandardowe mogą zawierać dane osobowe. Niepotrzebne pola powinny zostać pominięte; dostępność wyrażenia regularnego nie uzasadnia zbierania dowolnego tekstu.

Lukas Wójcik

Lukas Wójcik

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.

Kontakt

Masz pytanie lub pomysł na projekt internetowy? Napisz krótko, o co chodzi. Formularz korzysta z reCAPTCHA do ochrony przed spamem.

Napisanie komentarza

Doświadczenia z praktyki i pytania o wdrożenie są tu mile widziane.

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