Denne funktion er en del af en åben betaversion og kan blive ændret.
Denne vejledning er til administratorer og redaktører, der gerne vil have flere oplysninger om, hvordan de konfigurerer kodestykket til indsamling af brugergenererede data på deres website via Google Tag Manager.
Når du opdaterer din kode sammenlignet med de andre konfigurationsmuligheder, er du med til at sikre, at mailadresser, telefonnumre,/eller navne og adresser er tilgængelige på siden, når Analytics indsamler brugergenererede data.
Oversigt
Følg denne fremgangsmåde for at konfigurere kodestykket ved hjælp af Google Tag Manager:
- Identificer og definer felter med brugergenererede data i din websitekode
- Overfør hvert felt med brugergenererede data i en tilpasset JavaScript-variabel til Google Analytics
Bemærk! Du kan sende hashkrypterede eller ikke-hashkrypterede kundedata til Google Analytics. Når du sender ikke-hashkrypterede data, hashkrypterer Google dataene for dig, inden de gemmes på Googles servere. Du kan dog også hashkryptere dataene, før du sender dem til Google.
Inden du går i gang
Denne vejledning tager udgangspunkt i, at du har følgende:
- Adgang til kildekoden på dit website
- Indsamling af brugergenererede data og tilladte brug af brugergenererede data er aktiveret
- Konfigurer et Google Analytics: GA4-hændelsestag i din Google Tag Manager-container
- Rollen Administrator på Google Analytics-ejendommen
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. |
Opdater hændelsestagget med en tilpasset JavaScript-variabel
Før du opdaterer din Tag Manager-container, skal du læse om, hvordan du opdaterer den tilpassede JavaScript-kode, du føjer til din container.
- Log ind på Google Tag Manager.
- Klik på Tags til venstre på fanen Arbejdsområde.
- Åbn hændelsestagget for Google Analytics: GA4, hvor du indsamler kundedata. Sørg for, at hændelsestagget bruger målings-id'et for den webstrøm, hvor brugerdataene indsamles.
- Udvid sektionen Hændelsesparametre, og klik på Tilføj parameter.
- Angiv
user_datai feltet "Hændelsesparameter". - Vælg eller opret en variabel for brugergenererede data i feltet "Værdi".
- Hvis du opretter en ny variabel, skal du vælge Kode i variablen brugergenererede data.
- Klik på Ny variabel ... på rullemenuen Datakilde.
- Klik på Variabelkonfiguration > Tilpasset JavaScript.
- Angiv et navn på den tilpassede JavaScript-variabel øverst på siden.
- Angiv kodestykket i tekstfeltet Tilpasset JavaScript. Se, hvordan du gør.
- Gem de nye variabler, og gem derefter hændelsestagget.
- Klik på Send øverst til højre for at offentliggøre ændringerne.
Opret kodestykket til indsamling af brugergenererede data
Du kan bruge følgende kode, når du konfigurerer den tilpassede JavaScript-variabel i trin 10:
function () {
return {
"mail": yourEmailVariable , // erstat yourEmailVariable med det variabelnavn, der registrerer din brugers mailadresse
"phone_number": yourPhoneVariable , // gentag dette for yourPhoneVariable og følgende variabelnavne nedenfor
"address": {
"first_name": yourFirstNameVariable ,
"last_name": yourLastNameVariable ,
"street": yourStreetAddressVariable ,
"city": yourCityVariable ,
"region": yourRegionVariable ,
"postal_code": yourPostalCodeVariable ,
"country": yourCountryVariable
}
}
}
Alternativt kan du lave fikseret kodning af feltet med en streng eller bruge en funktion i stedet for variabler.
// Implement
<script>
gtag('set', 'user_data', {"sha256_email_address": yourNormalizedandHashedEmailVariable,"sha256_phone_number": yourNormalizedandHashedPhoneVariable,"address": {"address.sha256_first_name": yourNormalizedandHashedFirstNameVariable,"address.sha256_last_name": yourNormalizedandHashedLastNameVariable,"city": yourCityVariable,"region": yourRegionVariable,"postal_code": yourPostalCodeVariable,"country": yourCountryVariable}
});
</script>Hvis du vil angive hashkrypterede brugerdataværdier, kan du bruge følgende eksempelkodestykke:
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;Telefonnummeret skal være i E.164-format, hvilket betyder, at det skal være på 11 til 15 cifre, inklusive et plustegn (+) og en landekode, uden bindestreger, parenteser eller mellemrum.
Next steps
Validate that user-provided data collection is set up correctly. Show me how.