本記事では、BigQueryにエクスポートしたGA4データをSQLで集計している際に非常に気になった点であり、 page_view イベントが計測されていないケースが散見されたので、そちらの内容を紹介させていただく。
特定のユーザーのイベントを時系列で抽出するSQLクエリ
以下のSQLクエリは、とある1人のユーザー( user_pseudo_id)の動きを時系列で抽出するSQLクエリである。
SELECT
user_pseudo_id,
FORMAT_TIMESTAMP('%F %H:%M:%S', TIMESTAMP_MICROS(event_timestamp), 'Asia/Tokyo') AS timestamp,
(SELECT value.int_value FROM UNNEST(event_params)
WHERE key = 'ga_session_id') AS session_id,
event_name
FROM `technogram-354804.analytics_291973511.events_intraday_202212*`
WHERE
user_pseudo_id = '794651884.1670921594'
ORDER BY
event_timestamp
;
page_viewイベントが取れていない具体的なケース
以下の抽出したユーザーは、2022年12月に3回のユニークなセッション( ga_session_id)があるが、そのうちの1つにおいてsession_startイベント及び user_engagementイベントが発生しているが、 page_viewイベントが生成されていないという現象が起きている。
さらに以下のユーザーに関しては、 scrollイベントが3回も発生しているにも関わらず、 page_viewイベントが発生していない。
また、こちらのユーザーでは user_engagementが3回発生しているが、 page_view イベントが発生していない。
バグというよりも、GA4はそもそもこういう仕様となっている?
株式会社プリンシプルさんのこちらの記事でも、同様の指摘がなされている。
https://www.principle-c.com/column/ga/ga4/page-view-not-recorded-ga4/
こちらの記事は2020年の12月に書かれているので、2年以上が経過しても同様の事象が発生していることを考えると、そもそもGA4はこのような仕様であるか、それとも何か構造的な問題(Cookieやブラウザ環境の変化など)があるのかもしれない。
本件に関して、公式ドキュメント等を一通り調べてみたが、明確な理由が見つからなかったため、引き続き調査を進めていき、何かアップデートがあった場合はこちらの記事に追記したい。