ブルームテクノロジー

テクノロジー

【GA4】ユニークイベント集計での2つの視点

【GA4】ユニークイベント集計での2つの視点

こんにちは。データソリューション課のZakiです。

Webマーケティング界隈にて、Google Analytics4(以下、GA4)への移行は分析やデータ加工でも大きな局面となりました。その中で、GA4特有のデータ計測方法やユニバーサルアナリティクスとの仕様の違いに困惑された方も少なくないはずです。

今回は、GA4のデータ集計にて「イベント数(ユニーク値として見るには)」を題材にお話しさせていただきます。

※当記事で記載するデータ集計はBigQueryに連動させたGA4データを加工する前提でご紹介しております。GA4管理画面の機能では完結できない点にご注意ください。

初めに – ユニークイベント計測の重要性と課題

ユニークイベントの重要性

ユニークイベントは、ユニバーサルアナリティクス時代にユーザーが特定のイベントにてセッション内で実行されたユニークな数値を示す指標として、分析の軸となっていたと思います。

ページビュー数や合計イベント数のように、ページ更新や連続したタップ動作によってユーザー1人あたり10も20もカウントされる可能性のある指標とは異なった役割として活用できていたのがユニークイベント数です。

しかし、この「ユニークイベント数」がGA4画面の「レポート」「探索」機能ではデフォルトで表示がされなくなってしまいました。

課題点と解決策

では、ユニークイベント数が確認できない課題点について「居酒屋 予約サイト」の電話予約を例にあげて考えていきます。

まず、ユニークイベント数が確認できず、イベント数(合計)を使わなければいけない場合に生じる問題が「正確なコンバージョン数と言えるのか」問題です。

前文で述べたように、サイトを利用したユーザーが電話(コンバージョン)した数値としては間違いではないですが、ユーザーが悪意なくとも数回ボタンをタップする可能性などにより、「1ユーザーあたり20コンバージョン」といった結果が有りえてしまうのがGA4でのイベント数です。

この問題を解決する方法のひとつとして、「電話した”ユーザー数“を使用する」があります。

ユーザー数を軸とすれば、そのサイトに掲載している居酒屋へどの程度ユーザーからの予約電話(反響)があったかを測ることができます。

しかし、ユーザー数でコンバージョンを集約してしまうと、例えば

「その電話では予約が取れず、他の店舗にも複数電話をしたかもしれない..」

「昼に電話し条件が合わず、その日の夜に他の店舗へ電話したかもしれない..」

などの「1ユーザーでも、そのサイト内にて複数コンバージョンした」が測りにくいです。

このようなパターンに対応する方法として「セッション軸」でのユニーク数を計測する方法です。

「ユーザー軸」と「セッション軸」でのユニーク値を計測する手段について、次のセクションにて詳しくご紹介します!

GA4の「ユーザー軸」「セッション軸」でのユニーク数集計

上記でご紹介した「ユーザー軸」「セッション軸」に関して、BigQueryに連動させたGA4データをどのように加工すればデータ抽出できるかをご紹介します。

「ユーザー軸」のユニークイベント集計

データの取得は、とてもシンプルで、GA4連動データの`user_pseudo_id`を重複排除してカウントします。

ユーザー別のユニークイベント数のメリットは、

実際の店舗予約へつながったかは別になりますが、店舗側が感じるコンバージョンの数値に近しい数値になるということです。

実際にSQLを作成する場合、以下のような構文になります。

SELECT
 PARSE_DATE('%Y%m%d', event_date) AS event_date,   --日付の形式変更
 COUNT(DISTINCT user_pseudo_id) AS unique_event   --user_pseudo_idの重複排除カウント
FROM
 `プロジェクト名.データセット名.events_*`
WHERE
 _TABLE_SUFFIX BETWEEN '取得期間A' AND '取得期間B'
 AND event_name = 'CVイベント情報'
GROUP BY event_date
ORDER BY event_date

上記は日別でユニークイベント単位で集計しておりますが、もっと細かく見たい場合などはこちらに掲載店舗に関する情報などを追加いただくことで、細かいデータ取得が可能となります。

※店舗情報を追加する場合には、unnest(フラット化)の設定が必要になりますので、ご注意ください。

「セッション軸」のユニークイベント集計

こちらは、GA4連動データの`user_pseudo_id`と`ga_session_id`を文字列結合したものを重複排除カウントします。

セッション別のユニークイベント数のメリットは、

ユーザーが予約する際に1店舗で店舗が決まればよいですが、満席などにより何店舗にも電話をかけることが考えられます。

その場合、セッション軸でのカウントはセッション内で何店舗に電話予約(犯行)したかとなるため、実際のコンバージョンへつながった件数に近しい数値になります。

実際にSQLを作成する場合、以下のような構文になります。

SELECT
 PARSE_DATE('%Y%m%d', event_date) AS event_date,   --日付の形式変更
 COUNT(DISTINCT CONCAT(user_pseudo_id,(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id'))) --user_pseudo_idとga_session_idの重複排除カウント
FROM
 `プロジェクト名.データセット名.events_*`
WHERE
 _TABLE_SUFFIX BETWEEN '取得期間A' AND '取得期間B'
 AND event_name = 'CVイベント情報'
GROUP BY event_date
ORDER BY event_date

ユーザー軸の集計と同様に日別でのユニークイベント単位で集計しておりますので、必要に応じて店舗情報などを追加いただければと思います。

終わりに – ユニークイベント集計の活用

今回ご紹介させていただいたのは、あくまで弊社にてUAのユニークイベントに寄せた集計手段となります。Google公式ではない点はご了承ください。

また、UAとGA4ではそもそもの計測方法が変わる為、同じような集計でみるのではなく、GA4のイベント数を「傾向値」として分析するべきだという考え方もあります。

しかし、「サイトを使用したユーザーの重複の無いコンバージョンを見たい」といった機会はあるかと思いますので、そんな瞬間に今回ご紹介した集計手段がお役にたてれば嬉しい限りです。

BigQueryを活用してデータ整形することで、様々なデータの見方をすることができますので、是非皆さんも色々なデータ加工を実施してみてください!