こんにちは寝る

古い記事の情報は参考程度にお願いします

user_engagementが謎すぎるというメモ

22/09/12 更新
この記事のアクセス数がそこそこ多いので最近の情報を含めて記事を更新します。

user_engagement とは

以下の条件を満たすと自動的に送信されるイベントです

ユーザーがページから移動したとき(ユーザーがタブやウィンドウを閉じたとき、または別のページや画面に移動したとき)です

[GA4] ユーザー エンゲージメント - アナリティクス ヘルプ

このイベントの目的は「そのページの滞在時間(=エンゲージメント時間)を計測」する事であり
ユーザーがページを閲覧したというエンゲージメントに対してその時間を図るために存在しているようです。

エンゲージメントって?

Googleでは以下の定義を行なっていますがここでは 私の解釈で 書きます(参考程度に)

エンゲージメント: 定義 - アナリティクス ヘルプ

エンゲージメントは以下の2つをGoogleは定義していますが
このエンゲージメントは単純にGoogleが独自解釈して用意しているエンゲージメントなので
自分が運用しているサイトで独自にエンゲージメントを定義することも出来ます(後述)

  • ユーザーエンゲージメント
  • エンゲージメントしたセッション

ユーザーエンゲージメント

本質的には滞在時間を計測(=エンゲージメント時間)するために動くイベントなので
私はユーザーエンゲージメントを「ページ滞在時間」と読み替えています。

ようはページの滞在時間というエンゲージメントに対してユーザーエンゲージメントと呼んでいるだけかなと思ってます。

エンゲージメントしたセッション

以下の条件を満たした時にGA4では「エンゲージメントした」という判断になります。

10 秒を超えて継続したセッション、コンバージョン イベントが発生したセッション、または 2 回以上のページビューもしくはスクリーン ビューが発生したセッションです。

ここを見てわかることは user_engagement はエンゲージメントしたセッションの条件には関係が無いということです なのでユーザーエンゲージメントとは名ばかりで実際にはエンゲージメントとして判断されていないということになります。

※ 1ページ目の滞在時間が10秒を超えた場合は関係があります。ユーザーエンゲージメントという名前からこのイベントの動作=エンゲージメント発生では必ずしもないという意味

例えば初回アクセスのユーザーが1ページ目を5秒で閉じた時は…

  • ユーザーエンゲージメント→5秒
  • エンゲージメントしたセッションと判定する?→判定しない

といった感じになり、ユーザーエンゲージメントはあったがエンゲージメントしたセッションではなかったという事が発生します。

コンバージョンイベントイベントが発生した時にエンゲージメントとなるということは
自分たちで独自に定義したエンゲージメントをコンバージョンイベントにすればエンゲージメントしたセッションにできるということです。

なのでページを見たことがもはやエンゲージメントであれば、できるか不明ですがpage_viewをコンバージョンイベントにするとか
ページを開いたら自動的に動くコンバージョンイベントを定義してあげればほぼ全てのセッションをエンゲージメントしたセッションにすることができると思います

この記事を書いた時に勘違いをしていたところ

この記事を更新する前はエンゲージメントセッションの条件を満たす = user_engagement が動くと思っていた。

しかし、エンゲージメントセッションと user_engagement は関係なく以下の条件を満たしたセッションをエンゲージメントセッションとしているだけでuser_engagement の動作は関係がありませんでした。

10 秒を超えて継続したセッション、コンバージョン イベントが発生したセッション、または 2 回以上のページビューもしくはスクリーン ビューが発生したセッションです。

[GA4] エンゲージメント率と直帰率 - アナリティクス ヘルプ

参考