GA4の「探索」で「総ユーザー数」等ユーザー数の集計を行う場合、
・セッションベースのセグメント
・フィルター
で同一条件を作っても、両者でユーザー数が一致しないのは何故?
というテーマで解説します。
セッションベースのセグメントを使った集計だと、
次のように処理されます。
1.条件に合うセッションを全て抽出。
2.1で抽出したセッションのユーザーを重複なく数えたら、何人になるかを集計
フィルターを使った集計だと、
次のように処理されます。
1.条件に合うイベントを全て抽出。
2.1で抽出したイベントのユーザーを重複なく数えたら、何人になるかを集計
<2024年8月21日加筆 ここから>
上記について、出所を明らかにせず申し訳ございません。
弊社で調べた限りでは、上記を説明した、公式ドキュメントや非公式のブログ記事は存在しません。
ではどうしてフィルタはイベントを抽出するといえるのかといえば、フィルタは、ディメンションに対して掛けるからです。
(指標に対しても掛けられますが、いったん置いておきます。)
イベントが発生すると、そのイベントに関連するいくつかのディメンションが一緒に記録されます。たとえば、ユーザーが「購入」ボタンをクリックした(イベント)とき、そのクリックが起こったページ名や日時、ユーザーのデバイスなどの情報(ディメンション)も同時に記録されます。
ディメンションはもともとはイベントに紐づいたデータなので、フィルタをかけるということは、ディメンションに対して掛けるということであり、ディメンションは、イベントに紐づいているので、イベントに対して掛けているという理解に至りました。
実はこれ以上の深堀は行っておらず、申し訳ございません。
セグメントでも、ディメンションに対してフィルタを掛けていますが、
セグメントには、ユーザー、セグメント、イベントがあるのに対して、
フィルタはといえば、ディメンションと指標に対してしかないので、イベントに対して掛けていると考えられます。
弊社の独自解釈となっておりますことをお詫びいたします。
<2024年8月21日加筆 ここまで>
以上の説明から、「セッションベースのセグメントを使った集計」と「フィルターを使った集計」だと、総ユーザー数は一致するはずですが、そうならないことは多々あります。
そして、一致しない場合は、「セッションベースのセグメントを使った集計」よりも「フィルターを使った集計」が多くなります。
上記の現象が発生することは、多くのGA4プロパティで確認されていますが、現在公開されているGoogleの公式ドキュメントの情報からは、その理由を明確に説明することができません。
セグメントとフィルターで処理方法が違うということは、サンプリングの掛かり方が違うのではないか、という理由が考えられます。
しかし、セグメントとフィルター、両者にサンプリングが掛かっていない状態でも、やはり数値差が発生します。
現在明らかになっている現象は、セグメントとフィルターでユーザー数が一致しない場合は、「セッションベースのセグメントを使った集計」よりも「フィルターを使った集計」の方が、ユーザー数が多くなるということです。
ここから推測されるのは、「フィルターを使った集計」は条件に合うイベントを全て抽出してからユーザーを重複なく数えるわけですが、その際のユーザー数の重複判定は、条件に合うセッションを全て抽出した場合のユーザー数の重複判定に比べて、仕様上の限界で、甘くなる(同一ユーザーであることを見逃す確率が高い)ことが推測されます。
なお、GA4の「探索」で「総ユーザー数」等ユーザー数の集計を行う場合、
・セッションベースのセグメント
・フィルター
で同一条件を作れば、両者でユーザー数が一致することもあります。
対象ユーザー数が少ない程、一致することが多いように見受けられます。
歯切れの悪い解説となりましが、少しでも参考になりましたら幸いです。