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.
Konfigurowanie trybu uzyskiwania zgody
Aby skonfigurować tryb uzyskiwania zgody, musisz:- Zanim użytkownik wyrazi zgodę: ustaw domyślny stan zgody.
- Zaktualizuj stan zgody na podstawie interakcji użytkownika z ustawieniami zgody.
Ustawianie domyślnego stanu zgody użytkownika
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 setDefaultConsentState
i updateConsentState
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.
Aktualizacja stanu zgody
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 setDefaultConsentState
i updateConsentState
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:
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', ...)
.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ść.
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>
Przejście na tryb uzyskiwania zgody w wersji 2
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_storage
i analytics_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. |
Więcej funkcji trybu uzyskiwania zgody
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_storage
granted
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:
- W Menedżerze tagów kliknij kolejno Pola do ustawienia i Konfiguracja tagu > Pola do ustawienia.
- Gdy rozwiniesz sekcję Pola do ustawienia, kliknij Dodaj wiersz.
- W polu Nazwa pola wpisz
url_passthrough
. - W polu Wartość wpisz „prawda”.
- 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:
- Przekierowania w Twojej witrynie przekazują wszystkie powyższe parametry zapytań.
- Narzędzia analityczne ignorują te parametry w adresach URL stron.
- 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
Brak aktualizacji zgody na stronie przejściowej
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.
Zgoda została zaktualizowana tuż przed ponownym załadowaniem strony
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: