Google タグ(gtag.js)API は、次の構文を持つ単一の関数 gtag()
で構成されています。
gtag(<command>, <command parameters>);
<command>
は次のいずれかのコマンドです。<command parameters>
は、gtag()
に渡すことができるパラメータです。コマンド パラメータはコマンドによって異なります。以下のコマンド リファレンスを参照してください。
gtag()
コマンドは、Google タグスニペットよりも下(後)であれば、ページ内のどこからでも呼び出すことができます。スニペットをページに追加する方法については、インストール ガイドをご覧ください。
パラメータ スコープ
パラメータの値はスコープ指定が可能で、個別のイベント、特定の <TARGET_ID>
に送信されたイベントすべて、または全イベント(グローバル)を適用対象にすることができます。スコープの指定は、event
、config
、set
コマンドの使い分けによって行います。
あるスコープに設定されているパラメータ値によって、別のスコープに設定されている同じパラメータの値が変更されることはありません。以下の例の場合、先に set
コマンドで割り当てられた campaign_id
のグローバル値は、config
コマンドでは変更されません。両方のコマンドが実行された後も、campaign_id
のグローバル値は '1234'
のままになります。
// Set global campaign ID
gtag('set', { 'campaign_id': '1234' });
// Set campaign ID for <TARGET_ID>
gtag('config','<TARGET_ID>', { 'campaign_id': 'ABCD' });
パラメータの優先順位
あるパラメータに対して、複数のスコープでそれぞれ異なる値が割り当てられている場合も、イベントの処理時に使用される値は 1 つだけです。スコープが event
のパラメータ値はスコープが config
のパラメータよりも優先され、config
のパラメータは set
を使ったグローバル スコープのパラメータよりも優先されます。
// Set campaign information at the global scope
gtag('set', { 'campaign_name': 'Black Friday Sale' });
// Set currency for <TARGET_ID1> to 'USD'
gtag('config','<TARGET_ID1>', { 'currency': 'USD' });
// Process a conversion event with currency: 'GBP'
gtag('event','conversion', { 'currency': 'GBP', 'send_to': '<TARGET_ID1>' });
// Process a conversion event with currency: 'EUR'
gtag('event','conversion');
// Process a conversion event with currency: 'USD'
gtag('event','conversion', { 'send_to': '<TARGET_ID1>' });
config
ターゲットに設定情報を追加できます。主にサービス固有の設定に使用しますが、Google 広告と Google アナリティクスの両方をご利用の場合は、設定は 1 回で済みます。
gtag('config', '<TARGET_ID>', {<additional_config_info>});
<TARGET_ID>
は、Google アナリティクスのプロパティ、Google 広告アカウントなど、ヒットのターゲットを一意に識別する ID です。<additional_config_info>
はパラメータと値のペア(複数可)です。
次の例では、Google 広告アカウントにデータを送信するようにタグを設定しています。
gtag('config', 'TAG_ID');
「TAG_ID」には Google タグのタグ ID を指定します。
追加の設定情報を送信するコードは、次の例のようになります。これはアナリティクスのアカウントにデータを送信するようタグを設定したもので、send_page_view
パラメータの値として false
を、groups
パラメータの値として 'agency'
を受け渡すよう指定しています。
gtag('config', 'TAG_ID', {
'send_page_view': false,
'groups': 'agency'
});
get
set
コマンドで設定された値を含む gtag.js
からさまざまな値を取得できます。
gtag('get', '<target>', '<field_name>', callback)
引数 | 型 | 例 | 説明 |
---|---|---|---|
<target> | string |
G-XXXXXXXXXX |
値の取得元のターゲット。 |
<field_name> | FieldName | client_id | 取得するフィールドの名前。 |
callback | Function |
(field) => console.log(field) |
リクエストされたフィールドで呼び出される関数。設定されていない場合は |
FieldName
フィールド名には、gtag('set')
コマンドで設定したカスタム フィールドの名前か、次のいずれかの値を指定できます。
フィールド名 | サポートされているターゲット |
---|---|
client_id |
|
session_id |
|
gclid |
|
例
Promise に値を取得する
const gclidPromise = new Promise(resolve => {
gtag('get', 'DC-XXXXXXXX', 'gclid', resolve)
});
gclidPromise.then((gclid) => {
// Do something with gclid...
})
Measurement Protocol にイベントを送信する
gtag('get', 'G-XXXXXXXXXX', 'client_id', (clientID) => {
sendOfflineEvent(clientID, "tutorial_begin")
});
function sendOfflineEvent(clientID, eventName, eventData) {
// Send necessary data to your server...
}
設定した値を取得する
gtag('set', {campaign_name: 'Spring_Sale'});
gtag('get', 'G-XXXXXXXXXX', 'campaign_name', (campaign_name) => {
// Do something with currency value you set earlier.
})
set
set コマンドを使用すると、ページ上のすべての後続イベントに関連付けられるパラメータを定義できます。
gtag('set', {<parameter-value-pair>, <parameter-value-pair>});
たとえば、キャンペーン パラメータを共有して、同じページ上の複数のタグでアクセスできるようにすることが可能です。
以下に示す例では、ブラック フライデーのショッピング イベントに関するキャンペーンの名前と ID が設定されています。set
を使用しているため、その他のすべてのタグ(GA4 のイベントタグまたは Google 広告のリマーケティング タグなど)でこのデータにアクセスできます。
gtag('set', 'campaign', {
'id': 'abc',
'source': 'google',
'name': 'black_friday_promotion',
'term': 'running+shoes',
});
event
イベントデータを送信するには、event
コマンドを使用します。
gtag('event', '<event_name>', {<event_params>});
<event_name>
は次のどちらかです。
- 推奨イベント。各推奨イベントは、推奨パラメータを取ることができます。
- カスタム イベント。カスタム イベントは任意のイベント名であり、任意の(カスタム)パラメータを取ります。詳しくは、カスタム イベントの Google アナリティクスでの使用方法についての記事をご覧ください。
<event_params>
はパラメータと値のペア(複数可)です。ペアが複数ある場合はカンマで区切ります。
次の event
コマンドは、推奨イベント screen_view
を、2 つのパラメータ(app_name
と screen_name
)を指定して呼び出します。
gtag('event', 'screen_view', {
'app_name': 'myAppName',
'screen_name': 'Home'
});
consent
同意の設定を行うには、consent
コマンドを使用します。
gtag('consent', {<consent_arg>}, {<consent_params>});
これらのパラメータで設定できる動作について詳しくは、ヘルプセンターの同意についての記事をご覧ください。
<consent_arg>
は、'default'
と 'update'
のいずれかです。'default'
は、デフォルトで使用する必要がある同意パラメータを設定するために使用され、'update'
は、ユーザーが同意を示した場合にそれらのパラメータを更新するために使用されます。
サポートされている <consent_params>
は次のとおりです。
フィールド名 | 使用できる値 | 説明 |
---|---|---|
ad_storage |
'granted' | 'denied' |
Cookie(ウェブの場合)またはデバイス識別子(アプリの場合)など、広告に関連する情報の保存を有効にします。 |
ad_user_data |
'granted' | 'denied' |
広告目的で Google にユーザーデータを送信することへの同意を設定します。 |
ad_personalization |
'granted' | 'denied' |
パーソナライズド広告への同意を設定します。 |
analytics_storage |
'granted' | 'denied' |
訪問時の滞在時間など、分析に関連する情報の保存(ウェブの場合は Cookie、アプリの場合はアプリ識別子など)を有効にします。 |
wait_for_update |
任意の正の整数 | 同意の更新の呼び出し時間をミリ秒単位で設定します。 |