Google Analytics 4 (GA4) には多くの指標がありますが、特に「時間」に関連する指標はサイト分析において重要です。中でも「平均セッション継続時間」と「セッションあたりの平均エンゲージメント時間」は一見似たような値に思えます。しかし、その定義や計算方法、活用場面には違いがあり、初心者にとって誤解しやすいポイントでもあります。
本記事ではこの2つの指標を詳しく比較し、それぞれの意味を正しく理解して効果的に使い分けるための指針を解説します。
まずは「平均セッション継続時間」と「セッションあたりの平均エンゲージメント時間」の定義と算出方法について確認しましょう。それぞれの指標が何を測定し、どのように計算されるのかを理解することが、違いを把握する第一歩です。
平均セッション継続時間(Average Session Duration): ユーザー1回のセッションの平均継続時間を表す指標です。GA4における公式定義では、「すべてのエンゲージメントのあったセッションの合計滞在時間(秒)をセッション数で割った値」とされています。つまりエンゲージメント発生セッションの総滞在時間を全セッション数で割って求めます。ここでいう「エンゲージメントのあったセッション」(Engaged Session)とは、具体的には「10秒以上継続した、もしくはキーイベント(旧:コンバージョン イベント)が発生した、または2回以上のページビュー(またはスクリーンビュー)があったセッション」を指します。簡単に言えば、ユーザーが一定時間以上サイトに留まったか何らかの重要な操作を行ったセッションです。
(計算式:エンゲージメントのあったセッションの総継続時間 ÷ 総セッション数)
セッションあたりの平均エンゲージメント時間(Average Engagement Time per Session): ユーザー1回のセッション中に「アクティブにサイトやアプリに関与した時間」の平均値を表す指標です。GA4の定義では、「ウェブサイトがユーザーのブラウザでフォーカス状態にあった(あるいはアプリがデバイス上でフォアグラウンド表示されていた)合計時間をセッション数で割ったもの」となります。平たく言えば、ユーザーがページを見たり操作したりして実際に積極的に関与していた合計時間を全セッション数で割った平均です。ユーザーがページを開いている間でも他のタブを見ていた時間や、ブラウザがExcelやInstagramなどほかのアプリケーションで隠れていた場合は含まれず、サイトが画面上でアクティブだった時間のみを積算します。
(計算式:エンゲージメント時間の合計 ÷ 総セッション数)
上記2つの指標はどちらも「セッションごとの平均滞在時間」を示すように見えますが、計測している実際の時間の範囲が異なります。平均セッション継続時間はセッション開始から終了までの経過時間を測り(ユーザーの操作がない待機時間も含まれる可能性があります)、セッションあたりの平均エンゲージメント時間はその中でユーザーが能動的にサイトに関与していた時間のみを抽出しています。この違いが数値にも表れ、同じセッションでも指標によって評価が変わることがあります。
具体的な例で両者の違いを見てみましょう。以下のような3つのセッションがあったと仮定します:
セッションA: ユーザーが記事ページを1ページだけ閲覧し、5秒で離脱(直帰)した。
(滞在時間:約5秒、エンゲージメント時間:約5秒)※10秒未満のためエンゲージメントのあったセッションには該当せず
セッションB: ユーザーがサイト内を2ページ閲覧。最初のページを60秒読み、その後別のページへ移動して30秒滞在して離脱した。
(滞在時間:約90秒、エンゲージメント時間:約90秒)
セッションC: ユーザーがランディングページを1ページ閲覧し、20秒後に離脱した。
(滞在時間:約20秒、エンゲージメント時間:約20秒)※10秒以上滞在したためエンゲージメントのあったセッションに該当
この場合、総セッション数は3です。それぞれの指標は次のように計算されます。
平均セッション継続時間: エンゲージメントのあったセッション(ここではBとC)の滞在時間合計 110秒 を総セッション数3で割ります。→ 約36.7秒
(セッションAはエンゲージメント基準未満のため滞在時間5秒は計上されず、実質0秒として扱われます)
セッションあたりの平均エンゲージメント時間: 全セッションのエンゲージメント時間合計 115秒 を総セッション数3で割ります。→ 約38.3秒
(セッションAの5秒もユーザーが実際に閲覧していた時間として含まれます)
この例では、「セッションあたりの平均エンゲージメント時間」の方がやや長い値になりました。5秒で直帰したセッションAの時間が、前者(平均セッション継続時間)では切り捨てられているのに対し、後者では加算されているためです。一般に直帰セッションが多い場合、平均セッション継続時間はそれらのセッションを0秒として計算する分だけ短く算出され、セッションあたりの平均エンゲージメント時間の方が相対的に長くなる傾向があります。一方、ユーザーがページを開いたまま離席するようなケースでは、平均セッション継続時間はその待機時間も含めて長くなり得ますが、エンゲージメント時間は実際に操作があった時間しか増えません。このように計測方法の違いが数値の差となって現れる点に注意が必要です。
では、GA4を導入したばかりの初心者は実際にどちらの指標を使えば良いのでしょうか?ここではサイト分析の目的やサイトの特性に応じた指標の選び方を解説します。
サイト上のコンテンツ(記事や動画、商品ページなど)にユーザーがどれだけ積極的に関与しているかを評価したい場合は、「セッションあたりの平均エンゲージメント時間」が適しています。ユーザーが実際に画面を見てスクロールしたりクリックしたりしていた時間だけを抽出しているため、コンテンツの真の閲覧・利用時間を把握できるからです。
例えばブログ記事の質を検証する場合、エンゲージメント時間が長いほど「記事がしっかり読まれている」と判断できますし、動画コンテンツであれば視聴や操作に費やした時間を示すためユーザーの興味度合いを測る指標になります。他のタブを見ていた時間や、ブラウザがExcelやInstagramなどほかのアプリケーションで隠れていた場合は含まれないため、コンテンツの内容そのものの引きつけ力を反映した指標と言えるでしょう。
ユーザーがサイトにどのくらい留まっているか、滞在時間の長短を全体感として把握したい場合には「平均セッション継続時間」が有用です。こちらはセッションの開始から終了までの長さを測っているため、サイト訪問全体の滞在時間の平均を示します。特に複数ページにわたって閲覧するようなサイト(例えばECサイトや求人サイト)では、セッションが長いほど多くのページを見たり深くサイト内を回遊している可能性があります。平均セッション継続時間を見ることで、訪問全体のボリューム感を把握できます。
また、マーケティング施策の効果測定などでトラフィックソースごとのセッションの長さを比較したい場合にも、この指標が役立ちます。たとえば新規訪問ユーザーとリピーターで平均セッション時間に差があるか、検索流入とSNS流入で滞在時間が異なるかといった分析に用いることで、ユーザー層や流入元によるサイト滞在傾向を読み解くことができます。
直帰率(初めのページを見ただけで離脱する割合)が高いサイトでは、「セッションあたりの平均エンゲージメント時間」に注目する方が実態を捉えやすい場合があります。直帰が多いということは、1ページだけ見てすぐ離れてしまうセッションが多数あるということです。「平均セッション継続時間」では、そうした短命なセッションの多くがエンゲージメントなし(10秒未満等)と見なされ滞在時間0として処理されてしまうため、極端に低い値になる可能性があります。一方、セッションあたりの平均エンゲージメント時間であれば、たとえ直帰セッションでもユーザーがそのページを閲覧したわずかな時間を計上します。そのため直帰セッションが多くても、ユーザーがページに費やした数秒〜十数秒程度の時間は平均値に反映されるのです。
もちろん直帰率が高い状況自体が問題であり改善が必要ですが、そうしたサイトの分析ではエンゲージメント時間ベースの指標の方がユーザー行動のわずかな差異を拾いやすいと言えます。例えば直帰セッションばかりの中でも平均エンゲージメント時間が10秒なのか30秒なのかでは、ユーザーがコンテンツを読む意思があるのか全く興味を示さずに去ったのかといった質的な違いが見えてきます。直帰率が高いサイトではまずエンゲージメント時間を伸ばす工夫(コンテンツの改善や導線の見直し等)が重要になるため、その効果測定にも「セッションあたりの平均エンゲージメント時間」が適しているでしょう。
以上の違いを整理するため、「平均セッション継続時間」と「セッションあたりの平均エンゲージメント時間」の比較表を作成しました。定義や計算方法から活用シーンまで、両指標の相違点を直感的に把握できるようまとめています。初心者の方はこの表を参考にして、自身の分析目的に合った指標を選択してください。
※補足: 上記「データの傾向」にあるように、典型的なサイトではセッションあたりの平均エンゲージメント時間の方が平均セッション継続時間より大きめに出ることが多いですが、ユーザーが頻繁にページを開きっぱなしにするサイト(例:掲示板を開いて長時間他の作業をするなど=Excelの背後にウェブページが隠れているなど)では逆に平均セッション継続時間が長くなるケースも考えられます。そのため常に一方が高いとは限りませんが、計測方法の違いによって値の出方に偏りが生じる点に留意しましょう。
GA4における「平均セッション継続時間」と「セッションあたりの平均エンゲージメント時間」は、一見似ていますが定義と計測の仕組みが異なるため、一長一短の関係にあります。サイト分析の目的に応じてどちらの指標を重視すべきかは変わります。全体的な滞在状況を把握したい場合は「平均セッション継続時間」が有用ですし、ユーザーの実質的な関与度を測りたい場合は「セッションあたりの平均エンゲージメント時間」が適しています。特にGA4では「エンゲージメント」を軸とした新しい指標が多く導入されているため、初心者の方はまず「セッションあたりの平均エンゲージメント時間」のようなエンゲージメント関連指標に着目すると良いでしょう。
重要なのは、両方の指標の意味を正しく理解した上で、自分の分析目的に合ったものを選択し活用することです。今回比較した知見を活かし、GA4でのデータ分析をより深めていってください。サイトの性質やユーザー行動に合わせてこれらの指標を使い分けることで、GA4のデータから得られるインサイトも一段と有益なものになるでしょう。
フォーカス維持中で操作しない場合のエンゲージメント時間: ウェブサイトが常にブラウザでフォーカスされている状態であれば、たとえユーザーがキーボードやマウスに触れていなくても、その時間はエンゲージメント時間に含まれます。GA4ではユーザーのクリックやスクロールといった明示的操作がなくても、「ページが表示されている時間」そのものを計測対象としているためです。例えばユーザーがページを開いたまま文章を読むだけで特に操作しなくても、ページを見ている限りその経過時間はエンゲージメント時間として蓄積されます。一方、従来のUA(ユニバーサルアナリティクス)の「滞在時間」は次のヒット発生まで計測されない仕様でしたが、GA4ではページがアクティブな間の時間を逐次記録するため、ユーザーの操作が無くてもフォーカスを保っていればエンゲージメント時間が増えていく仕組みです。ただし注意点として、GA4は一定時間おきや特定のタイミングでエンゲージメント時間を送信する設計になっており、ユーザーが全く操作せずページを開きっぱなしにしている場合、その時間が即座に反映されないケースがあります。実際、Google公式ヘルプによればエンゲージメント時間がGA4に送信されるタイミングは決まっており、以下のようなイベント発生時にまとめて記録されます:
アプリ画面がバックグラウンドに移ったとき(アプリが非表示になった)
フォーカス状態のウェブページからユーザーが離れたとき(ページが非表示状態になった)
ユーザーがアプリ画面やウェブページを離脱したとき(例: タブやウィンドウを閉じる、別のページに遷移する)
サイトやアプリでエラーなど問題が発生したとき
上記のいずれかが起きた際に、その直前までの累積エンゲージメント時間がengagement_time_msec
パラメータとして計測され、次回のイベントデータと共にGA4へ送信されます。このように、GA4はユーザーがページを離れたり操作を行ったタイミングで、その直前までのエンゲージメント時間をまとめて記録する仕組みです。したがって、ユーザーがフォーカスを維持したまま何もしない場合でも、その後で何らかのイベント(例えばページを閉じる等)が発生すれば、それまでのフォーカス維持時間がまとめてエンゲージメント時間として計上されます。極端な例として、ユーザーがページを開いたまま全く操作せず10秒経過した時点でようやく他の操作をした場合、その最初の操作イベントに「それまでの10秒間」のエンゲージメント時間が付加されて送信されます。このようにフォーカス中であれば操作がなくてもエンゲージメント時間は内部的にカウントされるため、結果的にユーザーが実際に手を動かしていなくてもページを見ている(表示している)時間はすべてエンゲージメント時間に含まれると言えます。
非アクティブ状態のエンゲージメント時間計測: GA4ではユーザーが非アクティブ(ページがフォーカスを失った状態)になった場合、その間の時間はエンゲージメント時間に含めないよう処理されます。前述の通り、ユーザーが他のタブに移動する、ブラウザを最小化する、アプリをバックグラウンドにする等で対象ページ/画面が非表示になると、その瞬間までのエンゲージメント時間が計測・送信され、それ以降はカウントが一時停止します。再びユーザーがページに戻りフォーカスを当てれば、同じセッション中であればエンゲージメント時間のカウントが再開されます(計測も再び積算され、次の離脱タイミングで送信)。GA4のセッション管理上、デフォルト値では、30分間ユーザーの操作がない場合はセッションがタイムアウト(終了)する仕様になっており、この「操作がない」にはページが非表示で放置されたケースも含まれます。つまり30分以上ページが非アクティブ状態であればセッション自体が切れるため(デフォルト値)、当然それ以上のエンゲージメント時間は記録されません。ただし興味深い点として、ページがフォーカスされたままユーザーが離席し30分経過してセッションがタイムアウトした場合について、公式ヘルプでは「どのトリガー(エンゲージメント時間送信のタイミング)も発生しないため、ユーザーエンゲージメントは送信されない」と述べられています。これは、ユーザーがページを開いたまま完全放置し、フォーカスを外すことも他のイベントも起こさずにセッションが終わった場合、GA4にはエンゲージメント時間を送信する機会がないためです。したがって非アクティブ状態(ユーザー無操作)の扱いとしては、ページがアクティブ表示である限り内部的には時間を測りつつ、何らかのイベントやフォーカス喪失が起きなければその値は送信されず未計上となり得ます。一方でページが非表示で放置された場合は単純にカウントが止まり、再度フォーカスされるまで増えません。総じてGA4では、「ユーザーが実際にその場にいるか」は直接判断せず、「ページ/画面が表示されていればエンゲージメント継続、表示されていなければエンゲージメント停止」というルールで非アクティブ状態の時間を除外しています。
公式ヘルプにはユーザーエンゲージメントの定義として「ウェブページがフォーカス状態にあった時間、またはアプリの画面がフォアグラウンドにあった時間」のみを対象とする旨が明記されています。また、「デフォルトでは30分間操作がなければセッションは終了する」ことや、エンゲージメント時間はユーザーがページから離れたタイミングなど特定のイベント発生時に送信される仕組みであることも説明されています。GA4では自動収集イベントとしてuser_engagement
イベントが用意されており、ユーザーがサイトやアプリで1秒以上アクティブだった場合にこのイベントが発火します。このuser_engagement
イベントには前述のengagement_time_msec
(ミリ秒単位のエンゲージメント時間)がパラメータとして含まれ、他のイベント(例: scroll
やclick
など)とともに送信されます。標準設定では、セッション開始後10秒以上サイトに留まった場合やコンバージョン発生時、2ページ以上閲覧時にそのセッションは「エンゲージメントのあったセッション(Engaged Session)」と分類されます。したがってユーザーが離席中でもページを開けっぱなしにして10秒経過すれば、そのセッション自体はエンゲージメントあり(直帰ではない)と見なされます。ただしエンゲージメント時間の合計値自体は、実際にページがアクティブ表示されていた時間のみが集計されます。総合すると、GA4の標準動作では 「ページ/アプリが見られている間だけ時間を計測し、見られていない(ユーザーが離れている)間は計測しない」 というポリシーでエンゲージメント時間を管理しており、公式ドキュメントにもこの仕様が明示されています。
最後まで読んでいただき、ありがとうございました。