GA4のユーザーエンゲージメント(時間)を検証してみた

GA4のユーザーエンゲージメント(時間)を検証してみた

GA4から新たに登場した、「ユーザーエンゲージメント」という指標があります。

公式サイトでは、「アプリのスクリーンがフォアグウランドで表示されていた時間、または、ウェブページが目的のコンテンツとして表示されている時間の長さ」と説明されています。

また、上記の定義が記述してある、ユーザーエンゲージメントについての公式サイトでの詳細な説明はこちらです。

https://support.google.com/analytics/answer/11109416?sjid=7122562919972909612-AP

 

GA4には、従来のUA(ユニバーサルアナリティクス)までと同様、指標として、「平均セッション継続時間」もありますが、ユーザーエンゲージメントは、タブにフォーカスのあたっていない時間はカウントしないため、「ユーザーがウェブサイトを視聴していた時間」としては、より正確と考えていいでしょう。

 

また、ユーザーエンゲージメントは、

  • 平均エンゲージメント時間 = ユーザーエンゲージメントの合計 ÷ アクティブユーザー数
  • セッションあたりの平均エンゲージメント時間 = ユーザーエンゲージメントの合計 ÷ セッション

といった、割り算の指標にも利用されており、GA4の主要指標の一つと言って良いでしょう。

この指標について、シンプルなシナリオと、BigQueryにエクスポートされたデータ、GA4の探索レポートで検証してみました。

 

結論

今回の私の検証の範囲では、ユーザーエンゲージメントは以下のように計測されているようです。

  • (公式サイトでの定義どおり)セッション開始後、タブにフォーカスがあたっていた時間だけを計測している
  • ただし、セッションが切れるまでタブをそのまま放置した場合には、セッション中に収集した最後のイベント(セッション開始時に発生した、session_start、page_viewイベントは除く)が発生した時刻まで、「フォーカスがあたっていた」と判断する
  • ブラウザ上の、計測対象サイトが表示されているタブを閉じたり、ブラウザ自体を閉じた場合には、user_engagementイベントが収集され、それがセッション中であった場合には、セッション中に発生した最後のイベントとしてユーザーエンゲージメントの計測に利用される

 

検証内容

ここから先は、検証内容を解説します。検証のため、5回の実験をしている中で、以下の挙動は比較的想定外だったので、そのあたりがを詳しく知りたい方はお読みください。それ以外の人にはもしかしたら退屈かもしれません^^;

 

  • ユーザーエンゲージメントが全く記録されないセッションがあった
  • セッションが切れた後タブを閉じると(ブラウザを閉じても)新規セッションが記録される

 

実験1、実験2

実験1、実験2では、以下の操作をしました。

 

  1. 計測対象のサイトを開く
  2. 10秒後、別タブを開きそのタブにフォーカスを当てる
  3. 10秒後、元の、計測対象のサイトのタブを表示する
  4. 20秒後、実験1ではブラウザのタブを閉じる、実験2では、ブラウザ自体を閉じる

 

1から2の間の10秒、3から4の間の20秒、合計30秒間、解析対象サイトのページにフォーカスがあたっていましたので、期待されるユーザーエンゲージメントは30秒です。(実験1も、2も、必ず新規セッションとなるよう、まず、Cookieを削除してから操作しました。また、実験1のランディングページには、クエリパラメータ、pattern=1を、実験2のランディングページには、クエリパラメータ、 pattern=2を付与しています。)

 

結果は、以下の通りです。(engagement_time_sec列の値は、もともとミリ秒単位で取得されている値を、SQL上の計算で1/000にして、秒単位に変換しています。)人間が操作していますので、若干のタイミング違いはありますが、実験1も2も約30秒のユーザーエンゲージメントが記録されています。想定通りです。

 

また、公式ヘルプでの説明通り、タブを閉じたり、ブラウザを閉じたりするときに、user_engagementイベントが記録されていることが確認できます。その user_engagementイベントのパラメータとして、engagement_time_msecが記録されているのです。

 

実験3

実験3では、以下の操作をしました。

 

  1. 計測対象のサイトを開く
  2. 10秒後、別タブを開きそのタブにフォーカスを当てる
  3. 10秒後、元の、計測対象のサイトのタブを表示する
  4. セッションが切れるよう30分以上放置し、その後、タブを閉じる

 

タブはフォーカスがあたったまま30分以上表示されていましたので、30分10秒のユーザーエンゲージメントが記録されるのではないか?とも思いましたが、結果は以下のとおりでした。

 

なんと、ユーザーエンゲージメントは記録されませんでした。つまり、「セッション中に、セッションの開始時に収集された以外のイベントが収集されなかった」ため、ユーザーエンゲージメントを記録するパラメータ、engagement_time_msecを紐づけるイベントが取得されなかった。だから、記録できなかったようです。

また、上記の4行目、5行目は、3行目から30分以上経過してセッションが切れた後、タブを閉じた時刻に記録されたのですが、新規に別のセッションが開始しています。ページは表示せず、タブを閉じただけでセッションが記録されるとは意外な挙動です。

 

実験4

実験4では、以下の操作をしました。

  1. 計測対象のサイトを開く
  2. 10秒後、別タブを開きそのタブにフォーカスを当てる
  3. 10秒後、元の、計測対象のサイトのタブを表示する
  4. 20秒後、ページ末尾までスクロールする
  5. スクロールした20秒後、タブを閉じる

 

操作1と2の間で10秒、3から5の間で40秒、計測対象サイトのページのタブにフォーカスがあたっていましたので、想定するユーザーエンゲージメントは50秒です。結果は以下の通りでした。

 

完全に想定どおりです。

また、実験1~3のいずれにおいても、タブを閉じる時(ブラウザを閉じる時も)に user_engagementイベントが取得されていましが、この実験4でも再現しています。

 

実験5

最後の実験5です。既にダメ押しのような実験ですが、以下のような操作を行いました。

  1. 計測対象のサイトを開く
  2. 6秒後、別タブを開きそのタブにフォーカスを当てる
  3. 10秒後、元の、計測対象のサイトのタブを表示する
  4. 20秒後、ページ末尾までスクロールする
  5. セッションが切れるよう30分以上放置し、その後、タブを閉じる

 

上記操作5番の放置中、セッションが切れるまでイベントは収集されないので、セッション中に最後に収集されたのが4番のscrollイベント。ということになります。したがって、1から2の間で6秒、3から4の間で20秒となり、セッション単位で合計したユーザーエンゲージメントは26秒と想定します。結果は、以下の通りでした。

 

こちらも完全に想定通りです。この実験5においても、タブを閉じた時(5行目、6行目)にsession_startと、user_engagementイベントが収集されていますね。

 

GA4ではどうレポートされるのか?

お気づきの通り、上記の実験1から5の結果は、BigQueryにエクスポートしたデータで確認しています。細かなイベント収集状況まで把握できるので、こうした実験の結果測定は、BigQuery上のデータで行うのが望ましいと思います。実験結果に対する考察の説得力も増すものと思います。

一方、収集されたイベントがGA4でどのようにレポートされるのか?も重要ですね。GA4ユーザーの大多数の人はBigQueryのデータを見て判断したりはしないからです。GA4でのレポート結果は以下の通りです。当然といえば当然ですが、収集されたデータどおりの結果となっています。

 

実験3、及び5で発生した、セッションが切れた後のタブを閉じる動作(あるいはブラウザを閉じる動作)を契機として収集されたsession_startイベント2件も、ちゃんと記録されています。その結果、セッションの合計は(5ではなく)7となっています。

また、タブを閉じたり、ブラウザを閉じたりした時に発生したセッションについてはランディングページが (not set)といることもわかりました。

 

まとめと宣伝

Googleの公式ヘルプを見て指標の定義を理解するのはもちろん大事(というか、必須)ですが、同時に、「本当かな?」と疑ってみたり、「タブにフォーカスを当て続けてセッションが切れるまで放置したらどんな値が取得されるのかな?」と、好奇心を発揮してみたりすることも、また、とても重要だと思います。(この記事にある実験から分かったことを、「いや、そんなの前から全部知ってたよ。」という人はあまりいないでしょう。^^; つまり、実験により、小さいかもしれないけれど、新しい事実が分かったということです。)

 

特に、自分の仕事を事業側、支援側と分けた時に、支援側にいてGA4に触れる人は、よりGA4に詳しくあることが必要な訳ですから、「疑いや好奇心」を持つ重要性はより高いと思います。公式ヘルプを理解するだけだと事業側の人と差がつかないですからね。^^;

 

ところで、(ここからが宣伝ですが)、GA4のレポート(標準レポート、探索レポート、セグメント)に特化したUdemyの講座を展開しています。レビューの評点も、5天中4.5点と、お陰様で評判も良いようです。練習問題も付いてます。よろしければ、どうぞ。(画像クリックでUdemy.comにジャンプします。)