Adam Brzostek
22.01.2024
Czas czytania: 12:00

Praktyczny poradnik Google Consent Mode v2

Mam nadzieje, że dzięki temu artykułowi zrozumiesz na czym polega Google Consent Mode i poradzisz sobie z wdrożeniem na swojej stronie. Natomiast jeżeli nie będziesz w stanie zrobić tego samodzielnie napisz do nas. Udzielamy wsparcia na każdym etapie implementacji od wyboru narzędzia dopasowanego do ruchu poprzez pomoc prawną i techniczną realizacje.

Wprowadzenie

Działania marketingowe w internecie od dawna wiążą się ze zbieraniem informacji o użytkownikach stron internetowych. Gromadzone są one najczęściej z wykorzystaniem plików cookie, które następnie używane są w kampaniach digitalowych. Im więcej wiemy o kliencie, tym dokładniej wyższy poziom personalizacji oferty, przekazu reklamowego lub kanału komunikacji jesteśmy w stanie osiągnąć.
Obowiązujące od 25 maja 2018 roku przepisy RODO (GDPR) zabraniają używania plików cookie bez zgody użytkownika. Aby nadal móc korzystać z ciasteczek strony internetowe muszą taką zgodę uzyskać, a w tym celu z pomocą przychodzi nam Consent Mode, czyli Tryb Zgody.

Czym jest Consent Mode?

Consent Mode jest to standard, według którego użytkownicy stron internetowych w pierwszej kolejności są informowani o wykorzystywaniu plików cookie za pomocą specjalnego bannera, a następnie mają możliwość wyrażenie lub odrzucenia zgody na ich używanie.

consent mode example

Tryb Zgody zakłada, że wszelkiego rodzaju skrypty 3rd party, które tworzą ciasteczka po stronie klienta, powinny być uruchamiane tylko w przypadku uzyskanej zgody.
W przypadku witryn internetowych, tryb zgody może obejmować różne aspekty, takie jak zbieranie danych analitycznych, ustawianie plików cookie, personalizacja treści czy śledzenie działań użytkowników w celach reklamowych.
Konsekwencją całkowitego nieudzielenia zgody powinno być ograniczenie używania plików cookie do absolutnego minimum niezbędnego dla funkcjonowania strony, co oznacza zablokowanie wszystkich tagów 3rd party. W przypadku odmowy częściowej witryna powinna dostosować działanie tagów w taki sposób, aby respektowały udzielone zgody i uruchamiać tagi tylko z zaakceptowanych kategorii.

przykład polityki prywatności
schemat consent mode basic

W tym miejscu pojawia się najczęstszy błąd wdrożenie consent mode. Na stronie faktycznie pojawia nam się odpowiedni banner informacyjny, często umożliwiający decyzje co do zgody na używanie ciasteczek, jednakże skrypty 3rd party analityczne lub/i marketingowe nie respektują preferencji użytkownika i uruchamiają się niezależnie od jego decyzji.

Jak sprawdzić czy moja strona ma poprawnie wdrożony consent mode?

Najprościej można to zrobić sprawdzając czy jakieś nieoczekiwane ciasteczka są zapisywane w przeglądarce przed udzieleniem zgody. Odpowiedź twierdząca może wskazywać na niepoprawne wdrożenie consent mode.

Czy moja strona używa Google Consent Mode?

Uruchomienie tagów i zapisywanie ciasteczek przed wyrażoną zgodą może, ale nie musi, oznaczać źle wdrożonego Consent Mode. Przy wykorzystaniu Google Consent Mode tagi google mogą uruchamiać się w specjalnym trybie bez wyrażonej zgody, co szerzej opiszemy w dalszej części artykułu. W celu sprawdzenia czy moja strona wykorzystuje GCM możemy przejrzeć konfiguracje w Google Tag Managerze (opisaną w kolejnych rozdziałach), natomiast jeśli nie mamy do niego dostępu z pomocą ponownie przychodzi nam konsola.
W zakładce network należy odszukać call Google Analytics i sprawdzić jego payload.

parametr gcs w konsoli

Parametr który nas najbardziej interesuje to gcs przyjmujący wartości w formacie G1xy, gdzie

  • x – zgoda na Google Ads (ad_storage – wyjaśnione dalej) – 1 = granted, 0 = denied
  • y – zgoda na Goole analytics (analytics_storage – wyjaśnione dalej) – 1 = granted, 0 = denied

Zatem parametr ten może przyjmować wartości:

  • G100 – brak wyrażonych zgód
  • G110 – Zgoda na Google Ads, brak zgody na Google Analytics
  • G101 – Brak zgody na Google Ads, zgoda na Google Analytics
  • G111 – zgoda na wszystko

Jeżeli parametr gcs nie występuje w naszym payload oznacza to, że Google Consent Mode nie jest u nas wdrożony, a jeżeli wykryjemy call Google Analytics przed wyrażeniem zgód to jest to jasny sygnał, że Consent Mode nie jest na naszej stronie poprawnie wdrożony.

Google Consent Mode v2

Czym jest Google Consent Mode?

Google Consent Mode jest to specjalna wersja trybu uzyskiwania informacji o stanie zgody użytkownika, która przekazuje ją do Google Tag Managera w określony sposób. GCM wpływa na działanie następujących tagów:

lista tagów google

Przy wdrożonym Google Consent Mode w przypadku braku wyrażenia zgody powyższe tagi nie zapisują plików cookie, ale wysyłają do narzędzi Google zanonimizowane informacje. W przypadku Google Analytics 4, braki w danych są wypełniane za pomocą modelowania konwersji oraz modelowania behawioralnego.

Czym różni się Google Consent Mode v2?

Google Consent Mode zbiera zgody użytkowników według określonych kategorii:

  • analytics_storage – zgoda na pliki cookie związane ze statystykami
  • ad_storage – zgoda na pliki cookie związane z reklamami
  • functionality_storage – włącza pamięć, która obsługuje funkcje witryny
  • security_storage – umożliwia przechowywanie danych związanych z zabezpieczeniami
  • personalization_storage – umożliwia przechowywanie danych na potrzeby personalizacji treści na stronie

Każda z tych zgód może mieć dwa stany:

  • denied – zgoda odrzucona
  • granted – zgoda udzielona

To właśnie od tej wartości zależy sposób działania tagów Google. Stany te są różne w zależności od momentu wczytywania się strony. Na początku występuje domyślny stan (default state), w którym zazwyczaj wszystkie zgody z wyjątkiem ciastek funkcjonalnych oraz bezpieczeństwa są odrzucone. Powinien być uruchamiany przy evencie Consent Initialization, żeby być dostępnym w momencie page view (Container Loaded). W dalszej części artykułu dowiesz się jak najprościej go ustawić

domyslny stan zgody

Stany zgód zmieniają swoją wartość w momencie załadowania odpowiedniego narzędzia cookie managment lub w przypadku pierwszej wizyty w momencie decyzji użytkownika. Wtedy zostaje przekazany zaktualizowany stan zgód (update state).

zaktualizowany stan zgody

W Google Consent Mode v2 zmiana jest niewielka i wprowadza dwie dodatkowe kategorie zgód:

  • ad_user_data – umożliwia wysyłanie do Google danych użytkownika w celach związanych z reklamami online
  • ad_personalization – umożliwia reklamy personalizowane

Jak Google Consent Mode v2 wpływa na działanie tagów Google?

W przypadku udzielenia wszystkich zgód Google Consent Mode nie ma wpływu na działanie tagów, natomiast z poprawnie wdrożonym GCM możemy bardzo wiele zyskać w przypadku zgód odrzuconych.

schemat consent mode advanced

W przypadku braku zgody tagi Google nie zapisują plików cookie po stronie klienta, natomiast przekazują minimum informacji o aktywności użytkownika, czyli pingi. Kluczową informacją którą zyskujemy dzięki pingom są ilościowe pomiary:

  • konwersji – w przypadku Google Ads i Google Analytics 4
  • odsłon oraz zdarzeń – w przypadku Google Analytics 4

Niestety na ich podstawie nie jesteś w stanie określić jednoznacznie użytkownika i wykorzystać tych danych do remarketingu.
Mimo to brakujące informacje o liczbie sesji i użytkowników zostaną uzupełnione w Google Analytics 4 na podstawie modelowania behawioralnego danych.
Żeby dokładnie sprawdzić zamiany w działaniu tagów w przypadku braku konkretnych zgód zachęcam sprawdzić dokumentacje źródłową.

Jak sprawdzić wartości zgód dla Google Consent Mode v2 w konsoli?

Razem z GCM v2 obok parametru gcs Google dodał nowy parametr gcd dostępny w payload wszystkich usług Google niezależnie od tego, czy GCM jest aktywny.

parametr gcd w konsoli

Parametr ten (gcd) przechowuje wartości zgód dla kategoria ad_storage, analytics_storage, ad_user_data or ad_personalization. Jego wartość rozpoczyna się od “11”, zazwyczaj kończy na “5”, a pozostałe “1” używane są jako separator. Możemy przyjąć jego wartość jako: gcd=11{{ad_storage}}1{{analytics_storage}}1{{ad_user_data}}1{{ad_personalization}}5

Wartości zgód opisane są literami które oznaczają:

  • l – brak wartości consent mode
  • p – odrzucono domyślnie i brak aktualizacji
  • q – odrzucono domyślnie i po aktualizacji
  • t – udzielono domyślnie
  • r – odrzucono domyślnie, ale udzielono po aktualizacji
  • m – odrzucono po aktualizacji i brak domyślnego stanu
  • n – udzielono po aktualizacji i brak domyślnego stanu
  • u – udzielono domyślnie ale wycofano po aktualizacji
  • v – udzielono domyślnie i po aktualizacji

A zatem powyższy sygnał ze screen’a *11r1r1l1l5* możemy interpretować jako: zgoda po aktualizacji na ad_storage oraz analytics_storage z domyślnym odrzuceniem oraz brak informacji o zgodach ad_user_data oraz ad_personalization – w tym przypadku narzędzie nie było zaktualizowane do GCM v2.

Dlaczego warto wdrożyć Consent Mode z wykorzystaniem standardu Google

Jest wiele powodów, dla których warto skorzystać z GCM, ale w tej chwili kluczową kwestią wydaje się ryzyko zablokowania list remarketingowych oraz zliczania konwersji w Google Ads. Nie jest to jeszcze oficjalnie potwierdzone, ale krążą informacje, że Google planuje takie działania od marca.

Poza tym inne korzyści to:

  1. Dostępne pomiary ilościowe w narzędziach Google pozwalające na dokładniejszą analitykę oraz optymalizacje i rozliczanie kampanie pomimo braku zgody na korzystanie z plików cookie.
  2. Łatwe zarządzenie regułami uruchamiania tagów w zależności od stanu zgody. W Google Tag Managerze wszystkie standardowe typy tagów mają wbudowany ten mechanizm, a tagi Google posiadają również wbudowane zgody.
  3. Generyczne rozwiązanie współdziałające z wieloma dostawcami narzędzi cookie managnement. Raz skonfigurowane reguły uruchamiania tagów będą adekwatne nawet przy zmianie dostawcy.

Jak wdrożyć Google Consent Mode?

Dostępne narzędzia

Do wdrożenia Consent Mode najlepiej wykorzystać dedykowane narzędzie. Oczywiście w swojej firmie możesz postarać się o stworzenie własnego spersonalizowanego rozwiązania, ale na rynku istnieje już szereg gotowych i sprawdzonych rozwiązań. Do najpopularniejszych należą: One Trust, Didomi, Cookiebot, Cookiehub lub Cookiescript, ale istnieje również mnóstwo mniej popularnych narzędzi.

Wybierając narzędzie dla swojej strony powinniśmy w szczególności zwrócić uwagę :

  1. Zgodność z regulacjami prawnymi Ważne, aby narzędzie opierało swoje działanie na aktach prawnych obowiązujących w regionie Twojej działalności w internecie. W przypadku UE tym aktem jest RODO, ale jeżeli działasz globalnie, istotna będzie również możliwość wykorzystania innych norm prawnych.
  2. Customizacja banera Upewnij się, że będziesz mógł konfigurować swój banner funkcjonalnie – treść, dostępność przycisków, ustawienie domyślne opt-in lub opt-out, oraz wizualnie tak, żeby pasował to wyglądu Twojej strony i żeby skłaniał użytkownika do udzielenia zgody.
  3. Użyteczność po stronie klienta Przetestuj czy Twoi użytkownicy łatwo będą mogli zmienić swoje preferencje lub całkowicie wycofać zgodę jeżeli zmienią zdanie. Jest to istotne, aby nie narazić się na konsekwencje prawne.
  4. Integracja z Google Consent Mode Dostępność tej opcji znacznie ułatwi wdrożenie Consent Mode w wersji Google, co pozwoli wyciągnąć maximum z tagów Google nawet bez zgody użytkownika. Listę platform na 100% posiadających tę opcje znajdziesz na tej stronie. Nie wyklucza to, że narzędzia z poza tej listy również tą funkcjonalność będą posiadać.

Cena licencji takiego narzędzia zazwyczaj zależy od jednego lub kilku z poniższych warunków:

  • liczba domen, na której będziemy korzystać z narzędzia
  • poziom ruchu mierzony w sesjach lub odsłonach
  • wielkość strony, tzn liczba podstron koniecznych do przeskanowania

Skan strony i kategoryzacja ciasteczek

Pierwszym krokiem do wdrożenia Consent Mode jest wykonanie skanu strony w wybranym narzędziu i upewnienie się, że wszystkie oczekiwane ciasteczka zostały rozpoznane i poprawnie skategoryzowane. W razie problemów z kategoryzacją ciastek można skorzystać ze strony https://cookiedatabase.org/ , ale musimy pamiętać, że niestandardowych ciasteczek raczej tam nie znajdziemy.

Konfiguracja banera - ogólne wytyczne

Każde z narzędzi posiada swój wizard do konfiguracji banera, ale jej zasady możemy sprowadzić do kilku najważniejszych kwestii:

  • podstawa prawna – w przypadku UE będzie to ustawa GDPR
  • język – rekomenduję ustawić dynamiczną wartość zależną od języka w przeglądarce użytkownika
  • domyślny stan zgody – w przypadku UE RODO wymusza na nas wybranie opcji opt-in, czyli domyślne traktowanie zgód jako nieudzielonych i poproszenie użytkownika o ich aktywne udzielenie. Przeciwieństwem tego jest opcja opt-out, w której zgody są udzielane automatycznie do momentu, aż użytkownik ich automatycznie nie wycofa
  • wykorzystanie Google Consent Mode – jeżeli tylko jest to dostępne zawsze rekomenduję mieć tę opcje włączoną

Implementacja baneru Consent Mode na stronie

Do implementacji baneru na stronie mamy dwie opcje:

  1. rekomendowana – zaimplementować baner bezpośrednio w kodzie strony najlepiej tuż na kodem GTM oraz przed kodem Google consent API, jeżeli takiego używamy. Dzięki temu stan zgód powinnismy mieć dostępny bardzo szybko po wczytaniu kontenera.
  2. zapasowa z wykorzystanie GTM – jeżeli z jakiś względów nie możemy zaimplementować banera bezpośrednio w kodzie strony możemy skorzystać z niestandardowego tagu HTML w GTM. Pamiętajmy aby wywoływać go jak najwcześniej oraz o tym, że musimy się liczyć z tym, że jakiś ad-block lub nieprzyjazna przeglądarka może zablokować Tag Managera, w związku z tym nasze narzędzie cookie consent się nie uruchomi.

Włączenie trybu zgody w Google Tag Managerze

Przed konfiguracją Google Consent Mode powinniśmy w ustawieniach naszego kontenera włączyć przegląd ustawień uzyskiwania zgody, zaznaczając odpowiedni checkbox.

przegląd ustawień zgody gtm

Domyślny Stan Zgody - Google Consent API

Standardowe podejście

Aby Google Consent Mode działał prawidłowo, musimy na naszej stronie zaimplementować Google Consent API z domyślnym stanem zgody. Możemy zrobić poprzez dodanie odpowiedniego kawałka skryptu bezpośrednio w kodzie strony.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('consent', 'default', { 'ad_storage': 'denied', 'analytics_storage': 'denied', 'ad_personalization': 'denied', 'ad_user_data': 'denied', 'personalization_storage': 'denied' 'security_storage': 'denied', 'functionality_storage': 'denied', 'wait_for_update': 500 });

Kod ten najlepiej umieścić nad kodem banera. Dla wszystkich zgód zadeklarowaliśmy domyślny stan jako odrzucony (denied). W przypadku np. USA moglibyśmy go zmienić na udzielony (granted). W kodzie widać, że są tam już dwie nowe zgody z Google Consent Mode v2 – ad_user_data oraz ad_personalization.
Mimo, że narzędzia jeszcze nie eksponują tych zgód, to możemy być pewni, że w momencie całkowitego wejścia w życie GCM v2 będą to robić automatycznie, dlatego lepiej od razu je zadeklarować w domyślnym stanie, żeby uniknąć poprawek w przyszłości.

Wykorzystanie Google Tag Managera

Wrzucenie skryptu domyślnych stanów zgód w kod strony to tylko jedna z opcji. Często jest tak, że do kodu strony nie mamy dostępu i żeby uniknąć czekania na wdrożenie przez dział IT możemy skorzystać z łatwiejszej opcji, gdzie z pomocą przychodzi nam Google Tag Manager. Aby to zrobić, musimy skorzystać z szablonu stworzonego przez Simo Ahava – możemy go zaimportować z galerii szablonów społeczności.

consent mode gtm template

Consent Command ustawiamy jako *default*, a wartości wszystkich zgód na *denied*, oprócz security, która zawsze ma wartość *granted*. Ponadto rekomenduję również zaznaczenie checkboxa *Push dataLayer Event. Dzięki temu w GTM będziemy mogli nasłuchiwać kiedy domyślny stan się załaduje.

konfiguracja domyślnego stanu zgód

Jako trigger wybieramy zdarzenie Initialization, czyli zdarzenie inicjujące, ponieważ chcemy wywołać ten tag jak najwcześniej to możliwe.

reguła uruchamiająca domyślny stan zgody

Zaktualizowany Stan Zgody

Google Consent Mode zintegrowany z narzędziem

Jeżeli nasze narzędzie posiada zintegrowany Google Consent Mode, to sprawa jest banalnie prosta. W narzędziu wystarczy włączyć tę opcje i dokonać publikacji skryptu lub w niektórych przypadkach zaimplementować nowy kod banera.
W niektórych narzędziach do konkretnej zgody GCM trzeba przypisać kategorię ciasteczek z narzędzia jak na poniższym przykładzie z One Trust’a

konfiguracja zaktualizowanego stanu zgody w one trust

Po opublikowaniu skryptu z włączonym GCM w GTM automatycznie wykrywany będzie zaktualizowany stan zgód a ich wartości z narzędzia będą przekazywane w odpowiednim formacie tak, by GTM mógł to odczytać.

zaktualizowany stan zgody w podglądzie

Na powyższym przykładzie widać, jak przy załadowaniu skryptu One Trust symultanicznie został zaktualizowany stan zgód – w tym konkretnym przypadku tylko dwóch, bo tylko dwie kategorie ciastek były używane na tej stronie.

Google Consent Mode niedostępny w narzędziu

Jeżeli nasze narzędzie nie ma wbudowanej integracji GCM do uzyskania zaktualizowanego stanu zgód, z pomocą przychodzi nam po raz kolejny szablon od Simo Ahava’y

konfiguracja zaktualizowanego stanu zgody w gtm

Tym razem Consent Command ustawiamy jako update, a dla wartości wszystkich zgód podstawiamy odpowiednio skonfigurowane zmienne, które mapują wartości pochodzące z naszego narzędzia cookie management. Pamiętajmy, że zmienne te powinny przyjmować tylko wartości granted lub denied.
Znowu rekomenduję zaznaczenie checkboxa Push dataLayer Event, dzięki temu w GTM będziemy mogli nasłuchać kiedy tym razem zaktualizowany stan się załaduje.
W kwestii triggera powinniśmy się tu posłużyć eventem, który zazwyczaj pochodzi z narzędzia cookie consent i informuje o zaktualizowaniu stanu zgód.

Zarządzanie tagami

Najważniejszym elementem wdrożenia jest zarządzenie tagami tak, aby respektowały preferencje użytkownika wyrażone w narzędziu cookie management.
Każdym tagiem możemy zarządzić osobno. Żeby to zrobić w konfiguracji tagu musimy otworzyć Ustawienia zaawansowane a następnie rozwinąć Ustawienia dotyczące zgody.

konfiguracja wymaganych zgód w gtm

W przypadku tagów Google mamy domyślnie wbudowane zgody ad_storage oraz analytics_storage, więc o ile nie wynika to z jakiejś specjalnej sytuacji, powinniśmy wybrać opcje Brak wymogu uzyskania dodatkowej zgody i zapisać konfigurację tagu.

konfiguracja wymaganych zgód w gtm dla tagu niestandardowego

W przypadku innych typów tagów wybieramy opcje Wymagaj dodatkowej zgody na uruchomienie tagu,a następnie z listy wybieramy zgody, które dla danego tagu są wymagane.
Co jeszcze istotne w przypadku innych tagów niż tagi Google to modyfikacja reguł opartych o wyświetlenia strony w taki sposób, aby uruchamiały się dopiero, gdy zaktualizowany stan zgody jest dostępny. Nie jest to konieczne w przypadku tagów Google, gdyż są w pełni wspierane przez GCM, natomiast pozostałe tagi zostaną całkowicie dostępne, gdy stan zgody jest odrzucony.
Dobrze obrazuje to poniższy przykład, na którym w momencie odsłony stany zgód są odrzucone, natomiast chwilę później przy załadowaniu One Trust (event OneTrustLoaded) zgody są już udzielone.

stan zgody przy evencie page view
stan zgody przy załadowaniu się narzędzia CMP

Tagami w kontekście wymogu zgód możemy zarządzać też w grupach. W sekcji tagi musimy kliknąć przegląd ustawień uzyskiwania zgody.

zbiorowe zarządzanie wymaganymi zgodami

Następnie wybieramy tagi, dla których chcemy wspólnie zarządzić zgodami i klikamy przycisk Edycji ustawień dotyczących zgody uzytkownika.

zbiorowe zarządzanie wymaganymi zgodami - wybór tagów

W ostatnim kroku wybieramy ustawienia zgody dla wybranych tagów w taki sam sposób jak dla pojedynczego tagu i zapisujemy zmiany.

zbiorowe zarządzanie wymaganymi zgodami - wybór zgód

Dodawanie nowych tagów

Procedura dodawania nowych tagów zależy od tego, czy dany typ tagu już był wcześniej zaimplementowany, czy nie. Pisząc typ mam na myśli typ ciasteczek przez niego używanych.
Jeżeli dany typ tagu, np. Google Analytics 4 był już u nas wcześniej na stronie, to dodajemy go w normalny sposób pamiętając o wyborze odpowiedniej zgody w ustawieniach przed publikacją.
Sprawa jest bardziej skomplikowana, jeśli chcemy dodać całkowicie nowy typ tagu, np. nowego partnera remarketingu wykorzystującego całkowicie nowe pliki cookie.
W pierwszej kolejności musimy taki tag opublikować bez ustawień wymaganych zgód. Jest to konieczne, aby crowler skanujący naszego narzędzia do zarządzania ciasteczkami mógł nowe ciasteczka rozpoznać.
Po publikacji tagu, kolejnym krokiem jest uruchomienie skanu strony w naszym narzędziu CMP. Następnie upewnienie się, że nowe ciasteczko zostało rozpoznane i poprawnie skategoryzowane, a potem opublikowanie zaktualizowanego skryptu banera w interfejsie CMP.
Na koniec ponownie musimy otworzyć GTM i po raz kolejny opublikować nasz tag, tym razem już z odpowiednio ustawioną wymaganą zgodą.

Źródła:
Dokumentacja Google Consent Mode: https://developers.google.com/tag-platform/security/guides/consent?hl=pl
Dokładne definicje zgód: https://developers.google.com/tag-platform/security/concepts/consent-mode?hl=pl
Działania tagów w zależności od stanu zgody: https://support.google.com/analytics/answer/9976101?hl=pl&sjid=1091137706529052351-EU

Powiązane artykuły