GA4では、ユーザーエンゲージメント系の指標やイベントとして、さまざまなものがありますね!
イベント名としては、user_engagementというものがあったり、
指標では「エンゲージのあったセッション数」などがありますね!
user_engagementについて
これはアクティブユーサー数を測るため、そしてサイト内にいる時間を計測したりします。
なので、例えばサイトにアクセスしていてサイトから離脱した時に、このuser_engagementイベントは発火します。これはタブを閉じる、ブラウザを閉じるなど。
さらに、別のページやサイトに遷移した時にも自動的にuser_engagementは計測されます。ページ遷移した時ではなく、ページ遷移する直前で発火します。でないと別サイトに遷移した時計測できないからです。
今まで、UAではヒット粒度で経過時間を計測していました。
最初にPVが計測されて、まずこれがセッションの始点となります。でもそのままヒットが計測されずに離脱すると、終点がないので、経過時間は0になります。
なので、サイト離脱した時にヒットが発火しないため、滞在時間が正確に計測できませんでした。
しかし、GA4では、このuser_engagementがあることで、サイトを離脱したときなど正確にサイトの滞在時間を追えるようになったということです。
でも、user_engagementで経過時間を追うとはどういうことでしょうか。ヘルプを見ても、ユーザーエンゲージメントは経過時間を計測しますとありますね。
実は、このuser_engagementには、
engagement_time_msecというパラメータが存在していて、自動的に計測してくれます。このパラメータは、前のイベントでengagement_time_msecパラメータを計測したところからの経過時間を取得します。
これにより、最後タブを閉じたり、別サイトへ離脱したとかの時に自動的にuser_engagementが発火することで、このengagement_time_msecパラメータが計測され、経過時間を取得することができます。
そして、このengagement_time_msecパラメータ。
user_engagement以外にも計測してくれるイベントがあります。
それは、page_view、scrollです。
これらが計測されるとき、自動的にengagement_time_msecパラメータを計測します。(この後ローデータもみて、入っていることを確認します。)
ヘルプページにも記載されています。
page_viewやscrollでもengagement_time_msecパラメータを計測してくれることで、
サイトにアクセスして、すぐpage_viewが発火→ サイトアクセスして実質0秒。
そして、最後に離脱するときにuser_engagementが発火 → サイト離脱。
でこの視点と終点を引くことで、正確な滞在時間を把握することができるようになったということです。
そしてこれがエンゲージのあったセッション数に関わってきます。
エンゲージのあったセッション数
エンゲージのあったセッション数の定義としては、以下です。
- \(①\) 10秒経過
- \(②\) CV計測
- \(③\) 2PV以上
この3つがありますが、
\(②\)はCV計測、\(③\)は2PV以上でこれはすぐわかります。原理もわかるし、どういった仕様で認定されるかもわかるかと思います。
CV計測は純粋にコンバージョンイベントが発生したら、それで認定されます。
2PV以上、これも純粋にpage_viewイベントが2回発生したら、それで認定されます。
そして\(①\)。
これはどう考えたら良いでしょうか。
UAの場合はヒット間隔で時間を取っていました。
そして、エンゲージとあるので、上のuser_engagementと何か関係があるのでは?とずっと思ってました。
しかし色々と調べてみるとそうでもなさそうでした。
10秒経過は、10000ミリ秒です。
ローデータでは、
CVイベントが発生した段階で、そのCVイベントでsession_engaged=1が立ちます。