オルタナティブ・ブログ > 秋山大志のそれとりあえず作ってみようか。 >

あれこれ考えるよりも作ってしまった方が早いんじゃね?と思う、ギークなサラリーマンのアジャイルな日々。

GTMのタイマートリガーで滞在時間を計測する方法|GA4のエンゲージメント時間との違い|未経験から100日後にGTMのプロになる話【Day 17】

»

ページビューが多くても、実際には数秒で離脱されているだけかもしれません。滞在時間を計測したくなったら、まずGTMのタイマートリガーを検討することになりますが、その前に知っておくべきことがあります。

GA4はすでに「平均エンゲージメント時間」を自動計測している

GA4は、ブラウザのタブが実際にフォアグラウンド(表示中)だった時間を自動で集計し、「平均エンゲージメント時間」としてレポートに出しています。これはページ内の全イベントに付随するengagement_time_msecという内部パラメータを元にしていて、タブが非表示になっている間はカウントされません。「大まかな滞在時間の傾向」を見たいだけなら、実はこれで足りているケースが多いです。

それでもGTMでタイマートリガーを組みたくなるのは、「30秒以上滞在したユーザー」のように、特定の閾値を超えた瞬間を1つの独立したイベントとして扱い、広告のコンバージョン計測やCRM連携に使いたい場合です。今日はこのケースを想定して設定します。

タイマートリガーを作成する

  1. 「トリガー」→「新規」→種類は「タイマー」
  2. 「ミリ秒単位の間隔」を10000(10秒)に設定
  3. 「上限」を6に設定(10秒×6回=最大60秒まで計測)
  4. 必要なら「一部のページでのみ」で対象ページを絞る
  5. トリガー名を付けて保存

タイマートリガー(10000ms x 6回)設定画面

重要な注意点:タブが非表示でもタイマーは止まらない

ここがGA4の自動計測との決定的な違いです。GTMのタイマートリガーは、ページが読み込まれてから経過したミリ秒数を単純にカウントしているだけで、ブラウザのタブが背面に回っていても(ユーザーが別のタブを見ていても)動き続けます。つまり、ユーザーが記事を開いたまま離席して10分後に戻ってきた場合でも、タイマーは律儀に発火し続けます。「滞在時間が長い=ちゃんと読んでいる」と単純に結びつけると分析を誤るので、タイマーで取った値は「ページを開いていた時間」であって「実際に見ていた時間」ではない、という前提で扱ってください。厳密に「見られていた時間」を見たいなら、前述のGA4の平均エンゲージメント時間の方が実態に近い数値です。

GA4に送るタグを作る

「Google アナリティクス: GA4 イベント」タグでイベント名をtime_on_pageにし、パラメータにtime_spent={{Timer Interval}}page_url={{Page URL}}を設定して、タイマートリガーに紐付けます。

今日のまとめ

滞在時間の分析は、まずGA4の平均エンゲージメント時間で足りるか確認し、特定の閾値をイベントとして扱いたい場合だけGTMのタイマーを使う、という順番で考えてください。タイマーはタブの表示状態を見ていないという性質も忘れずに。次回は、バナーなどの表示状況を計測する要素の可視性トリガーを扱います。

INDEX

Comment(0)