Google Tag Manager (GTM)

Uwaga: Jeśli chcesz dostarczyć kod ConsentManager za pośrednictwem GTM, za pomocą TagManagera można dostarczyć tylko kod ręcznego blokowania. Jeśli chcesz korzystać z automatycznego blokowania kodu, musisz wstawić kod CMP bezpośrednio do swojej strony internetowej.

Uwaga: System przesyła informacje do window.dataLayer. GTM oferuje opcję zmiany nazwy tej zmiennej na inną wartość. W takim przypadku dane nie będą już odbierane przez GTM. Dlatego upewnij się, aby nie zmieniać nazwy tej zmiennej na inną niż dataLayer.

Informacje ogólne

Aby wykorzystać informacje o zgodzie w Google Tag Manager (GTM), CMP przesyła do GTM tzw. warstwy danych. CMP tworzy następujące zmienne warstwy danych:

Zmienna

Opis

cmpRegulation

Ciąg znaków nazwy rozporządzenia (np. RODO, CCPA itp.)

cmpConsentString

Ustawia ciąg znaków zgody IAB

cmpConsentVendors

Ustawia listę identyfikatorów dostawców, którzy uzyskali zgodę, oddzielonych przecinkami, np. ,3,7,s22,31,c88, (lista zaczyna się i kończy przecinkiem)

cmpGoogleVendorsConsent

Tak samo jak cmpConsentVendors, ale zawiera identyfikatory Google ATP.

cmpConsentPurposes

Ustawia listę celów, na które uzyskano zgodę, rozdzielonych przecinkami, np. ,1,2,s3,s4,s5, (lista zaczyna się i kończy przecinkiem)

cmpCurrentStatus

Nazwa aktualnego statusu zdarzenia cmp. Możliwe wartości: unknown, loading, consent, legitimateInterest
. Uwaga: od czasu do czasu mogą być dodawane dodatkowe statusy

cmpLastStatus

Nazwa ostatniego/poprzedniego statusu zdarzenia cmp. Możliwe wartości: unknown, loading, loaded, consent, legitimateInterest, disabled, hidden, visible, tcloaded, consent-loaded, useraction.
Uwaga: Od czasu do czasu
mogą być dodawane dodatkowe statusy. Uwaga: Obejmuje to również WSZYSTKIE nazwy statusów TCF i GPP, np. sectionChange.*, cmpDisplayStatus.* i tak dalej

cmpLoadingStatus

Nazwa statusu sekwencji ładowania (stub, loading, loaded, error)

cmpDisplayStatus

Nazwa statusu wyświetlania warstwy zgody (widoczny, ukryty, wyłączony)

consentExists

Istnieje status zgody (true/false). Należy pamiętać, że wartość ta jest prawdziwa, gdy tylko warstwa zgody zostanie wyświetlona i/lub w przypadkach, gdy zgoda nie jest wymagana.

userChoiceExists

Istnieje status zgody oparty na wyborze użytkownika (prawda/fałsz), np. użytkownik kliknął „zaakceptuj”, „odrzuć” lub zapisał ustawienia niestandardowe.

Zdarzenie cmpEvent w połączeniu z powyższymi zmiennymi może następnie służyć jako wyzwalacz dla menedżera tagów, aby określić, czy i kiedy uruchomić kody.

Integracja za pomocą szablonu GTM

  1. Zaloguj się do Google Tag Manager i kliknij Tagi > Nowy > Konfiguracja tagu
  2. Z menu Typ tagu wybierz Funkcje Społeczność Szablony CMP > Consentmanager CMP



  3. Kliknij Dodaj do obszaru roboczego > Dodaj



  4. Pobierz swój identyfikator CMP, CDN i adres hosta ze swojego konta w menu > CMP > Pobierz kody dla… stron internetowych



  5. Wprowadź swój identyfikator CMP, CDN i host do naszego szablonu GTM i zapisz.

    Wprowadź bez protokołu "https://"!


    gtm_inputs.jpg

  6. Ustaw tag z kodem CMP tak, aby uruchamiał się przy każdym wyświetleniu strony:

 

Uwaga: Zgodnie z wytycznymi Google musimy początkowo włączyć funkcję „Consent Mode”. Może to być mylące dla klientów, którzy integrują nasz szablon i np. nie widzą na żywo danych z Google Analytics. Jeśli NIE chcesz korzystać z funkcji „Consent Mode”, nie zapomnij wyłączyć tej opcji w szablonie.

 

Ręczna integracja

Jeśli nie chcesz korzystać z szablonu GTM lub przepisu GTM (patrz wyżej), możesz ręcznie wstawić kod CMP do swojego TagManagera. W tym celu skopiuj półautomatyczny / ręczny kod blokujący z Menu > CMP > Pobierz kod dla … Witryny internetowej i wklej go do TagManagera jako nowy tag. Ustaw tag tak, aby był uruchamiany przy najwcześniejszym możliwym zdarzeniu (PageView lub wcześniej). Nie ustawiaj warunku / wykluczenia dla tagu.

GTM + tryb zgody Google

Aby korzystać z ConsentManager z GTM i trybem zgody Google, zapoznaj się z naszą sekcją pomocy poświęconą trybowi zgody Google tutaj.

Aktualizacja tagów i warunków

Uwaga: Jeśli tryb zgody Google jest włączony, możesz użyć wbudowanych zmiennych zgody, aby filtrować tagi. W większości przypadków jest to łatwiejsze niż aktualizowanie warunków wyzwalających. Więcej informacji na temat trybu zgody Google znajdziesz tutaj.

Aby wyświetlać określone kody tylko w przypadku wyrażenia zgody, wykonaj następujące czynności:

  1. Utwórz zmienne w GTM: W GTM przejdź do Zmienne > Nowa i kliknij na konfiguruj:

  2. Wybierz typ zmiennej Zmienne strony > Zmienna warstwy danych, utwórz potrzebne zmienne; zazwyczaj potrzebna będzie co najmniej zmienna cmpConsentVendors. W razie potrzeby dodaj więcej zmiennych z powyższej tabeli:

  3. Powtórz powyższe kroki dla wszystkich innych zmiennych, których potrzebujesz (zazwyczaj cmpGDPR, cmpConsentVendors, cmpConsentPurposes, …)

  4. Przejdź do sekcji Wyzwalacze > Nowy i kliknij opcję Konfiguruj:



  5. Użyj nazwy zdarzenia cmpEvent i dodaj do niego niestandardowe zdarzenia:

     

  6. Dla każdego zdarzenia konieczna jest co najmniej jedna reguła:  cmpConsentVendors contains ...  (lub cmpConsentPurposes contains ... ).

  7. Ustaw reguły zdarzeń na „cmpConsentVendors contains ,x,”, gdzie x jest identyfikator dostawcy. Identyfikatory dostawców można znaleźć w menu Dostawcy/Biała lista:


    Ważne: Zawsze używaj tylko jednego dostawcy na wyzwalacz (... contains ,x, a nie ... contains ,x,y,z,). Jeśli współpracujesz z wieloma dostawcami, utwórz wiele wyzwalaczy, po jednym na dostawcę.
    Ważne: Zawsze używaj przecinka przed i po identyfikatorze dostawcy (np. cmpConsentVendors contains ,x,, a nie cmpConsentVendors contains x)

     

  8. Powtórz powyższy krok dla każdego dostawcy i utwórz nowy wyzwalacz dla każdego dostawcy

  9. Zastosuj wyzwalacz do swoich tagów i upewnij się, że tagi nie uruchamiają się przy zdarzeniu pageView, a jedynie przy cmpEvent:



    Przykład dla Google Analytics:



    Ważne: Upewnij się, że wyzwalacz jest jedynym wyzwalaczem dla każdego używanego tagu. Nie łącz wyzwalaczy z innymi wyzwalaczami/zdarzeniami, takimi jak „Wszystkie strony” lub „Przy załadowaniu strony” itp.

Przykład: Blokowanie Google Analytics za pomocą Google TagManager (GTM)

Oto kilka przykładowych zrzutów ekranu pokazujących, jak mogłaby wyglądać konfiguracja blokująca Google Analytics w przypadku braku zgody.

Wyzwalacz

Włącz Google Analytics na wszystkich stronach po wyrażeniu zgody:

Tag

Tag Google Analytics z przypisanymi wyzwalaczami (drugi wyzwalacz jest opcjonalny):

Jak zablokować kod Google TagManager, jeśli nie udzielono zgody?

Uwaga: Jeśli nie chcesz blokować samego GTM, a jedynie tagi uruchamiane przez GTM i korzystasz z automatycznego blokowania, upewnij się, że TagManager nie zostanie zablokowany poprzez wstawienie atrybutu data-cmp-ab="1" do kodu TagManagera.

Jeśli chcesz zablokować nie tylko kody w TagManagerze, ale także sam TagManager, możesz to zrobić, wykonując następujące kroki:

Twój kod GTM będzie wyglądał mniej więcej tak:

<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-ABCDEF');</script>

Aby umożliwić platformie CMP consentmanager.net blokowanie i włączanie kodu wyłącznie po wyrażeniu zgody, należy zmienić kod w następujący sposób: (zobacz zmiany w <script ...> części kodu)

<script data-cmp-vendor="s905" type="text/plain" class="cmplazyload" >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-ABCDEF');</script>

Należy pamiętać, że kod automatycznego blokowania może uniemożliwić przeglądarce wykonanie kodu GTM, ale może nie być w stanie powstrzymać przeglądarki przed pobraniem kodów źródłowych GTM. W związku z tym może się zdarzyć, że robot indeksujący powiadomi Cię, że GTM jest ładowany bez zgody. Jeśli chcesz mieć pewność, że GTM nie jest ładowany bez zgody, MUSISZ zmienić kod GTM zgodnie z powyższym opisem.

Jak zapobiec wielokrotnemu uruchamianiu Google TagManager?

CMP uruchamia warstwę danych cmpEvent za każdym razem, gdy informacje o zgodzie są odświeżane. Dzieje się tak, gdy strona jest ładowana, a informacje o zgodzie znajdują się w pliku cookie odwiedzającego, gdy wyświetlana jest warstwa zgody i odwiedzający dokonuje wyboru lub gdy odwiedzający ponownie wyświetla warstwę zgody i zmienia ustawienia. W ostatnim przypadku może się zdarzyć, że użytkownik otworzy i zamknie warstwę zgody kilka razy. Za każdym razem, gdy warstwa zostanie zamknięta, warstwa danych zostanie uruchomiona, a Google TagManager może wyświetlić niektóre tagi lub uruchomić liczenie Google Analytics. Aby zapobiec wielokrotnemu uruchamianiu tagów na stronie, wykonaj następujące czynności:

  1. Utwórz nowy tag dla każdego tagu, którego ponownego uruchomienia chcesz zapobiec. Użyj niestandardowego kodu HTML i wstaw następujący kod:

    <script> window.prevent_duplicate_googleanalytics = true; </script>

  2. Użyj tego samego wyzwalacza dla tego nowego tagu, co dla oryginalnego tagu.

  3. Utwórz nową zmienną typu niestandardowego javascript i użyj następującego kodu:
    function (){ return ("prevent_duplicate_googleanalytics" in window); }

  4. Dodaj kolejny warunek do istniejącego wyzwalacza, używając zmiennej utworzonej wcześniej („Zmienna XXX równa się false”):

Jak postępować z warstwą danych (dataLayer) lub kolejnością zdarzeń?

W niektórych przypadkach tagi powinny być uruchamiane tylko wtedy, gdy wystąpiło więcej niż jedno zdarzenie, np. określona akcja użytkownika i wyrażona zgoda. Aby połączyć istniejące zdarzenie z ConsentManager cmpEvent, wykonaj następujące kroki:

  1. Edytuj tag i usuń z niego istniejący wyzwalacz.
  2. Kliknij ikonę, aby przypisać nowy wyzwalacz do tagu, a następnie utwórz nowy wyzwalacz:

  3. Nadaj nowemu wyzwalaczowi nazwę i wybierz typ wyzwalacza „Grupa wyzwalaczy”:

  4. Dodaj swój istniejący wyzwalacz oraz wyzwalacz cmpEvent do grupy wyzwalaczy:

  5. Ustaw warunki wyzwalacza w taki sam sposób, jak w przypadku zwykłych wyzwalaczy (np. dodaj cmpGDPR equals 1 jako warunek).
  6. Zapisz grupę wyzwalającą i przypisz ją do tagu.

Wstrzymywanie / odkładanie zdarzeń dataLayer do momentu wyrażenia zgody: Blokada dataLayer

Blokada warstwy danych wstrzyma wszystkie zdarzenia wysyłane do GTM do momentu dokonania wyboru przez użytkownika.

Jeśli wystąpi zdarzenie, dataLayer Blocker automatycznie zapisze je w pamięci wewnętrznej i nie przekaże dalej do GTM. Dzięki temu system może zapewnić, że zdarzenia pojawiają się we właściwej kolejności (np. zdarzenia dotyczące zgody przed zdarzeniami PageView lub eCommerce). Gdy użytkownik dokona wyboru (np. zaakceptuje lub odrzuci), dataLayer Blocker automatycznie przekaże wszystkie zapisane zdarzenia do GTM, aby umożliwić GTM rozpoczęcie ich przetwarzania.

Aby włączyć blokadę warstwy danych, przejdź do Menu > CMP > Inne ustawienia i włącz opcję Włącz blokowanie warstwy danych.

Blokada warstwy danych + automatyczne kody blokujące

Jeśli korzystasz z automatycznych kodów blokujących, możesz włączyć blokadę warstwy danych zgodnie z opisem. Nie są wymagane żadne dodatkowe kroki.

Blokada warstwy danych + półautomatyczne kody blokujące (ręczne kody blokujące)

Jeśli korzystasz z kodów półautomatycznych (znanych również jako kody ręcznego blokowania), musisz włączyć blokadę warstwy danych (dataLayer Blocker) zgodnie z powyższym opisem i dodać następujący kod do swojej witryny:

<script type="application/javascript" src="https://cdn.consentmanager.net/delivery/js/datalayerblocker.min.js"></script>

Dodaj powyższy kod przed jakimkolwiek innym kodem stron trzecich na stronie <head>. Nie zmieniaj powyższego kodu i nie próbuj ładować go asynchronicznie ani z opóźnieniem.

Dodatkowa konfiguracja

Aby wpłynąć na działanie blokady warstwy danych (dataLayer Blocker), można użyć następujących zmiennych konfiguracyjnych po stronie klienta:

<script> 
 window.cmp_datalayername = "dataLayer2";
 // Set before the code load to change the name of the dataLayer variable
 
 window.cmp_datalayerprotectoverride = true;
 // Set before the code load to enable override protection (dataLayer variable cannot be reset by other codes)
 
 window.cmp_datalayerallowlist = ['event:abc','myname:*'];
 // Set before the code load to expend allowList of events that get passed through before user choise is made

</script>

Ponadto możesz wywołać adres URL strony z …?cmpnodatalayerblocker lub …#cmpnodatalayerblocker, aby tymczasowo wyłączyć funkcję blokady warstwy danych (np. podczas testowania).

Webinar/samouczek dotyczący wdrażania GTM

Uwaga: obecnie ten film instruktażowy jest dostępny tylko w języku niemieckim. Konfiguracja GTM zaczyna się około minuty 05:00 – 22:00. Jeśli nie korzystasz z trybu zgody Google, możesz pominąć resztę filmu.

 

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!