このガイドでは、analytics.js を使用してイベントを測定する方法について説明します。
概要
「イベント」はコンテンツとユーザーの接点であり、ウェブページやアプリの画面の読み込みとは関係なくトラッキングできます。ダウンロード、モバイル広告のクリック、ガジェット、Flash の要素、AJAX の埋め込み要素、動画の再生などはすべて、「イベント」としてトラッキングできます。
Google アナリティクスのイベントについてご不明な点がある場合は、まずアナリティクス ヘルプセンターのイベントについてをご覧ください。
実装
イベントヒットを送信するには、send
コマンドを使用し、hitType として event
を指定します。event
ヒットタイプの場合、send
コマンドのシグネチャは次のようになります。
ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);
イベント フィールド
次の表にイベント フィールドをまとめます。
フィールド名 | 値の型 | 必須 | 説明 |
---|---|---|---|
eventCategory |
テキスト | 必須 | 通常はインタラクション対象のオブジェクト(例: 'Video' ) |
eventAction |
テキスト | 必須 | インタラクションのタイプ('play' など) |
eventLabel |
テキスト | 省略可 | イベントの分類に役立ちます(例: 'Fall Campaign' ) |
eventValue |
整数 | 省略可 | イベントに関連する数値(例: 42 ) |
各フィールドについて詳しくは、アナリティクス ヘルプセンターのイベントの要素をご覧ください。
例:
次のコマンドでは、秋のキャンペーンのプロモーション動画が再生されたことを示すイベントを Google アナリティクスに送信しています。
ga('send', 'event', 'Videos', 'play', 'Fall Campaign');
すべての send
コマンドと同様に、コンビニエンス変数で渡されているフィールドは fieldsObject
でも指定できます。つまり、上のコマンドは次のように書き換えることができます。
ga('send', {
hitType: 'event',
eventCategory: 'Videos',
eventAction: 'play',
eventLabel: 'Fall Campaign'
});
アウトバウンド リンクとフォームを測定する
ユーザーがサイト上で別のページに移動するリンクをクリックすると、一般的には、ユーザーがそのページに移動したときにページビューのヒットが送信されます。一連のページビューが発生するため、ユーザーの移動先(および移動前)の地点を Google アナリティクスがバックエンドで認識することが可能になります。しかし、ユーザーが外部ドメインへのリンクをクリックした場合や、外部ドメインにフォームを送信した場合は、Google アナリティクスで内容を具体的に指定しないと該当の操作はトラッキングされません。
アウトバウンドのリンククリックやフォーム送信を測定するには、イベントを送信し、イベント フィールドの 1 つを使用してリンク先 URL を指定します。次のイベント ハンドラ関数を使用すると Google アナリティクスにアウトバウンドのリンククリック イベントを送信できます。
function handleOutboundLinkClicks(event) {
ga('send', 'event', {
eventCategory: 'Outbound Link',
eventAction: 'click',
eventLabel: event.target.href
});
}
ほとんどのブラウザでは新しいページの読み込みが始まると JavaScript の実行が停止されるため、アウトバウンドのリンククリックおよびフォーム送信の測定は複雑になる場合があります。この問題の解決策としては、次のように transport
フィールドを beacon
に設定する方法があります。
function handleOutboundLinkClicks(event) { ga('send', 'event', { eventCategory: 'Outbound Link', eventAction: 'click', eventLabel: event.target.href, transport: 'beacon' }); }
ビーコン送信メソッドをサポートしていないブラウザの場合は、イベントの送信が完了するまで次のページへの移動を延期する必要があります。この方法について詳しくは、Google アナリティクスにデータを送信する方法のガイドでヒットが送信されたタイミングを確認するをご覧ください。
非インタラクション イベント
イベントは、必要に応じて非インタラクション イベントとして送信することもできます。そのためには、send
コマンドの fieldsObject
で nonInteraction
フィールドを true
に設定します。
ga('send', 'event', 'Videos', 'play', 'Fall Campaign', {
nonInteraction: true
});
非インタラクション ヒットの詳細と使用方法については、アナリティクス ヘルプセンターの非インタラクション イベントをご覧ください。