Google タグ API リファレンス

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)

リクエストされたフィールドで呼び出される関数。設定されていない場合は undefined

FieldName

フィールド名には、gtag('set') コマンドで設定したカスタム フィールドの名前か、次のいずれかの値を指定できます。

フィールド名 サポートされているターゲット
client_id
  • Google アナリティクス 4
  • Google アナリティクス ユニバーサル アナリティクス
session_id
  • Google アナリティクス 4
gclid
  • Google 広告
  • Floodlight

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 番目の例では、loginshare は両方とも method の値 'Google' とともに渡されます。

event

イベントデータを送信するには、event コマンドを使用します。

gtag('event', '<event_name>', {<event_params>});

<event_name> は以下のいずれかです。

<event_params> はパラメータと値のペア(複数可)です。ペアが複数ある場合はカンマで区切ります。

次の event コマンドは、推奨イベント screen_view を、2 つのパラメータ(app_namescreen_name)を指定して呼び出します。

gtag('event', 'screen_view', {
  'app_name': 'myAppName',
  'screen_name': 'Home'
});

同意の設定を行うには、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> に送信されたイベントすべて、または全イベント(グローバル)を適用対象にすることができます。スコープの指定は、eventconfigset コマンドの使い分けによって行います。

あるスコープに設定されているパラメータ値によって、別のスコープに設定されている同じパラメータの値が変更されることはありません。以下の例の場合、先に 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>' });