GA4の「閲覧開始数」と「離脱数」はセッションの最初/最後に表示された回数

GA4の「閲覧開始数」と「離脱数」はセッションの最初/最後に表示された回数

GA4の公式ヘルプ。一次情報として大変有り難です。また、作成する人も、翻訳する人も大変なご苦労をされているな。と心から思います。が、ボリュームが膨大なせいでしょう、なかには、あまりイケていないヘルプ記事もあるにはあります。

例えば、公式ヘルプにおける「閲覧開始数」と「離脱数」の説明は、以下の通りです。もしかすると、私の国語力のせいかもしれませんが、何回読んでもうまく理解できませんでした。

検証結果の正しい(と私が信じる)定義

うまく理解できなければ、検証しよう。ということで検証した結果、「閲覧開始数」と「離脱数」の正しい定義は以下の通りだと思います。

閲覧開始数

あるページが、1回のセッション内で最初に表示された回数

離脱数

あるページが、1回のセッション内で最後に表示された回数

ユニバーサルアナリティクスに詳しい方は、「なんだ、UAにおける定義と同じではないか。」と思われるはずです。はい、その通りです。

ちなみに、上記ヘルプページでは、「閲覧開始率」、「離脱率」についても解説があるのですが、2022年12月6日時点で、GA4にはまだそれらの指標は現れていません。(現れるのは時間の問題かもしれませんが。)

検証内容

検証はいつものようにBigQueryのデータを使って行いました。上記の定義に合わせてSQLで値を取得して、それを探索配下の自由形式レポートの値と比べるという段取りです。SQL文と結果は以下です。

探索配下のレポートはこんな感じ。わずかに違っている値もありますが、偶然でこんなに類似することはないと思いますので、検証した前提「閲覧開始数の定義は、セッションの最初に表示された回数である」は正しいと思って良いものと思います。

ちなみに「離脱数」も検証していますが、そちらも検証は正しいと思える値がでました。

SQL文をテキストで載せておきますので、必要な方はfrom句を変えてご利用ください。

with master as (
select user_pseudo_id
,(select value.int_value from unnest(event_params) where key = 'ga_session_id') as ga_session_id
,(select value.string_value from unnest(event_params) where key = 'page_title') as page_title
, event_timestamp
from `bigquerytableauoct.analytics_323400862.events_202211*`
where event_name="page_view"
)

select entrance_page, count(*) as entrances
from(
select unique_session_id, max(entrance_page) as entrance_page
from(
select concat(user_pseudo_id,"@",ga_session_id) as unique_session_id
, first_value(page_title) over (partition by user_pseudo_id, ga_session_id order by event_timestamp) as entrance_page
from master
) group by unique_session_id
) group by entrance_page
order by 2 desc

閲覧開始率の取得

GA4には、「閲覧開始率」、「離脱率」はまだ来てませんが、BigQueryとSQLを使うと(当然ですが)取得できます。こちらは、SQL文が多少長いのと、SQLを書ければ取得できますよ。ということを言いたいだけなので、結果だけ。

宣伝

おぉ、SQLを書ければ、GA4に来ていない指標を取得できるのか!と思ったあなた、SQLを勉強するのは今です。以下では11時間の動画、800枚のスライドで、BigQueryを基盤としたSQL学習コンテンツを展開しています。

画像をクリックすると講座にジャンプします。以下の画像の割引価格はバグってます(90%OFFって)が、今はいくらで販売されてるんだろうな?