Modelowane listy odbiorców nie zawierają konkretnych osób, tylko prawdopodobieństwa. Wyjaśniam, jak powstają, gdzie ich szukać w panelu i jak czytać ich raporty.
Zaczynam od zastrzeżenia, bo w tym temacie jest konieczne: nie jestem prawnikiem i to nie jest opinia prawna. Jestem osobą, która wdraża pomiar i kampanie, a więc odpowiada za tę część, w której dane rzeczywiście wypływają ze strony do zewnętrznych systemów. Kwestie interpretacyjne zostawiam kancelariom, a piszę o tym, co widać w kodzie i w panelach.
Powód, dla którego wracam do tego tematu, jest praktyczny. Przez ostatnie kilkanaście miesięcy zmieniło się kilka rzeczy naraz: od zeszłego roku obowiązuje wymóg przekazywania informacji o zgodach do narzędzi Google w Europie, w listopadzie weszło w Polsce w życie nowe Prawo komunikacji elektronicznej, a od lutego obowiązują pierwsze przepisy rozporządzenia o sztucznej inteligencji. Równolegle wiele firm zdążyło dołożyć do strony narzędzia, których nikt nie inwentaryzował.
Poniżej opisuję audyt w kolejności, w jakiej go prowadzę. Kolejność ma znaczenie, bo bez pierwszego kroku pozostałe są zgadywaniem — nie da się ocenić legalności przetwarzania danych, których nikt nie policzył.
Krótkie podsumowanie stanu, w którym pracujemy dzisiaj.
Podstawą pozostaje ogólne rozporządzenie o ochronie danych i nic go nie zastąpiło — reszta to warstwy nakładane na tę samą konstrukcję. W warstwie technicznej narzędzia reklamowe wymagają dziś przekazywania stanu zgody użytkownika, a nie tylko jej zbierania, a wtyczka zarządzająca zgodami musi mieć odpowiednią certyfikację, żeby jej sygnał był respektowany. W polskim porządku prawnym doszło nowe Prawo komunikacji elektronicznej, które porządkuje między innymi kwestię jednej zgody marketingowej i zasady przechowywania informacji na urządzeniu użytkownika.
Osobna warstwa dotyczy sztucznej inteligencji: pierwsze przepisy unijnego rozporządzenia zaczęły obowiązywać w lutym i na razie dotykają przede wszystkim praktyk zakazanych oraz obowiązku zapewnienia kompetencji osobom, które z takich systemów korzystają. Dla marketingu to na dziś głównie zadanie inwentaryzacyjne — trzeba wiedzieć, jakie narzędzia oparte na modelach są w firmie faktycznie używane i do czego.
Warto przy tym rozstać się z nadzieją, która jeszcze niedawno bywała argumentem za odkładaniem prac: że problem zgód rozejdzie się sam po wycofaniu ciasteczek zewnętrznych. Google w połowie zeszłego roku zapowiedział, że zamiast usuwania ich z przeglądarki postawi na wybór po stronie użytkownika. Zgody zostają z nami na dłużej.
Zaczynam od tabeli, którą wypełniam ręcznie, przechodząc przez witrynę jak użytkownik. Każdy wiersz to jedno miejsce, w którym strona pobiera od kogoś dane.
Formularze kontaktowe i zapytania ofertowe. Zapis do newslettera. Rejestracja i logowanie. Koszyk i płatność. Czat. Ankiety. Konkursy. Pliki do pobrania za podanie adresu. Prośby o powiadomienie o dostępności. Do każdego wpisuję: jakie pola, czy są obowiązkowe, gdzie dane trafiają, kto ma do nich dostęp i jak długo tam leżą.
Najczęstsze odkrycia z tego kroku są zawsze podobne. Formularz zbiera numer telefonu, którego nikt nie używa. Zapytania z dwóch różnych formularzy trafiają na skrzynkę osoby, która nie pracuje już w firmie. Baza zapisów do newslettera z konkursu z 2021 roku wciąż leży w narzędziu, do którego nikt nie ma hasła.
Zasada, którą stosuję na koniec tego kroku: jeśli nikt nie potrafi wskazać, do czego dane w konkretnym polu są używane, to pole ma zniknąć z formularza. To najprostsze i najskuteczniejsze działanie w całym audycie.
Druga część jest techniczna i tu spędzam najwięcej czasu.
Otwieram stronę z podglądem ruchu sieciowego i patrzę, do jakich domen wychodzą zapytania — przed wyrażeniem zgody i po. Osobno robię to na stronie głównej, na karcie produktu albo usługi, w formularzu i na stronie podziękowania, bo to zwykle cztery różne zestawy skryptów.
Potem otwieram menedżer tagów i porównuję listę z tym, co zobaczyłem w podglądzie. Rozbieżności są normą: część kodu jest wstawiona bezpośrednio w szablonie motywu, część przez wtyczki, część została kiedyś dodana „na test” i nigdy nie usunięta.
Trzy rzeczy, które sprawdzam szczególnie uważnie. Czy przed zgodą nie wychodzą żadne identyfikatory do systemów reklamowych. Czy w adresach zapytań do narzędzi analitycznych nie ma danych, które nie powinny się tam znaleźć — zdarzają się adresy e-mail w parametrach, najczęściej przez nieuważną konfigurację strony podziękowania. I czy jakiś skrypt nie przekazuje treści wpisywanych w pola formularza w czasie rzeczywistym, co niektóre narzędzia do nagrywania sesji robią domyślnie.
Efektem tego kroku jest lista wszystkich odbiorców danych. Bez niej trzeci krok nie ma sensu.
Banner to interfejs, a nie mechanizm. Sprawdzam, czy odmowa naprawdę coś zmienia.
Przy tej okazji weryfikuję też zgody w formularzach: czy nie są połączone w jedną klauzulę razem z regulaminem, czy nie są domyślnie zaznaczone i czy ich treść odpowiada temu, co faktycznie robimy z danymi.
Ta część audytu jest moją bezpośrednią odpowiedzialnością, więc traktuję ją najsurowiej.
Sprawdzam, czy do systemów reklamowych nie trafiają dane pozwalające zidentyfikować osobę w postaci jawnej — w nazwach konwersji, w wartościach parametrów, w nazwach list odbiorców. Weryfikuję, skąd pochodzą listy klientów wgrywane do dopasowywania odbiorców i czy osoby na nich się na to zgodziły. Przy rozwiązaniach opartych na danych z formularzy potwierdzam, że dane wychodzą wyłącznie w postaci skróconej kryptograficznie i wyłącznie dla użytkowników, którzy udzielili zgody.
Osobno przeglądam ustawienia przechowywania danych w narzędziu analitycznym. Domyślne okresy retencji rzadko odpowiadają temu, co firma zadeklarowała w swojej polityce, a to jest rozbieżność, którą łatwo sprawdzić i tanio naprawić.
Ostatnia rzecz w tym kroku: lista osób i firm mających dostęp do kont reklamowych i analitycznych. Byli pracownicy, dwie poprzednie agencje i prywatne konta Google używane przez zewnętrznych wykonawców to standardowe znaleziska.
Najlepiej opisana zgodność nie pomoże, jeśli dane wyciekną z serwera.
Minimalny zakres, który sprawdzam: aktualność oprogramowania strony i wtyczek, wymuszone szyfrowane połączenie na całej witrynie, uwierzytelnianie dwuskładnikowe dla wszystkich kont administracyjnych, brak współdzielonych haseł, ograniczenie dostępu do panelu i regularne kopie zapasowe, które ktoś kiedykolwiek próbował odtworzyć.
Do tego rzeczy specyficzne dla formularzy: zabezpieczenie przed masowym wysyłaniem, ograniczenie liczby zgłoszeń z jednego adresu, brak zapisywania treści zgłoszeń w miejscu dostępnym publicznie i sensowne przechowywanie załączników. Widziałem katalogi z plikami wysłanymi przez klientów dostępne pod przewidywalnym adresem — to najgorszy możliwy przypadek, a przyczyna bywa banalna.
Jeśli firma podlega nowym wymogom dotyczącym cyberbezpieczeństwa w swojej branży, to jest moment, żeby to ustalić z działem prawnym; polskie przepisy wdrażające tę część regulacji były w marcu wciąż w toku prac legislacyjnych, ale kierunek jest znany od dawna i nie warto czekać z podstawami.
Na końcu, nie na początku, zaglądam do dokumentów — bo dopiero teraz wiem, czy opisują rzeczywistość.
Sprawdzam, czy polityka prywatności wymienia wszystkich odbiorców danych z listy z drugiego kroku, czy podane okresy przechowywania odpowiadają ustawieniom w narzędziach i czy rejestr czynności przetwarzania obejmuje wdrożenia z ostatniego roku. Potem umowy powierzenia z dostawcami: narzędziem do newslettera, firmą hostingową, agencją, dostawcą czatu.
Osobno pytam o dwie procedury. Co się dzieje, gdy ktoś prosi o usunięcie danych — kto to robi i w ilu systemach. I co się dzieje w razie incydentu: kto podejmuje decyzję o zgłoszeniu i w jakim czasie.
Odpowiedź „nie mieliśmy takiego przypadku” jest w porządku. Odpowiedź „nie wiem, kto by się tym zajął” oznacza, że procedury nie ma.
Pełny przegląd raz w roku, a lżejszy — sprowadzający się do kroku drugiego i testu odmowy zgody — raz na kwartał. Dodatkowo zawsze po trzech zdarzeniach: zmianie wykonawcy strony, wdrożeniu nowego narzędzia marketingowego i przebudowie ścieżki zakupowej.
Najważniejsze ustalenie organizacyjne jest jednak inne. Ktoś musi mieć przypisaną odpowiedzialność za listę skryptów na stronie. Nie za zgodność, nie za dokumenty — za listę. W firmach, w których taka osoba istnieje, audyt trwa dzień. W pozostałych zaczyna się od tygodnia ustalania, kto w ogóle wstawił połowę tego kodu.
Używamy plików cookies, aby ułatwić Ci nawigację oraz wykonywanie określonych funkcji. Szczegółowe informacje o wszystkich plikach cookies znajdziesz w każdej kategorii zgody poniżej.
Pliki cookies oznaczone jako "Niezbędne" są przechowywane w Twojej przeglądarce, ponieważ są one kluczowe dla zapewnienia podstawowych funkcji strony.
Używamy również plików cookies firm trzecich, które pomagają nam analizować, w jaki sposób korzystasz z tej strony, zapamiętują Twoje preferencje oraz dostarczają treści i reklamy odpowiednie dla Ciebie. Te pliki cookies będą przechowywane w Twojej przeglądarce tylko za Twoją uprzednią zgodą.
Możesz zdecydować, czy chcesz włączyć lub wyłączyć niektóre bądź wszystkie te pliki cookies, jednak wyłączenie niektórych z nich może wpłynąć na Twoje doświadczenia podczas przeglądania strony.
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __cf_bm | 13 minutes | Cloudflare bot management — distinguishes humans from bots. |
| rc::* | Persistent | Google reCAPTCHA — localStorage holding anti-bot challenge state. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| wpEmojiSettingsSupports | Session | WordPress — sessionStorage flag caching whether the browser can render emoji (feature detection). |
| ytidb* | Persistent | YouTube — IndexedDB storing playback/search state for embedded videos. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| _ga_* | 400 days | Google Analytics 4 — persists session state per property. |
| _ga | 400 days | Google Analytics — distinguishes unique users via a client id. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| NID | 183 days | Google — stores preferences for personalized ads. |
| fr | 90 days | Meta — encrypted Facebook id and browser id for ads. |
| _gcl_au | 90 days | Google AdSense/Ads — experiments with advertising efficiency (conversion linker). |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __Secure-YNID | 180 days | |
| YSC | Session | |
| __Secure-ROLLOUT_TOKEN | 180 days | |
| VISITOR_INFO1_LIVE | 180 days | |
| VISITOR_PRIVACY_METADATA | 180 days | |
| datr | 400 days | |
| sb | 400 days | |
| wd | 7 days |