ga コマンドキュー リファレンス

ga() コマンドキューは、analytics.js ライブラリで行う必要があるほぼすべての処理に対応したインターフェースです。

JavaScript トラッキング スニペットでは、最初の ga() コマンドキュー関数が定義されているため、analytics.js ライブラリがまだ完全に読み込まれていなくても、コマンドキュー関数を使用できます。コマンドキューのコマンドは、analytics.js ライブラリが読み込まれるとすぐに、追加された順に実行されます。これが完了すると、キューに新しくプッシュされたコマンドがすぐに実行されます。

トラッキング スニペットのサイズを最小限に抑えるため、ga() コマンドキューはさまざまな形式の引数を受け取れるようにオーバーロードされています。このドキュメントでは、ga() コマンドキュー関数のさまざまな呼び出し方法をすべて説明します。

関数のシグネチャ
ga(command, [...fields], [fieldsObject])

次の関数シグネチャ付きで ga() コマンドキュー関数を呼び出すと、キューにコマンドがプッシュされ、ライブラリがロードされたときに実行されるようスケジュール設定されます。

ga(readyCallback)

ga() コマンドキュー関数の呼び出しの際に関数を渡すと、渡した関数は、キューで次の順が来たときに実行されるようスケジュール設定されます。

コマンドは analytics.js ライブラリが完全に読み込まれた後で初めて実行されます。そのため、この方法は analytics.js ライブラリが読み込まれ準備が完了したタイミングで実行されるコールバックに使用するのが最も一般的です。

コマンドをキューに追加する

次の関数シグネチャ付きで ga() コマンドキュー関数を呼び出すと、キューにコマンドがプッシュされ、ライブラリがロードされたときに実行されるようスケジュール設定されます。

使用方法

ga(command, [...fields], [fieldsObject])

パラメータ

名前 タイプ 必須 / 省略可 説明
command string 必須

キューに追加するコマンドを表す ID。ID は、次のように 3 つの部分(最初の 2 つは省略可)で構成されます。

[trackerName.][pluginName:]methodName
trackerName スケジュール設定されたコマンドの呼び出しに使用するトラッカーの名前。トラッカー名を指定しない場合は、デフォルトのトラッカーでコマンドが呼び出されます。
pluginName 要求している analytics.js プラグインの名前。pluginName を指定する場合は、プラグインに用意されているメソッドを methodName に指定してください。
methodName 実行をスケジュール設定するメソッドの名前。プラグイン名を指定しない場合は、このメソッドに下記のいずれかのコマンド メソッドを指定してください。
...fields * 省略可 一般的なフィールドを迅速に指定できるオプションのパラメータ(複数可)。指定できるフィールドの数や種類は、呼び出すコマンド メソッドによって変わります。
fieldsObject Object 省略可

fields パラメータで指定していない残りの値をすべて指定するオブジェクト。

fields パラメータと fieldsObject の両方で同じフィールドを設定した場合は、fieldsObject の値が使用されます。

個別のフィールドについては、フィールド リファレンスをご覧ください。

個別のコマンドの例については、下記のコマンド メソッドの詳細をご覧ください。

Ready コールバック

ga() コマンドキュー関数の呼び出しの際に関数を渡すと、渡した関数は、キューで次の順が来たときに実行されるようスケジュール設定されます。

コマンドは analytics.js ライブラリが完全に読み込まれた後で初めて実行されます。そのため、この方法は analytics.js ライブラリが読み込まれ準備が完了したタイミングで実行されるコールバックに使用するのが最も一般的です。

使用方法

ga(readyCallback)

パラメータ

名前 タイプ 必須 / 省略可 説明
readyCallback Function 必須

ライブラリが完全に読み込まれ、使用する準備が完了したタイミングで呼び出されるコールバック関数。関数はデフォルトのトラッカー オブジェクトを 1 つ目の引数として呼び出されます。デフォルトのトラッカーが作成されていない場合は、この引数は undefined となります。

注: このコールバック関数が呼び出されたタイミングでは、ga オブジェクトのメソッドがすべて使用可能です。

// Queues a tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto');

// Once the tracker has been created, log the
// client ID to the console.
ga(function(tracker) {
  console.log(tracker.get('clientId'));
});
// Queues a named tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');

// When there is no default tracker, the first
// argument of the ready callback is `undefined`.
ga(function(tracker) {
  console.log(tracker); // Logs `undefined`.
});

コマンド メソッドの詳細

ga() コマンドキューに渡すことができるすべてのメソッドの一覧を次に示します(プラグイン メソッドを除く)。

create

指定されたフィールドで新しいトラッカー インスタンスを作成します。

使用方法

ga('create', [trackingId], [cookieDomain], [name], [fieldsObject]);

パラメータ

個別のフィールドについては、フィールド リファレンスをご覧ください。

戻り値

undefined

// Creates a default tracker for the Property UA-XXXXX-Y
// and uses automatic cookie domain configuration.
ga('create', 'UA-XXXXX-Y', 'auto');
// Creates a tracker with the name "myTracker" for the Property
// UA-XXXXX-Y, sets the cookieDomain to "example.com", and specifies
// a transport mechanism of "beacon".
ga('create', 'UA-XXXXX-Y', 'example.com', 'myTracker', {
  transport: 'beacon'
});

send

ヒットを Google アナリティクスに送信します。

使用方法

ga('[trackerName.]send', [hitType], [...fields], [fieldsObject]);

...fields パラメータと fieldsObject に値として指定したフィールドが送信され、現在トラッカーに保存されているフィールドと統合されます。

パラメータ

...fields パラメータで指定できるフィールドは、ヒットタイプによって異なります。次の表に、各ヒットタイプと対応するフィールドの一覧を示します。ここに含まれないヒットタイプは、...fields パラメータを使用できないため、fieldsObject を使用してください。

ヒットタイプ ...fields
pageview page
event eventCategoryeventActioneventLabeleventValue
social socialNetworksocialActionsocialTarget
timing timingCategorytimingVartimingValuetimingLabel

個別のフィールドについては、フィールド リファレンスをご覧ください。

戻り値

undefined

// Sends a pageview hit.
ga('send', 'pageview');
// Sends an event hit for the tracker named "myTracker" with the
// following category, action, and label, and sets the nonInteraction
// field value to true.
ga('send', 'event', 'link', 'click', 'http://example.com', {
  nonInteraction: true
});

set

トラッカー オブジェクトに、フィールドと値のペアまたはフィールドと値のペアのグループを設定します。

使用方法

// Sets a single field and value.
ga('[trackerName.]set', fieldName, fieldValue);
// Sets a group of field/value pairs.
ga('[trackerName.]set', fieldsObject);

パラメータ

個別のフィールドについては、フィールド リファレンスをご覧ください。

戻り値

undefined

// Sets the page field to "/about.html".
ga('set', 'page', '/about.html');
// Sets the page field to "/about.html" and the title to "About".
ga('set', {
  page: '/about.html',
  title: 'About'
});

require

analytics.js プラグインを要求します。

使用方法

ga('[trackerName.]require', pluginName, [pluginOptions]);

パラメータ

名前 タイプ 必須 / 省略可 説明
pluginName string 必須 要求するプラグインの名前。注: 公式の analytics.js プラグイン以外のプラグインを指定する場合は、ページの別の場所で provide を使用して登録する必要があります。
pluginOptions Object 省略可 インスタンス化の際にプラグイン コンストラクタに渡される初期化オブジェクト。

戻り値

undefined

// Requires the Enhanced Ecommerce plugin.
ga('require', 'ec');
// Requires the Advertising Features plugin
// named "myTracker" and override its default cookie name.
ga('myTracker.require', 'displayfeatures', {
  cookieName: 'display_features_cookie'
});

provide

analytics.js プラグインとそのメソッドを登録して、ga() コマンドキューで使用できるようにします。

ga('provide', pluginName, pluginConstuctor);

パラメータ

名前 タイプ 必須 / 省略可 説明
pluginName string 必須 登録するプラグインの名前。名前は、require の呼び出しで使用する名前と同じにしてください。
pluginConstuctor Function 必須 すべてのプラグイン ロジックとメソッドを登録するコンストラクタ関数。このコンストラクタは、require メソッドで指定される pluginsOptions オブジェクトとともに呼び出されます。

// Defines a plugin constructor
function MyPlugin(tracker, options) {
  // ...
}

// Provides the plugin for use with the ga() command queue.
ga('provide', 'myplugin', MyPlugin);

remove

トラッカー オブジェクトを削除します。

使用方法

ga('[trackerName.]remove');

// Remove the default tracker.
ga('remove');
// Remove the  tracker named "myTracker".
ga('myTracker.remove');