Konfigurowanie trybu uzyskiwania zgody w witrynach

Ta strona jest przeznaczona dla programistów, którzy mają w swojej witrynie własne rozwiązanie do uzyskiwania zgody użytkowników i chcą zintegrować je z trybem uzyskiwania zgody. Wprowadzenie do trybu uzyskiwania zgody znajdziesz w tym artykule. Jeśli do uzyskiwania zgody użytkowników korzystasz z platformy do zarządzania zgodą użytkowników (CMP), dowiedz się więcej o konfigurowaniu trybu uzyskiwania zgody za pomocą platformy CMP.

Tryb uzyskiwania zgody możesz wdrożyć w sposób podstawowy lub zaawansowany. Zapoznaj się z wytycznymi firmy, aby wybrać metodę implementacji i ustawić wartości domyślne. Dowiedz się więcej o podstawowym i zaawansowanym trybie uzyskiwania zgody.

Zanim zaczniesz

Przed wdrożeniem trybu uzyskiwania zgody weź pod uwagę te kwestie:

  • Jeśli korzystasz z Menedżera tagów i chcesz zachować własny baner, zalecamy wczytywanie go za pomocą kontenera Menedżera tagów. Aby to zrobić, musisz utworzyć szablon trybu uzyskiwania zgody. Możesz też użyć szablonu trybu uzyskiwania zgody z Galerii szablonów społeczności.

  • Jeśli używasz tagu gtag.js, upewnij się, że tag Google jest zainstalowany na każdej stronie witryny. Kod trybu uzyskiwania zgody jest dodawany do każdej strony witryny.

Aby skonfigurować tryb uzyskiwania zgody, musisz:
  1. Zanim użytkownik wyrazi zgodę: ustaw domyślny stan zgody.
  2. Aktualizuj stan zgody na podstawie interakcji użytkownika z ustawieniami zgody.

Ustaw wartość domyślną dla każdego używanego rodzaju zgody. Domyślnie nie są ustawione żadne wartości trybu uzyskiwania zgody.

Sprawdzoną metodą jest określenie zakresu domyślnych ustawień dotyczących zgody na przetwarzanie danych w regionach, w których wyświetlasz użytkownikom banery z prośbą o zgodę na przetwarzanie danych. Pomaga to zachować pomiary skuteczności reklam w regionach, w których wymagane są takie banery, a tagi Google odpowiednio dostosowują swoje działanie. Zapobiega to też utracie danych pomiarowych tam, gdzie nie ma banerów z prośbą o zgodę na przetwarzanie danych lub gdzie nie mają one zastosowania. Zobacz zachowanie w poszczególnych regionach.

gtag.js

Aby dostosować domyślne możliwości pomiarowe, wywołaj polecenie gtag('consent', 'default', ...) na każdej stronie witryny przed poleceniami, które wysyłają dane pomiarowe (np. config lub event).

Aby na przykład domyślnie ustawić odmowę zgody dla wszystkich parametrów:

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied'
});

Opcjonalnie: integracja z asynchronicznymi platformami do zarządzania zgodą użytkowników

Jeśli baner wczytuje się asynchronicznie, jego działanie może nie zawsze wyprzedzać tagi Google. Aby sobie z tym poradzić, określ parametr wait_for_update wraz z wartością w milisekundach, aby kontrolować czas oczekiwania przed wysłaniem danych.

Aby na przykład domyślnie odrzucać ad_storage na konkretnej stronie, ale zezwalać platformie CMP na aktualizowanie stanu zgody, użyj wait_for_update. W poniższym kodzie wartość domyślna ad_storage to denied, a narzędzie do uzyskiwania zgody ma 500 milisekund na wywołanie funkcji gtag('consent', 'update', ...) przed uruchomieniem tagów:

  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'wait_for_update': 500
  });

Menedżer tagów

Jeśli używasz Menedżera tagów Google, utwórz własny szablon za pomocą interfejsów API trybu uzyskiwania zgody GTM. Skorzystaj z tego przykładu jako punktu wyjściowego.

Do zarządzania stanami zgody użytkownika używaj interfejsów API przeznaczonych dla Menedżera tagówsetDefaultConsentStateupdateConsentState. Interfejs gtagSet API może być używany do opcjonalnego ustawiania ads_data_redaction i ustawień przekazywania adresu URL.

gtag.js

Aby wysłać stan zgody użytkownika, użyj polecenia update. Tryb uzyskiwania zgody nie zapisuje wyborów użytkownika dotyczących zgody, dlatego aktualizuj stan zgody, gdy tylko użytkownik wejdzie w interakcję z platformą do zarządzania zgodą. Gdy użytkownik wyrazi zgodę, zapisz jego wybór i na kolejnych stronach wywołuj odpowiednio polecenie update.

Od Ciebie zależy, czy dla wszystkich typów zgody ustawione są prawidłowe wartości. Pełne informacje o obsługiwanych typach znajdziesz w dokumentacji interfejsu API.

Poniższy przykład kodu pokazuje, jak zaktualizować stan zgody na granted, gdy użytkownik wyrazi zgodę na wszystkie opcje:

<script>
function allConsentGranted() {
  gtag('consent', 'update', {
    'ad_user_data': 'granted',
    'ad_personalization': 'granted',
    'ad_storage': 'granted',
    'analytics_storage': 'granted'
  });
}
</script>
<!-- Invoke your consent function when a user interacts with your banner -->
<body>
  ...
  <button onclick="allConsentGranted()">Yes</button>
  ...
</body>

Menedżer tagów

Jeśli używasz szablonu trybu uzyskiwania zgody, zgoda użytkownika powinna być automatycznie aktualizowana, gdy wejdzie on w interakcję z banerem.

Jeśli samodzielnie tworzysz szablon trybu uzyskiwania zgody, używaj interfejsów API Menedżera tagów do zarządzania stanami zgody użytkownika setDefaultConsentStateupdateConsentState. Interfejs gtagSet API może być używany do opcjonalnego ustawiania parametrów ads_data_redaction i przekazywania adresu URL.

Przykład wdrożenia

W tym przykładzie kilka parametrów trybu uzyskiwania zgody jest domyślnie ustawionych na denied. Gdy użytkownik wybierze opcje zgody, odpowiednie parametry zostaną zaktualizowane do wartości granted.

gtag.js

Kolejność kodu jest tutaj bardzo ważna. Jeśli kod zgody jest wywoływany w nieprawidłowej kolejności, domyślne ustawienia zgody nie będą działać. W zależności od wymagań biznesowych szczegóły mogą się różnić, ale ogólnie kod powinien być wykonywany w tej kolejności:

  1. Wczytaj tag Google. To jest domyślny kod fragmentu. Domyślny fragment kodu (patrz poniżej) należy zaktualizować, aby zawierał wywołanie funkcji gtag('consent', 'default', ...).

  2. Wczytaj rozwiązanie do uzyskiwania zgody. Jeśli Twoje rozwiązanie do uzyskiwania zgody użytkowników wczytuje się asynchronicznie, zapoznaj się z artykułem Integracja z asynchronicznymi platformami do zarządzania zgodą użytkowników, aby dowiedzieć się, jak zapewnić prawidłową kolejność wczytywania.

  3. Jeśli nie jest to obsługiwane przez Twoje rozwiązanie do uzyskiwania zgody użytkowników, wywołaj polecenie gtag('consent', 'update', ...) po tym, jak użytkownik wyrazi zgodę.

<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

// Set default consent to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied'
});
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID">
</script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  gtag('js', new Date());
  gtag('config', 'TAG_ID');
</script>

<!-- Create one update function for each consent parameter -->
<script>
  function consentGrantedAdStorage() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
  ...
  <button onclick="consentGrantedAdStorage">Yes</button>
  ...
</body>

Menedżer tagów

W przypadku witryn korzystających z Menedżera tagów zalecamy używanie platformy CMP do obsługi aktualizacji wyborów dotyczących zgody użytkowników. Platformy CMP udostępniają szablony w Galerii szablonów społeczności, aby umożliwić tworzenie tagów do zarządzania trybem uzyskiwania zgody.

Jeśli nie możesz użyć szablonu, zaktualizuj kod na stronie w ten sposób: Kolejność kodu jest tutaj bardzo ważna. Jeśli kod zgody zostanie wywołany w nieprawidłowej kolejności, domyślne ustawienia zgody nie będą działać.

<script>
  // Define dataLayer and the gtag function.
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Set default consent to 'denied' as a placeholder
  // Determine actual values based on your own requirements
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'analytics_storage': 'denied'
  });
</script>

<!-- Google Tag Manager -->
<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-XXXXXX');</script>
<!-- End Google Tag Manager -->

<!-- Create one update function for each consent parameter -->
<script>
  function consentGrantedAdStorage() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
  ...
  <button onclick="consentGrantedAdStorage()">Yes</button>
  ...
</body>

W ramach stałego budowania ekosystemu reklamy cyfrowej zapewniającego ochronę prywatności zaostrzamy egzekwowanie polityki w zakresie zgody użytkownika z UE.

Dowiedz się więcej o aktualizacjach trybu uzyskiwania zgody w przypadku ruchu w Europejskim Obszarze Gospodarczym.

Użytkownicy trybu uzyskiwania zgody muszą wysyłać 2 nowe parametry oprócz parametrów ad_storageanalytics_storage:

Nazwa pola Dozwolone wartości Opis
ad_user_data 'granted' | 'denied' Określa stan zgody na wysyłanie do Google danych użytkownika związanych z reklamami.
ad_personalization 'granted' | 'denied' Określa stan zgody na reklamy spersonalizowane.

Zaawansowane funkcje uzyskiwania zgody obejmują możliwość:

  • Określ, którym usługom Google udostępniasz dane, korzystając z interfejsu tagu Google.
  • Ustaw zachowanie dla regionu geograficznego.
  • Przekazywanie informacji o kliknięciu reklamy, identyfikatorze klienta i identyfikatorze sesji w adresach URL, gdy użytkownicy nie wyrazili zgody na pliki cookie.
  • Całkowicie usuwać informacje o reklamach, gdy użytkownicy nie wyrażą zgody na pliki cookie dotyczące reklam.

Działanie w zależności od regionu

Aby ustawić domyślne stany zgody, które będą stosowane do użytkowników z określonych obszarów, w poleceniu domyślnej zgody gtag określ region (zgodnie z ISO 3166-2). Używanie wartości regionu pozwala zachować zgodność z przepisami regionalnymi.

Możesz ustawić domyślne wartości dla określonych regionów, a potem ustawić inną wartość domyślną dla wszystkich pozostałych regionów. Polecenie domyślnej zgody tagu gtag bez parametru regionu ustawia domyślny stan zgody dla wszystkich użytkowników, których nie obejmuje inne polecenie dotyczące konkretnego regionu.

gtag.js

W tym przykładzie ustawiamy wartość analytics_storage na denied w przypadku użytkowników z Hiszpanii i Alaski, a wartość ad_storage na denied w przypadku wszystkich użytkowników.

  gtag('consent', 'default', {
    'analytics_storage': 'denied',
    'region': ['ES', 'US-AK']
  });

  gtag('consent', 'default', {
    'ad_storage': 'denied'
  });

Menedżer tagów

Jeśli do utworzenia tagu używasz szablonu, może on zawierać elementy sterujące, które umożliwiają ustawienie zachowania w określonych regionach. Jeśli tworzysz tag szablonu samodzielnie, więcej informacji o konfigurowaniu zachowania w określonych regionach znajdziesz w artykule Tworzenie szablonu trybu uzyskiwania zgody.

Pierwszeństwo ma najbardziej szczegółowy parametr

Jeśli na tej samej stronie występują 2 domyślne polecenia dotyczące zgody użytkownika z wartościami dla regionu i podregionu, obowiązuje polecenie z bardziej szczegółowym regionem. Jeśli na przykład w przypadku regionu Stany Zjednoczone masz ustawioną wartość ad_storage, a w przypadku regionu Stany Zjednoczone – Kalifornia wartość denied, w przypadku użytkownika z Kalifornii będzie obowiązywać bardziej szczegółowe ustawienie dotyczące regionu Stany Zjednoczone – Kalifornia.ad_storagegranted W tym przykładzie oznaczałoby to, że w przypadku użytkownika z US-CA wartość ad_storage zostanie ustawiona na denied.

Region ad_storage Zachowanie
US 'granted' Dotyczy użytkowników w Stanach Zjednoczonych, którzy nie mieszkają w Kalifornii.
US-CA 'denied' Dotyczy użytkowników z USA (Kalifornia)
Nie określono 'granted' Używa wartości domyślnej 'granted'. W tym przykładzie warunek dotyczy użytkowników, którzy nie znajdują się w Stanach Zjednoczonych ani w Kalifornii.

Przekazywanie w adresach URL informacji o kliknięciu reklamy, identyfikatorze klienta i identyfikatorze sesji

Gdy użytkownik wejdzie na Twoją stronę internetową po kliknięciu reklamy, informacje o tej reklamie mogą zostać dodane do adresów URL stron docelowych jako parametr zapytania. Aby zwiększyć dokładność kluczowych zdarzeń, te informacje są zwykle przechowywane we własnych plikach cookie w Twojej domenie.

Jeśli jednak parametr ad_storage ma wartość denied, te informacje nie będą przechowywane lokalnie. Aby poprawić jakość pomiaru kliknięć reklam, gdy wartość parametru ad_storage to denied, możesz opcjonalnie przekazywać informacje o kliknięciach reklam za pomocą parametrów adresu URL na kolejne strony, korzystając z przekazywania adresu URL.

Podobnie, jeśli parametr analytics_storage ma wartość denied, przekazywanie adresu URL może służyć do wysyłania na różnych stronach danych analitycznych opartych na zdarzeniach i sesjach (w tym kluczowych zdarzeń) bez użycia plików cookie.

Aby korzystać z przekazywania adresu URL, musisz spełnić te warunki:

  • Tag Google uwzględnia sygnały dotyczące zgody użytkowników i znajduje się na stronie.
  • Reklamodawca włączył funkcję przekazywania danych w adresie URL.
  • Na stronie jest wdrożony tryb uzyskiwania zgody.
  • Link wychodzący odnosi się do tej samej domeny co domena bieżącej strony.
  • W adresie URL występuje identyfikator GCLID lub DCLID (tylko tagi Google Ads i Floodlight)

gtag.js

Aby włączyć tę funkcję, ustaw parametr url_passthrough na true. Dodaj to polecenie do domyślnego fragmentu kodu przed wszystkimi poleceniami config:

gtag('set', 'url_passthrough', true);

Menedżer tagów

Jeśli do utworzenia tagu używasz szablonu, może on zawierać elementy sterujące, które umożliwiają ustawienie przekazywania adresu URL. Jeśli tworzysz szablon tagu samodzielnie, więcej informacji o ustawianiu przekazywania adresu URL za pomocą gtagSetinterfejsu API szablonu niestandardowego znajdziesz w artykule Tworzenie szablonu trybu uzyskiwania zgody.

Możesz też użyć tych opcji, aby ustawić go w tagach łączących konwersje lub tagach analitycznych.

W przypadku tagów Google AdsFloodlight:

Aby włączyć tę funkcję, utwórz (lub użyj istniejącego) tagu łączącego konwersje i upewnij się, że jest zaznaczone pole Włącz opcję łączenia w adresach URL wszystkich stron. Instrukcje tworzenia tagu łączącego konwersje znajdziesz w sekcji podstawowa konfiguracja.

W przypadku tagów Google Analytics:

  1. W Menedżerze tagów kliknij Pola do ustawienia i wybierz **Konfiguracja tagu.

    Pola do ustawienia**.

    1. Gdy sekcja Pola do ustawienia zostanie rozwinięta, kliknij Dodaj wiersz.
    2. W polu Nazwa pola wpisz url_passthrough.
    3. W polu Wartość wpisz „true”.
    4. Zapisz tag i opublikuj go.

    Możesz też ustawić parametr url_passthrough na true na każdej stronie witryny przed fragmentem kodu instalacyjnego GTM.

    window.dataLayer = window.dataLayer || [];
    function gtag(){window.dataLayer.push(arguments);}
    gtag('set', 'url_passthrough', true);
    

    Gdy używasz przekazywania URL, do linków mogą być dołączane parametry zapytań, gdy użytkownicy przeglądają strony w Twojej witrynie:

    • gclid
    • dclid
    • gclsrc
    • _gl
    • wbraid

    Aby uzyskać najlepsze wyniki:

    1. Przekierowania w Twojej witrynie przekazują wszystkie powyższe parametry zapytań.
    2. Narzędzia analityczne ignorują te parametry w adresach URL stron.
    3. Te parametry nie wpływają na działanie witryny.

Usuwanie danych reklam

Gdy wartość ad_storage to denied, nowe pliki cookie nie będą ustawiane do celów reklamowych. Dodatkowo pliki cookie firm zewnętrznych ustawione wcześniej na stronach google.com i doubleclick.net nie będą używane, z wyjątkiem celów związanych ze spamem i oszustwami. Dane wysyłane do Google będą nadal zawierać pełny adres URL strony, w tym informacje o kliknięciu reklamy w parametrach adresu URL.

gtag.js

Aby dodatkowo zredagować dane reklam, gdy ad_storage ma wartość denied, ustaw ads_data_redaction na true.

gtag('set', 'ads_data_redaction', true);

Gdy ads_data_redaction ma wartość true, a ad_storage ma wartość denied, identyfikatory kliknięć reklam wysyłane w żądaniach sieciowych przez tagi Google Ads i Floodlight będą redagowane. Żądania sieciowe będą też wysyłane przez domenę bez plików cookie.

Menedżer tagów

Jeśli do tworzenia tagu używasz szablonu, może on zawierać elementy sterujące, które pozwalają na dalsze redagowanie danych reklam. Jeśli tworzysz szablon tagu samodzielnie, więcej informacji o redagowaniu danych o reklamach znajdziesz w artykule Tworzenie szablonu trybu uzyskiwania zgody.

Typowe problemy

Gdy wdrażasz zaawansowany tryb uzyskiwania zgody, musisz wywołać polecenie aktualizacji na stronie, na której użytkownik wyraża zgodę.

Gdy strona wczytuje się z odmową zgody, a potem po zmianie zgody wczytuje się ponownie ze zgodą, tagi Google mogą utracić kluczowe punkty danych z pierwotnej strony. Kolejne raporty mogą być niepełne.

Na przykład w Google Analytics w przypadku wielu sesji objętych zgodą użytkowników może brakować zdarzenia session_start.

Aby uniknąć tego problemu, wywołuj polecenie aktualizacji za każdym razem, gdy zmieni się stan zgody użytkownika.

W niektórych przypadkach, gdy typ zgody zmieni się ze stanu „odmowa” na „zgoda”, tagi Google mogą wysyłać pomiary na podstawie tej zmiany. Jeśli polecenie aktualizacji zostanie wywołane podczas zamykania strony, przeglądarka może anulować ten ruch sieciowy przed jego zakończeniem. Kolejne raporty mogą być niepełne.

Jeśli to możliwe, zadbaj o to, aby polecenia aktualizacji były rejestrowane na długo przed zamknięciem strony.

Dalsze kroki

Ustawienia starszej wersji tagów

Jeśli używasz starszych tagów, takich jak ga.js, analytics.js lub conversion.js, zaktualizuj je do tagu gtag.js lub zacznij korzystać z Menedżera tagów Google.

Więcej informacji o innych ustawieniach prywatności starszych tagów znajdziesz w tych dokumentach: