【Google アナリティクス】直帰のページの滞在時間も正確に計測する方法(GTMにより実現)

概要

Googleアナリティクス(Google Analytics:GA)で、1ページに滞在している時間を正確に計測する方法をご紹介します。

Googleアナリティクス イベントレポート画面
Image

実現する設定

  1. GAの仕様で1ページのみ閲覧したユーザー(直帰者)は、滞在時間を計測できません。
  2. そこでGoogleタグマネージャ(GTM)を使用して、滞在時間を10秒ごと(最大5分:30回)にイベント計測します。
  3. javascriptでも実現できますが、GTMを使うことで比較的、設定を容易にします。
  4. 最終的に、ページ訪問から10秒経過するごとにイベントログを飛ばすように設定します。

レポートイメージ
Image

設定手順

1.GTMアカウントを発行

2.GTMタグをページに設置

 一般的な方法なので、他の詳しく解説しているサイトをご覧ください。

3.GTMを設定

マクロ

マクロを3つ作成します。

マクロ:gtm_timerElapsedTime

GTMから発生する変数の「gtm.timerElapsedTime」を取得するマクロです。
後述のタイマートリガーを使うと取得可能になります。
Image

マクロ:cjs_経過時間
時間をミリ秒を秒に変換するカスタムjavascriptです。

Image

function() {
    return Math.floor({{gtm_timerElapsedTime}} / 1000);
}

マクロ:cjs_経過時間(3桁5秒切下)
経過時間(マクロ:cjs_経過時間)をフォーマット化(3ケタ&5秒切り下げ)するjavascriptです。
Image

function() {
      var str = String(Math.floor({{cjs_経過時間}} / 5 ) * 5);
      while(str.length < 3) {
            str = "0" + str;
      }
      return str;
}

トリガー

トリガーを1つ作成します。
タイマーイベントで10秒ごと(10000ミリ秒)ごとに最大30回(5分)発火するトリガーです。
ページの経過時間を測る「gtm.timerElapsedTime」が利用可能になります。

Image

タグ

GAのイベントタグを1つ作成します。カテゴリ、アクション、ラベルは以下のように設定します。

  • カテゴリ:「滞在時間」固定文字列で滞在時間
  • アクション:「{{cjs_経過時間(3桁5秒切下)}}秒」滞在時間をフォーマット化した秒数
  • ラベル:「{{cjs_経過時間}}秒({{gtm_timerElapsedTime}}ミリ秒)」滞在時間のフォーマット化前の秒数とミリ秒(エラーチェック用)

Image

4.GTMにてプレビュー

GTMでプレビュー(デバッグ)モードで動作を確認します。
デバッグは、該当のブラウザのみで動作確認するモードです。

gtm.timerというイベントが発生し、作成したタグが発火しているか確認します。

Image

5.GA計測確認:GAリアルタイムイベントにて確認

設定したページにアクセスして正しく動作していることを確認します。
GAのリアルタイムレポート>イベントにて計測を確認します。
「イベント(直近30分)」にて確認

Image

イベントラベルにてミリ秒単位の計測が確認できます。

Image

あなたにオススメ(Amazon)

あなたにオススメ(楽天)