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.
Przez ostatnie lata przywykliśmy do myślenia, że pomiar konwersji będzie coraz bardziej ograniczany, a przełomowym momentem będzie zniknięcie ciasteczek zewnętrznych z przeglądarki Chrome. Ten moment się nie wydarzył — Google najpierw wielokrotnie przesuwało termin, a potem zrezygnowało z całego planu. Wnioski, jakie z tego wyciągam, są jednak inne, niż mogłoby się wydawać.
Nic z tego nie oznacza, że można wrócić do konfiguracji z 2019 roku. Realne ubytki w danych nie przyszły z jednej zapowiedzianej zmiany, a z wielu drobniejszych: ograniczeń w innych przeglądarkach, blokad instalowanych przez użytkowników, krótszego życia identyfikatorów, wymogów prawnych dotyczących zgody i po prostu tego, że coraz więcej osób odmawia jej świadomie.
Poniżej opisuję, co dziś praktycznie wdrażam na kontach, żeby konwersje docierały do systemów reklamowych mimo tych ubytków, i w jakiej kolejności to robię. To praca po części techniczna, po części organizacyjna, a najczęściej blokuje ją nie technologia, a brak decyzji po stronie firmy.
Hasło „rozszerzone funkcje ochrony prywatności” brzmi jak nazwa jednego przełącznika, a w praktyce oznacza kilka niezależnych mechanizmów, które warto od siebie odróżnić.
Pierwsza grupa to mechanizmy zgody: zbieranie decyzji użytkownika i przekazywanie jej stanu do wszystkich narzędzi pomiarowych, tak żeby nie zapisywały danych, na które zgody nie ma.
Druga to przekazywanie danych własnych w formie nieodwracalnie zaszyfrowanej. Zamiast polegać na identyfikatorze z ciasteczka, przekazujemy skrót z adresu e-mail albo numeru telefonu, który klient sam nam podał przy zakupie. System reklamowy dopasowuje go po swojej stronie, jeśli ma taki sam skrót.
Trzecia to przeniesienie pomiaru na własną infrastrukturę: kontener po stronie serwera, wysyłka zdarzeń z systemu sprzedażowego, obsługa tagów z własnej domeny. Chodzi tu zarówno o odporność na blokady, jak i o kontrolę nad tym, co faktycznie wychodzi z naszego serwisu.
Te trzy rzeczy działają w innych warstwach i nie zastępują się wzajemnie. Wdrożenie skrótów danych bez uporządkowanych zgód to nie modernizacja pomiaru, tylko ryzyko prawne opakowane w język techniczny.
Zaczynam zawsze tutaj i w większości projektów tu też znajduję największy problem.
Formalnie od marca 2024 roku, jeśli kierujemy reklamy na Europejski Obszar Gospodarczy i korzystamy z remarketingu albo pomiaru w Google Ads, wymagane jest przekazywanie stanu zgody w rozszerzonej postaci — z osobnymi sygnałami dla przechowywania danych reklamowych i dla samego użycia danych na potrzeby reklamy. Do tego dochodzi wymóg korzystania z certyfikowanego narzędzia do zbierania zgód.
Czego szukam przy audycie tej warstwy:
Warto rozumieć, po co to robimy poza samą zgodnością. Przy poprawnie przekazywanych sygnałach systemy Google mogą uzupełniać brakujące zachowania modelowaniem. Bez sygnałów nie mają czego modelować i luka pozostaje luką — więc dobrze wdrożona warstwa zgód nie tylko zabezpiecza prawnie, ale też ratuje część danych.
To mechanizm dostępny od kilku lat i wciąż, w moim doświadczeniu, najrzadziej poprawnie wdrożony spośród wszystkich opisywanych tu rzeczy.
Idea jest prosta. Przy konwersji użytkownik zwykle podaje adres e-mail albo telefon. Zamiast wysyłać te dane w postaci jawnej, przeglądarka albo serwer liczy z nich nieodwracalny skrót i wysyła sam skrót. Google porównuje go z danymi, które ma po swojej stronie, i jeśli trafi, przypisuje konwersję do kliknięcia — nawet gdy identyfikator z ciasteczka już nie istnieje.
Osobny wariant obsługuje pozyskiwanie kontaktów. Tam konwersja domyka się dopiero w systemie sprzedażowym, często po tygodniach, więc zdarzenie przesyła się później: razem ze skrótem danych z formularza i informacją o etapie, na którym kontakt się znalazł. To najlepszy znany mi sposób, żeby algorytm przestał optymalizować pod liczbę formularzy, a zaczął pod jakość kontaktów.
Rzeczy, na które uważam przy wdrożeniu:
Trzecia warstwa jest najdroższa we wdrożeniu i dlatego stawiam ją na końcu, choć często jest omawiana pierwsza, bo brzmi najbardziej poważnie.
Kontener działający na serwerze przyjmuje zdarzenia z przeglądarki, a dopiero z serwera wysyła je dalej do systemów reklamowych. Daje to trzy rzeczy: mniej kodu wykonywanego u użytkownika, jedno miejsce, w którym widać i kontroluje się wysyłane dane, oraz odporność na część blokad działających w przeglądarce.
Nie jest to rozwiązanie darmowe ani bezobsługowe. Trzeba utrzymać środowisko, monitorować je i pamiętać, że błąd w jednym miejscu psuje pomiar wszystkich narzędzi naraz. Przy małym koncie ta cena bywa wyższa niż zysk.
Osobno warto wspomnieć o nowszym podejściu, które Google przedstawiło wiosną tego roku: obsłudze skryptów pomiarowych z własnej domeny reklamodawcy poprzez warstwę pośredniczącą, bez budowania pełnego kontenera serwerowego. Cel jest ten sam — sprawić, żeby żądania pomiarowe wyglądały jak żądania do własnego serwisu, a nie do zewnętrznego dostawcy. To rozwiązanie świeże i podchodzę do niego ostrożnie, ale kierunek jest jasny: pomiar przenosi się na infrastrukturę pierwszej strony.
Niezależnie od wybranej drogi zasada jest ta sama. Przeniesienie wysyłki na serwer nie zwalnia z respektowania zgód. Zdarzenie wysłane z serwera mimo odmowy jest dokładnie tym samym naruszeniem, co zdarzenie wysłane z przeglądarki, tylko trudniejszym do wykrycia z zewnątrz.
Ostatni element to przekazywanie zbiorów danych, a nie pojedynczych zdarzeń: list klientów do kierowania i wykluczania.
Tu obowiązują dwie reguły, których pilnuję bez wyjątków. Pierwsza: dane muszą być zebrane w sposób, który pozwala je do tego użyć — czyli z odpowiednią zgodą albo inną podstawą, opisaną w polityce. Druga: adresy i telefony wysyłamy wyłącznie jako skróty, policzone po normalizacji, najlepiej po naszej stronie, zanim opuszczą naszą infrastrukturę.
Czego nie wysyłam nigdy, niezależnie od tego, jak wygodne by to było: danych, z których wynika stan zdrowia, sytuacja finansowa, orientacja, poglądy albo przynależność do grup szczególnie chronionych. Dotyczy to również pośrednich śladów, na przykład nazw zdarzeń albo etykiet kampanii ujawniających kategorię produktu medycznego. Regulaminy systemów reklamowych są tu jednoznaczne, a konsekwencją jest zablokowanie konta, nie upomnienie.
Trzecia rzecz, praktyczna: listy trzeba odświeżać. Zbiór wgrany raz i zapomniany traci dopasowanie z każdym miesiącem, a przy wykluczeniach zaczyna szkodzić — reklamy wracają do osób, które już kupiły.
Ustalona kolejność ma tu większe znaczenie niż w większości projektów, bo kroki wzajemnie się warunkują.
Najpierw zgody: narzędzie, przekazywanie sygnałów, zapis decyzji, weryfikacja w trybie diagnostycznym. Dopiero potem konwersje rozszerzone dla witryny, bo wcześniej wysyłalibyśmy skróty danych bez podstawy. Trzeci krok to zdarzenia domykane w systemie sprzedażowym, jeśli firma prowadzi sprzedaż z udziałem handlowca. Czwarty, opcjonalny, to przeniesienie pomiaru na serwer albo obsługa tagów z własnej domeny. Piąty to listy klientów.
Błędy, które widzę najczęściej, są zawsze te same. Wdrożenie skrótów danych bez sprawdzenia normalizacji, przez co dopasowanie jest zerowe, a nikt tego nie zauważa. Pozostawienie starego tagu obok nowej konfiguracji, co daje podwójne liczenie i psuje uczenie algorytmu. Sygnał zgody wysyłany z opóźnieniem względem tagów. Kontener serwerowy postawiony raz i nigdy nieaktualizowany. I wreszcie brak jakiejkolwiek dokumentacji, przez co po zmianie osoby prowadzącej konto nikt nie wie, co gdzie się wysyła.
Dlatego każde takie wdrożenie kończę jedną stroną notatek: co wysyłamy, skąd, na jakiej podstawie i kto to zmienił ostatni raz. Brzmi to jak biurokracja, a jest jedyną rzeczą, która ratuje projekt przy audycie albo przy pierwszej awarii.
Na koniec granice, bo bez ich nazwania łatwo obiecać klientowi zbyt wiele.
Żadne z tych wdrożeń nie przywróci pełnego obrazu ścieżki użytkownika. Odbudowują część brakujących dopasowań i pozwalają algorytmom uczyć się na lepszych danych, ale luka pozostaje i będzie rosła wraz z odsetkiem osób odmawiających zgody. Wolę powiedzieć wprost, że pracujemy na próbce z modelowaniem, niż raportować liczby jak wynik pełnego pomiaru.
Nie naprawią też błędów w samym pomiarze. Konto z konwersjami zdefiniowanymi jako kliknięcie w numer telefonu na każdej podstronie po wdrożeniu tych mechanizmów zacznie po prostu dokładniej mierzyć rzecz bez znaczenia. Kolejność jest zawsze taka sama: najpierw ustalić, co jest konwersją, potem dbać o to, żeby docierała.
I ostatnia obserwacja z tego roku. Skoro plan wycofania ciasteczek zewnętrznych z Chrome został porzucony, kusi, żeby całą tę pracę odłożyć. Nie odkładałbym. Zmiany, które faktycznie zabrały nam dane, wynikają z decyzji użytkowników i z regulacji, a te nie wycofały się nigdzie. Zestaw propozycji technicznych, które miały zastąpić ciasteczka, do dziś nie stał się branżowym standardem i nie widzę podstaw, żeby na nim budować plan. Fundament, który zostaje, to zgoda uzyskana uczciwie i dane, które klient dał nam sam.
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 |