GA4 「ユーザーエンゲージメント」÷「セッション」と「平均セッション継続時間」の違い
Photo by julianwi on Unsplash

GA4 「ユーザーエンゲージメント」÷「セッション」と「平均セッション継続時間」の違い

    弊社が運営するGA4無料コミュニティで、下記のご質問をいただきました。

    「ユーザーエンゲージメント」と「平均セッション継続時間」について教えてください。

    ユーザーンゲージメントは合計値だから、複数セッションがある場合のセッションあたりの平均をとりたい場合は、

    「ユーザーエンゲージメント」÷「セッション」をすればとりたい値がとれると思っていたのですが、

    そちらと、「平均セッション継続時間」はどう違うのでしょうか。

    また、ユーザーエクスプローラの探索レポートを見ていて、「ユーザーエンゲージメント」や「平均セッション継続時間」の値が0になっている場合があるのですが、

    これはどういう原因が考えられますでしょうか。

    そして、UAのときに最後のページがカウントされない仕様になっていたのはGA4でも同じでしょうか。

    まず前半の「ユーザーエンゲージメント」÷「セッション」「平均セッション継続時間」の違いについてです。

    ユーザー エンゲージメントとは、ウェブページがフォーカス状態にあった時間、またはアプリの画面がフォアグラウンド表示されていた時間の長さを指します。ユーザーがウェブサイトまたはアプリを積極的に使用しているタイミングを把握するのに役立ちます。

    https://support.google.com/analytics/answer/11109416?hl=ja

    「ユーザー エンゲージメント」は時間の長さを示す指標ですが、上記の公式ドキュメントの通り、ウェブページがフォーカス状態にあった時間、またはアプリの画面がフォアグラウンド表示されていた時間の長さです。

    一方の「平均セッション継続時間」は、こちらのドキュメントによると、

    https://support.google.com/analytics/answer/9143382?hl=ja

    「ユーザー セッションの平均継続時間(秒)」となっています。

    https://support.google.com/analytics/answer/9143382?hl=ja

    によれば、「セッション数」の定義は下記のようになっています。

    ウェブサイトまたはアプリケーションで開始されたセッションの数。

    セッションとは、ユーザーがウェブサイトまたはアプリケーションを操作する時間のことです。

    セッションはユーザーが次のどちらかの操作を行うと開始されます。

    • アプリをフォアグラウンドで開く

    • 現在アクティブなセッションがないとき(以前のセッションがタイムアウトした場合など)にページまたはスクリーンを表示する

    デフォルトでは、30 分間操作がなければセッションはタイムアウトのため終了します。セッションの継続時間に制限はありません。

    セッションが始まると、セッションが継続している最中であっても、「ウェブページがフォーカス状態にあった時間、またはアプリの画面がフォアグラウンド表示されていた時間」とは限りません。別ぺーがタブで開かれ、隠れていた時間も含まれます。

    一方、「ユーザー エンゲージメント」は、ウェブページがフォーカス状態にあった時間、またはアプリの画面がフォアグラウンド表示されていた時間」だけを見ています。

    まとめますと、「ユーザーエンゲージメント」÷「セッション」「平均セッション継続時間」の違いとは、「ウェブページがフォーカス状態にあった時間、またはアプリの画面がフォアグラウンド表示されていた時間」だけをカウントするかどうかの違いとなります。

    まず、ユーザーエンゲージメントについてです。

    こちらのヘルプによれば、

    https://support.google.com/analytics/answer/11109416?hl=ja

    エンゲージメント時間がGA4に送信されるのは、下記のタイミングです。

    エンゲージメント時間は、次のいずれかが発生するとアナリティクスに送信されます。

    • ユーザーがアプリの画面をバックグラウンドに移動する

    • フォーカス状態のウェブページからユーザーが離れる

    • ユーザーがアプリの画面またはウェブページから離れる(例: タブ、ウィンドウ、アプリを閉じる、別の画面またはページに移動する)

    • サイトまたはアプリで問題が発生する

    エンゲージメント時間は engagement_time_msec パラメータで送信され、次に収集されるイベントに追加されます。

    Google アナリティクスでは、セッション内の直前のイベントからのエンゲージメント時間が発生していない場合、engagement_time_msec パラメータは省略されます。

    ブラウザで計測対象ページを開いて、デフォルト設定でセッションが切れる30分間以上、ブラウザを放置したとします。

    この場合、上記の太字のタイミングのいずれにも該当しないので、ユーザーエンゲージメントは、送信されいません。すなわち、0です。

    続いて、セッション継続時間についてです。

    session_startイベントが発火した後、そのセッション中に、全くイベントが発生しない内にセッションが終了したら、セッション継続時間は0となります。

    ただし、下記のヘルプによれば、

    https://support.google.com/analytics/answer/9234069?hl=ja

    user_engagementイベントが、「アプリがフォアグラウンド表示されている状態、またはウェブページにフォーカスがある状態が 1 秒以上続いたとき」に発火するため、ページを開いて1秒未満でブラウザを閉じるか、または、ネットワーク回線、Wi-Fiなどの状況によって、user_engagementイベントがGA4に送信されなかった場合などに発生すると考えられます。

    そして、UAのときに最後のページがカウントされない仕様になっていたのはGA4でも同じでしょうか。

    というご質問については、GA4では、ページ閲覧開始時刻ではなく、イベントの発生時刻で時間を計っているので、user_engagement、scroll、click、あるいはユーザーが設定したカスタム イベントの発火により、最後のページの次のページの閲覧が無くても、時間が計測される可能性は高まりました。ただし、最後のページを開いて、開いた瞬間にブラウザを閉じると、UA同様、最後のページの時間計測できない可能性があります。

    今回のご回答は、ここまでとなります。

    アンド,エー株式会社
    facebookTwitterDiscord

    and,a株式会社(and,a Inc. アンド,エー株式会社)

    〒153-0063 東京都目黒区目黒1-4-16 目黒Gビル7階

    Copyright © 2017-2024 and,a Inc. All Rights Reserved.