This feature is part of an open beta. Keep in mind that the feature is subject to change.
以下の手順は、ウェブサイトでユーザー提供データの収集を行うためのコード スニペットを Google タグ マネージャーで設定する方法を習得したいとお考えの管理者と編集者を対象としています。
コードを更新すると、他の設定オプションと比較して、アナリティクスでユーザー提供データが収集される際に、メールアドレス、電話番号や、名前、住所をページで使用しやすくなります。
概要
Google タグ マネージャーを使ってコード スニペットを設定する手順は次のとおりです。
- ウェブサイトのコードでユーザー提供データのフィールドを特定および定義する
- カスタム JavaScript 変数を使ってユーザー提供データの各フィールドを Google アナリティクスに渡す
注: Google アナリティクスにはハッシュ化された顧客データを送信することも、ハッシュ化されていない顧客データを送信することもできます。ハッシュ化されていないデータを送信した場合、Google のサーバーに保存される前に、データが自動的にハッシュ化されます。ただし、Google にデータを送信する前に、お客様ご自身でデータをハッシュ化していただくこともできます。
始める前に
この手順は、以下の条件を満たしていることを前提としています。
- ウェブサイトのソースコードへのアクセス権が付与されている
- ユーザー提供データの収集を有効にし、ユーザー提供データ機能を許可している
- Google タグ マネージャーのコンテナで [Google アナリティクス: GA4 イベント] タグを設定している
- Google アナリティクス プロパティの管理者の役割を持っている
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: ‘[email protected]’ |
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. |
カスタム JavaScript 変数を使ってイベントタグを更新する
タグ マネージャー コンテナを更新する前に、コンテナに追加するカスタム JavaScript コードを更新する方法をご確認ください。
- Google タグ マネージャーにログインします。
- [ワークスペース] タブで、左側の [タグ] をクリックします。
- 顧客データを収集する [Google アナリティクス: GA4 イベント] タグを開き、イベントタグで、ユーザーデータが収集されるウェブ ストリームの測定 ID が使用されていることを確認します。
- [自社のウェブサイトでユーザーから提供されたデータを含める] を選択します。
- [ユーザーデータ] プルダウン メニューで、[ユーザー提供データ] 変数を選択または作成します。
- 新しい変数を作成する場合は、[ユーザー提供データ] 変数で [コード] を選択します。
- [データソース] プルダウン メニューで、[新しい変数...] をクリックします。
- [変数の設定] > [カスタム JavaScript] をクリックします。
- ページの上部で、カスタム JavaScript 変数の名前を入力します。
- [カスタム JavaScript] テキスト ボックスに、コード スニペットを入力します。詳細
- 新しい変数を保存してから、イベントタグを保存します。
- 右上の [送信] をクリックして変更内容を公開します。
ユーザー提供データを収集するコード スニペットを作成する
ステップ 10 でカスタム JavaScript 変数を設定する際は、以下のコードを使用できます。
function () {
return {
"email": yourEmailVariable , // yourEmailVariable となっている箇所は、実際にユーザーのメールアドレスが格納される変数の名前に置き換えます
"phone_number": yourPhoneVariable , // yourPhoneVariable やその後に続く変数名も、同様に実際の変数名に置き換えます
"address": {
"first_name": yourFirstNameVariable ,
"last_name": yourLastNameVariable ,
"street": yourStreetAddressVariable ,
"city": yourCityVariable ,
"region": yourRegionVariable ,
"postal_code": yourPostalCodeVariable ,
"country": yourCountryVariable
}
}
}
または、文字列型のフィールドをハードコーディングしたり、変数の代わりに関数を使用したりすることもできます。
// 実装
<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>
ハッシュ化されたユーザーデータ値を提供する場合は、以下のスニペットのサンプルを使用できます。
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;
電話番号は E.164 形式で指定します。この形式は、ダッシュ、かっこ、スペースを含まない、プラス記号(+)と国コードを付加した 11~15 桁の数字である必要があります。
Next steps
Validate that user-provided data collection is set up correctly. Show me how.