Google タグ(gtag.js)API は、次の構文を持つ単一の関数 gtag()
で構成されています。
gtag(<command>, <command parameters>);
<command>
は次のいずれかのコマンドです。<command parameters>
は、gtag()
に渡すことができるパラメータです。コマンド パラメータはコマンドによって異なります。以下のコマンド リファレンスを参照してください。
gtag()
コマンドは、Google タグスニペットよりも下(後)であれば、ページ内のどこからでも呼び出すことができます。スニペットをページに追加する方法については、インストール ガイドをご覧ください。
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', {currency: 'USD'});
gtag('get', 'G-XXXXXXXXXX', 'currency', (currency) => {
// Do something with currency value you set earlier.
})
set
ページ上の後続のすべての gtag()
呼び出しで保持される値を設定できます。
gtag('set', {<parameter-value-pair>, <parameter-value-pair>});
<parameter-value-pair>
は gtag()
の呼び出し間で保持されるキー名と値です。たとえば、以下のコードはページ上の後続のすべてのイベントで、country
の値を 'US'
に、また currency
の値を 'USD'
に設定します。
gtag('set', {
'country': 'US',
'currency': 'USD'
});
set
コマンドの使用は、event
コマンドに値を直接渡すのとは異なります。値を event
コマンドに直接渡すと、それらの値は呼び出し中のイベントにのみ適用されますが、set
を使用すると、値は現在のページで保持され、後続のすべてのイベントとともに渡されます。次の 2 つの例で確認してみましょう。
gtag('event', 'login', {'method': 'Google'});
gtag('event', 'share');
と
gtag('set', {'method': 'Google'});
gtag('event', 'login');
gtag('event', 'share');
最初の例では、login
イベントは method
の値 'Google'
とともに渡され、share
イベントはパラメータなしで渡されます。2 番目の例では、login
と share
は両方とも method
の値 'Google'
とともに渡されます。
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' |
analytics_storage |
'granted' | 'denied' |
wait_for_update |
任意の正の整数 |
パラメータ スコープ
パラメータの値はスコープ指定が可能で、個別のイベント、特定の <TARGET_ID>
に送信されたイベントすべて、または全イベント(グローバル)を適用対象にすることができます。スコープの指定は、event
、config
、set
コマンドの使い分けによって行います。
あるスコープに設定されているパラメータ値によって、別のスコープに設定されている同じパラメータの値が変更されることはありません。以下の例の場合、先に set
コマンドで割り当てられた currency
のグローバル値は、config
コマンドでは変更されません。両方のコマンドが実行された後も、currency
のグローバル値は 'EUR'
のままになります。
// Set global currency to Euros
gtag('set', { 'currency': 'EUR' });
// Set currency for <TARGET_ID>
gtag('config','<TARGET_ID>', { 'currency': 'USD' });
パラメータの優先順位
あるパラメータに対して、複数のスコープでそれぞれ異なる値が割り当てられている場合も、イベントの処理時に使用される値は 1 つだけです。スコープが event
のパラメータ値はスコープが config
のパラメータよりも優先され、config
のパラメータは set
を使ったグローバル スコープのパラメータよりも優先されます。
// Set global currency to Euros
gtag('set', { 'currency': 'EUR' });
// 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>' });