Konfigurowanie trybu uzyskiwania zgody w witrynach

Ta strona jest przeznaczona dla deweloperów, którzy w swojej witrynie mają własne rozwiązanie do uzyskiwania zgody i chcą zintegrować tryb uzyskiwania zgody. Więcej informacji o trybie 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ą CMP.

Tryb uzyskiwania zgody możesz wdrożyć na 2 sposoby: podstawowy albo zaawansowany. Aby wybrać metodę implementacji i ustawienia domyślne, zapoznaj się z wytycznymi swojej firmy. 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 używasz 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 zgody z Galerii szablonów społeczności.

  • Jeśli używasz tagu gtag.js, sprawdź, czy jest on 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. Zaktualizuj stan zgody na podstawie interakcji użytkownika z ustawieniami zgody.

Ustaw wartość domyślną dla każdego typu zgody, którego używasz. 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 użytkowników w poszczególnych regionach.

gtag.js

Aby dostosować domyślne funkcje 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 odmówić zgody na wszystkie parametry:

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

Opcjonalnie: integracja z platformami do zarządzania zgodą użytkowników działającymi asynchronicznie

Jeśli baner wczytuje się asynchronicznie, może nie zawsze działać przed tagami Google. Aby sobie z tym poradzić, podaj parametr wait_for_update wraz z wartością w milisekundach, która określa, jak długo ma trwać oczekiwanie na wysłanie danych.

Jeśli na przykład chcesz domyślnie odrzucić ad_storage na określonej stronie, ale zezwolić platformie CMP na aktualizowanie stanu zgody, użyj atrybutu wait_for_update. W tym kodzie wartość domyślna zmiennej 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 Menedżera tagów dotyczących zgody. Skorzystaj z poniższego przykładu jako punktu wyjściowego.

Do zarządzania stanami zgody setDefaultConsentStateupdateConsentState używaj interfejsów API Menedżera tagów. Interfejsu API gtagSet można użyć do opcjonalnego ustawienia odpowiednich ustawień ads_data_redaction i przekazywania adresów URL.

gtag.js

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

To Twoja odpowiedzialność, aby ustawić prawidłowe wartości dla wszystkich typów zgody. 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 po jego interakcji z banerem.

Jeśli samodzielnie tworzysz szablon trybu uzyskiwania zgody, do zarządzania stanami zgody setDefaultConsentStateupdateConsentState używaj interfejsów API Menedżera tagów. Interfejs API gtagSet umożliwia opcjonalne ustawienie parametrów ads_data_redaction i przekazywania adresu URL.

Przykład implementacji

W tym przykładzie domyślnie ustawiamy parametry trybu uzyskiwania zgody na wartość denied. Gdy użytkownik wyrazi zgodę, odpowiednie parametry zostaną zaktualizowane na granted.

gtag.js

Kolejność kodu ma kluczowe znaczenie. Jeśli kod zgody jest wywoływany w nieprawidłowym porządku, 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. Oto domyślny kod fragmentu kodu. Domyślny fragment kodu należy zaktualizować (patrz poniżej), aby zawierał wywołanie funkcji gtag('consent', 'default', ...).

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

  3. Jeśli rozwiązanie do zarządzania zgodami nie obsługuje tego, wywołaj polecenie gtag('consent', 'update', ...) po udzieleniu zgody przez użytkownika.

<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żytkownika. Platformy CMP udostępniają w Galerii szablonów społeczności szablony do tworzenia tagów do zarządzania trybem uzyskiwania zgody.

Jeśli nie możesz użyć szablonu, możesz zaktualizować kod na stronie w ten sposób: Kolejność kodu ma kluczowe znaczenie. Jeśli kod zgody jest wywoływany w nieprawidłowym porządku, 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 w trybie uzyskiwania zgody muszą oprócz parametrów ad_storageanalytics_storage przesyłać 2 nowe parametry:

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ą:

  • Określ, z którymi usługami Google chcesz udostępniać 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 odmówią zgody na pliki cookie dotyczące reklam.

Zachowanie zależne od regionu

Aby zmienić domyślne działanie tagów w przypadku użytkowników z określonych regionów, określ region w prośbie o zgodę. Podając wartość regionu, możesz dostosować ustawienia domyślne na podstawie lokalizacji geograficznej użytkowników. Więcej informacji o identyfikacji regionów znajdziesz w artykule Geographical IDs (w języku angielskim).

gtag.js

W tym przykładzie parametr analytics_storage ma wartość denied dla użytkowników z Hiszpanii i Alaski, a parametr ad_storage ma wartość denied dla 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 tworzenia tagów używasz szablonu, może on zawierać opcje umożliwiające konfigurowanie działania tagu w poszczególnych regionach. Jeśli samodzielnie tworzysz tag szablonu, zapoznaj się z artykułem Tworzenie szablonu trybu uzyskiwania zgody, aby dowiedzieć się więcej o ustawianiu zachowania zależnego od regionu.

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, zadziała to, które dotyczy bardziej szczegółowego regionu. Jeśli np. w przypadku regionu US ustawisz wartość ad_storage, a w przypadku regionu US-CA – wartość denied, użytkownik z Kalifornii będzie widzieć bardziej szczegółowe ustawienie US-CA.ad_storagegranted W tym przykładzie oznaczałoby to, że użytkownik z USA-CA miałby wartość ad_storage ustawioną na denied.

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

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

Gdy użytkownik kliknie reklamę i przejdzie na Twoją witrynę, informacje o niej mogą zostać dodane do adresów URL stron docelowych jako parametry 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 ad_storage to denied, możesz opcjonalnie przekazać informacje o kliknięciach reklam za pomocą parametrów adresu URL na kolejnych stronach za pomocą przekazywania adresu URL.

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

Aby korzystać z przekazywania adresów URL, musisz spełnić te warunki:

  • Tag Google jest dostępny na stronie i uwzględnia zgodę użytkownika.
  • Reklamodawca ma włączoną funkcję przekazywania danych w adresie URL.
  • Tryb uzyskiwania zgody został wdrożony na stronie.
  • Link wychodzący odnosi się do domeny, która jest taka sama jak domena bieżącej strony.
  • W adresie URL występuje identyfikator GCLID lub DCLID (dotyczy to tylko tagów 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 dowolnym poleceniem 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 umożliwiające stosowanie przekierowania adresu URL. Jeśli samodzielnie tworzysz szablon tagu, zapoznaj się z artykułem Tworzenie szablonu trybu uzyskiwania zgody, aby dowiedzieć się więcej o konfigurowaniu przesyłania dalej adresu URL za pomocą interfejsu API niestandardowego szablonu gtagSet.

Możesz też ustawić go w tagu łączącym konwersje lub w tagach Analytics, korzystając z tych opcji:

W przypadku tagów Google Ads i Floodlight:

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

W przypadku tagów Google Analytics:

  1. W Menedżerze tagów kliknij kolejno Pola do ustawieniaKonfiguracja tagu > Pola do ustawienia.
  2. Gdy rozwiniesz sekcję Pola do ustawienia, kliknij Dodaj wiersz.
  3. W polu Nazwa pola wpisz url_passthrough.
  4. W polu Wartość wpisz „prawda”.
  5. Zapisz tag i opublikuj go.

Możesz też ustawić parametr url_passthrough na true na każdej stronie witryny przed fragmentem kodu 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 pewne parametry zapytań, gdy użytkownicy przechodzą przez strony w Twojej witrynie:

  • gclid
  • dclid
  • gclsrc
  • _gl
  • wbraid

Aby uzyskać najlepsze wyniki, pamiętaj o tych kwestiach:

  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

Jeśli ad_storage ma wartość denied, nowe pliki cookie nie będą ustawiane na potrzeby reklam. Dodatkowo pliki cookie firm zewnętrznych ustawione wcześniej na stronach google.com i doubleclick.net nie będą używane, z wyjątkiem przypadkó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ęciach reklam w parametrach adresu URL.

gtag.js

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

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

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

Menedżer tagów

Jeśli do utworzenia tagu używasz szablonu, może on zawierać opcje umożliwiające dalsze zamazywanie danych reklam. Jeśli samodzielnie tworzysz szablon tagu, zapoznaj się z artykułem Tworzenie szablonu trybu uzyskiwania zgody, aby dowiedzieć się więcej o wycinaniu danych reklam.

Typowe problemy

Gdy wdrażasz zaawansowany tryb uzyskiwania zgody, wywołuj polecenie aktualizacji na stronie, na której użytkownik udziela zgody.

Gdy strona wczytuje się z odmową zgody, a potem po zmianie zgody wczytuje się ponownie z wyrazem zgody, 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 z uzyskaną zgodą może brakować zdarzenia session_start.

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

W niektórych przypadkach, gdy typ zgody zmieni się z odmowy na zgodę, tagi Google mogą wysyłać pomiary na podstawie tej zmiany. Jeśli polecenie aktualizacji jest wywoływane podczas wylogowywania się z witryny, przeglądarka może anulować ten ruch sieciowy, zanim zostanie on zakończony. Kolejne raporty mogą być niepełne.

Jeśli to możliwe, upewnij się, że polecenia aktualizacji są rejestrowane odpowiednio wcześniej, zanim strona zostanie wczytana.

Dalsze kroki

Starsze ustawienia tagów

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

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