Ta funkcja jest dostępna w ramach otwartej wersji beta i może ulec zmianie.
Te instrukcje są przeznaczone dla administratorów i edytujących, którzy chcą się dowiedzieć, jak za pomocą Menedżera tagów Google skonfigurować fragment kodu służący do zbierania w witrynie danych przekazywanych przez użytkowników.
W porównaniu z innymi opcjami konfiguracji aktualizowanie kodu daje większą pewność, że adresy e-mail, numery telefonów lub imiona i nazwiska oraz adresy pocztowe są dostępne na stronie, gdy Analytics zbiera dane przekazywane przez użytkowników.
Przegląd
Aby skonfigurować fragment kodu za pomocą Menedżera tagów Google:
- Oznacz i zdefiniuj w kodzie witryny pola danych przekazywanych przez użytkowników.
- Wysyłaj do Google Analytics każde pole danych przekazywanych przez użytkowników w ramach niestandardowej zmiennej JavaScriptu.
Uwaga: do Google Analytics możesz wysyłać zaszyfrowane lub niezaszyfrowane dane klientów. Gdy przesyłasz niezaszyfrowane dane, szyfrujemy je za Ciebie przed zapisaniem na naszych serwerach. Możesz też zaszyfrować dane po swojej stronie przed ich wysłaniem do nas.
Zanim zaczniesz
W tych instrukcjach przyjęto, że masz:
- dostęp do kodu źródłowego swojej witryny,
- włączone zbieranie danych przekazywanych przez użytkowników i zgodę na korzystanie z tych danych,
- skonfigurowany w kontenerze Menedżera tagów Google tag Google Analytics: zdarzenie GA4,
- rolę Administrator w usłudze w Google Analytics.
Hashing the data
You can send hashed or unhashed data from a website. If you send unhashed data, Google normalizes and hashes the data before the data reaches Google's servers. To ensure Analytics interprets the data correctly and to comply with the User-provided data policy, you must use the correct key name (in the next section).
To hash the data:
- Use hex SHA256.
To normalize the data:
- Remove leading or trailing whitespaces.
- Convert the text to lowercase.
- Format phone numbers according to the E.164 standard.
Defining the fields in your code
You must provide at least one of these fields:
- Email (preferred).
- Address (first name, last name, postal code, and country are required). You can optionally provide street address, city, and region as additional match keys.
- A phone number can also be provided along with an email or full name and address.
Make sure the data is available when the Google tag fires. If the data is collected on a previous page, make sure it’s available in your code on the current page so you can configure the field.
Fields to set
The following table describes each field you can set. The key name shows how you must reference the field in your code. You must pass the data as a String type. When defining name and address, make sure to define each component as an individual variable (for example, first name, last name, and so on).
Note: If you want to send unhashed data and let Google normalize and hash the data, use the first key name for each data field. For example, email in the Email address data field below. If you want to send hashed data, use the key name that begins with sha256_.
| Data Field | Key Name | Description |
|---|---|---|
| Email address | email |
User email. Example: ‘jdoe@example.com’ |
sha256_email_address |
Hashed user email. Example: ‘a8af8341993604f29cd4e0e5a5a4b5d48c575436c38b28abbfd7d481f345d5db’ |
|
| Phone number | phone_number |
User phone number. Must be in E.164 format, which means it must be 11 to 15 digits including a plus sign (+) prefix and country code with no dashes, parentheses, or spaces. Example: ‘+11231234567’ |
sha256_phone_number |
Hashed user phone number. Example: ‘e9d3eef677f9a3b19820f92696be53d646ac4cea500e5f8fd08b00bc6ac773b1’ |
|
| First name | address.first_name |
User first name. Example: 'John' |
address.sha256_first_name |
Hashed user first name. Example: ‘96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a’ |
|
| Surname | address.last_name |
User last name. Example: 'Doe' |
address.sha256_last_name |
Hashed user last name. Example: ‘799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f’ |
|
| Street address | address.street |
User street address. Example: '123 New Rd' |
| City | address.city |
User city name. Example: `Southampton’ |
| Region | address.region |
User province, state, or region. Example: `Hampshire’ |
| Postal code | address.postal_code |
User post code. Example: 'SO99 9XX' |
| Country | address.country |
User country code. Example: 'UK'. Use 2-letter country codes, per the ISO 3166-1 alpha-2 standard. |
Dodawanie do tagu zdarzenia niestandardowej zmiennej JavaScriptu
Zanim wprowadzisz zmiany w kontenerze Menedżera tagów, przeczytaj, jak zaktualizować niestandardowy kod JavaScriptu, który chcesz dodać do kontenera.
- Zaloguj się w Menedżerze tagów Google.
- Na karcie Obszar roboczy kliknij po lewej stronie Tagi.
- Otwórz tag Google Analytics: zdarzenie GA4, za którego pomocą zbierasz dane o klientach. Upewnij się, że tag zdarzenia używa identyfikatora pomiaru dla strumienia danych z sieci, który służy do zbierania danych użytkowników.
- Rozwiń sekcję Parametry zdarzenia i kliknij Dodaj parametr.
- W polu „Parametr zdarzenia” wpisz
user_data. - W polu „Wartość” wybierz lub utwórz zmienną danych przekazywanych przez użytkowników.
- Jeśli tworzysz nową zmienną danych przekazywanych przez użytkowników, kliknij Kod.
- W menu Źródło danych kliknij Nowa zmienna…
- Kliknij Konfiguracja zmiennej > Niestandardowy kod JavaScript.
- U góry strony wpisz nazwę niestandardowej zmiennej JavaScriptu.
- W polu tekstowym Niestandardowy kod JavaScript wpisz fragment kodu Więcej informacji
- Zapisz nowe zmienne, a potem zapisz tag zdarzenia.
- Aby opublikować zmiany, w prawym górnym rogu kliknij Prześlij.
Tworzenie fragmentu kodu na potrzeby zbierania danych przekazywanych przez użytkowników
Podczas konfigurowania niestandardowej zmiennej JavaScriptu w kroku 10 możesz użyć tego kodu:
function () {
return {
"email": yourEmailVariable , // Zamiast ciągu „twojaZmiennaAdresuE-mail” wstaw faktyczną nazwę zmiennej JavaScriptu, w której przechowujesz dane adresu e-mail użytkownika
"phone_number": yourPhoneVariable , // Powtórz to samo w przypadku ciągu „twojaZmiennaNumeruTelefonu” i kolejnych zmiennych poniżej
"address": {
"first_name": yourFirstNameVariable ,
"last_name": yourLastNameVariable ,
"street": yourStreetAddressVariable,
"city": yourCityVariable,
"region": yourRegionVariable,
"postal_code": yourPostalCodeVariable,
"country": yourCountryVariable
}
}
}
To pole możesz też zakodować na stałe ciągiem tekstowym lub użyć funkcji zamiast zmiennych.
// Implementacja
<script>
gtag('set', 'user_data', {"sha256_email_address": twojaZnormalizowanaIzaszyfrowanaZmiennaAdresuE-mail,"sha256_phone_number": twojaZnormalizowanaIzaszyfrowanaZmiennaNumeruTelefonu,"address": {"address.sha256_first_name": twojaZnormalizowanaIzaszyfrowanaZmiennaImienia,"address.sha256_last_name": twojaZnormalizowanaIzaszyfrowanaZmiennaNazwiska,"city": twojaZmiennaMiasta,"region": twojaZmiennaRegionu,"postal_code": twojaZmiennaKoduPocztowego,"country": twojaZmiennaKraju}
});
</script>Jeśli chcesz podać zaszyfrowane wartości danych użytkownika, możesz użyć tego przykładowego fragmentu kodu:
async function processUserData() {
const userData = {'sha256_email_address': await hashEmail(email.trim()),'sha256_phone_number': await hashPhoneNumber(phoneNumber),'address': {'address.sha256_first_name': await hashName(firstName),'address.sha256_last_name': await hashName(lastName),'city': city,'region': region,'postal_code': postalCode,'country': country,},
};
return userData;Numer telefonu musi mieć format E.164, co oznacza, że powinien zawierać od 11 do 15 znaków, w tym znak plusa (+) i kod kraju, bez myślników, nawiasów ani spacji.
Next steps
Validate that user-provided data collection is set up correctly. Show me how.