GA4を使っていると、「どのページが見られているか」「どこからユーザーが訪問しているか」は確認できます。
一方で、
- CVしたユーザーは、最初にどこから訪問したのか
- CVするまでにどのページを見たのか
- 途中でどんなマイクロコンバージョン(MCV)を経由したのか
- CV直前にはどのページを見ていたのか
といったユーザー1人単位の時系列の行動を追いかけようとすると、GA4の標準レポートだけでは少し扱いづらいことがあります。
そこで今回は、GA4のデータをBigQueryで抽出し、Looker Studioで「CVユーザーの行動カルテ」を確認できる環境を作ってみました。
今回は、Webマーケティングでの分析を想定して、CVだけでなくMCVも対象にしています。
今回作ったもの
今回の構成はシンプルです。
GA4
↓
BigQuery
↓
CV・MCVしたユーザーを抽出
↓
そのユーザーの行動履歴を取得
↓
Looker Studioで可視化
最終的には、例えば1人のユーザーについて、
| 時刻 | イベント | ページ | 流入元 |
|---|---|---|---|
| 09:12 | page_view | TOPページ | organic |
| 09:14 | page_view | SEO記事 | organic |
| 09:18 | page_view | サービスページ | organic |
| 09:21 | MCV | 資料ダウンロード | organic |
| 09:25 | page_view | お問い合わせ | organic |
| 09:27 | CV | お問い合わせ完了 | organic |
のように、CVに至るまでの行動を時系列で確認できるようにします。
実際のWebサイトでは、イベント名やURL、CV・MCVの定義に合わせて設定してください。
この分析で何が分かる?
この仕組みを作っておくと、単純なアクセス数だけでは分かりにくいユーザー行動を確認できます。
例えば、
- CVユーザーはどの流入元から来ているのか
- CV前にどのページを閲覧しているのか
- どのページがMCVにつながっているのか
- CV直前に閲覧されているページは何か
- SEO流入と他の流入で行動に違いがあるか
- 特定の記事からサービスページへ移動しているか
といった分析ができます。
「アクセスが多いページ」を見るだけではなく、「CVにつながったユーザーが実際にどんな行動をしていたのか」を見るための分析です。
Step 1:BigQueryでCVユーザーを抽出する
まず、BigQuery側で対象となるユーザーを抽出します。
今回は、
前月にCVまたは主要なMCVを達成したユーザー
を対象にします。
ポイントは、日付を毎回手動で変更しないことです。
SQLの中で「前月の1日~末日」を自動的に算出するようにしておけば、毎月同じクエリを利用できます。
クエリ
BigQueryのSQLエディタを開き、以下のテンプレートを利用します。
WITH target_users AS (
-- ① 「前月」に本CVまたは各種MCVを達成したユーザーのIDを自動抽出
SELECT DISTINCT
user_pseudo_id
FROM
`【あなたのプロジェクトID】.【あなたのデータセットID】.events_*`
WHERE
_TABLE_SUFFIX BETWEEN
FORMAT_DATE('%Y%m%d', DATE_TRUNC(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), MONTH))
AND FORMAT_DATE('%Y%m%d', LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)))
AND (
event_name = '【実際のCVイベント名】'
OR event_name = '【実際のMCVイベント名1】'
OR event_name = '【実際のMCVイベント名2】'
)
)
-- ② 特定したユーザーたちの行動履歴を時系列で抽出
SELECT
u.user_pseudo_id,
TIMESTAMP_MICROS(e.event_timestamp) AS event_time,
e.event_name,
-- 閲覧したページURL(パラメータを削ってきれいに整形)
(SELECT REGEXP_REPLACE(value.string_value, r'\?.*$', '')
FROM UNNEST(e.event_params) WHERE key = 'page_location') AS page_url,
-- 流入元情報を安全に文字列として取得
COALESCE(e.traffic_source.medium, '(direct)') AS traffic_medium,
COALESCE(e.traffic_source.source, '(direct)') AS traffic_source
FROM
target_users AS u
JOIN
`【あなたのプロジェクトID】.【あなたのデータセットID】.events_*` AS e
ON u.user_pseudo_id = e.user_pseudo_id
WHERE
_TABLE_SUFFIX BETWEEN
FORMAT_DATE('%Y%m%d', DATE_TRUNC(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), MONTH))
AND FORMAT_DATE('%Y%m%d', LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)))
-- ページビューと、指定の重要イベントだけに絞り込む
AND (
e.event_name = 'page_view'
OR e.event_name = '【実際のCVイベント名】'
OR e.event_name = '【実際のMCVイベント名1】'
OR e.event_name = '【実際のMCVイベント名2】'
)
ORDER BY
u.user_pseudo_id,
event_time ASC;
このSQLでやっていること
大きく分けると2段階です。
① CV・MCVしたユーザーを特定
まず、
前月にCVしたユーザー
+
前月にMCVしたユーザー
を抽出します。
ここでは user_pseudo_id を使ってユーザーを識別しています。
② そのユーザーの行動履歴を取得
対象ユーザーが見た、
- page_view
- MCV
- CV
などのイベントを取得します。
そして event_timestamp を使って時系列に並べます。
そのため、
「CVした人が、その前に何をしていたのか」
を確認できます。
Step 2:BigQueryのビューとして保存する
クエリが正常に動作し、期待したデータが取得できることを確認したら、BigQuery上でビューとして保存します。
BigQueryのエディタから、
「保存」→「ビューとして保存」
を選択します。
任意のデータセットを選び、例えば、
v_user_path
など、分かりやすい名前を付けます。
今回のSQLでは、対象期間を
「前月の1日~末日」
としているため、翌月になれば自動的に対象期間も切り替わります。
つまり、毎月SQLの日付を書き換える必要がありません。
このようにビュー化しておくことで、Looker Studio側から同じデータソースを利用し続けられるようになります。
Step 3:Looker Studioに接続する
次に、BigQueryで作成したビューをLooker Studioに接続します。
Looker Studioを開き、
「作成」→「レポート」
を選択します。
データ接続元から、
BigQuery
を選択します。
その後、
プロジェクト
↓
データセット
↓
v_user_path
と進み、作成したビューを選択します。
Step 4:ユーザーごとの行動を確認できる表を作る
ここからはLooker Studio側の設定です。
今回作りたいのは、
「1人のユーザーを選ぶと、そのユーザーの行動履歴が時系列で表示される表」
です。
① ユーザー選択用のドロップダウンを配置
上部メニューから、
「追加」→「コントロール」→「ドロップダウン リスト」
を選択します。
「コントロールフィールド」に、
user_pseudo_id
を指定します。
これで、前月にCVまたはMCVを達成したユーザーの中から、確認したいユーザーを選択できるようになります。
② タイムライン用のテーブルを配置
次に、
「追加」→「表」
からテーブルを配置します。
今回は、ユーザーの行動を確認することが目的なので、以下の項目をディメンションとして設定します。
user_pseudo_id
event_time
event_name
page_url
traffic_medium
traffic_source
特に、
event_time
を使うことで、ユーザーの行動を時系列で確認できます。
③ テーブルの見た目を調整
URLなどは長くなりやすいため、必要に応じてテーブルのスタイルを調整します。
テーブルを選択した状態で、
「スタイル」→「テーブルヘッダー」→「テキストの折り返し」
などを設定すると、長いURLも確認しやすくなります。
完成するとどうなる?
これで、
ユーザーを1人選択
↓
そのユーザーの行動履歴を表示
↓
流入元・ページ・MCV・CVを時系列で確認
という分析ができるようになります。
例えば、
Google検索
↓
SEO記事
↓
サービスページ
↓
資料ダウンロード(MCV)
↓
別の記事
↓
お問い合わせページ
↓
お問い合わせ(CV)
といったユーザーの動きを、1人単位で確認できます。
この分析をマーケティングにどう使うか
この仕組みを作る目的は、単純に「ユーザーの行動を眺める」ことではありません。
CVにつながったユーザーの行動から、コンテンツや導線を改善することが目的です。
例えば、
SEO記事からCVにつながっている
特定の記事を閲覧したユーザーが、その後サービスページやお問い合わせページに進んでいるのであれば、その記事は単なるアクセス獲得だけでなく、CVまでの導線として機能している可能性があります。
特定のMCVを経由している
CVユーザーの多くが資料ダウンロードやセミナー申し込みなどのMCVを経由しているのであれば、MCVを中間地点として分析することもできます。
CV直前のページを確認する
CV直前に共通して閲覧されているページがあれば、CV導線の改善やコンテンツの見直しにつなげられます。
まとめ
今回は、GA4のデータをBigQueryで加工し、Looker StudioでCVユーザーの行動を1人単位で確認できる環境を作ってみました。
ポイントは、
GA4
↓
BigQuery
↓
CV・MCVユーザーを抽出
↓
ユーザー行動を取得
↓
BigQuery Viewとして保存
↓
Looker Studio
↓
ユーザー単位で行動を確認
という流れです。
GA4の標準レポートだけでは追いにくい、
「そのユーザーは、どこから来て、何を見て、どのMCVを経由してCVしたのか」
という行動を確認できるのが、この方法の面白いところです。
また、前月を自動的に対象期間とするSQLにしておけば、毎月のレポート作成時に日付を書き換える必要もありません。
アクセス数やCV数だけを見るのではなく、CVに至ったユーザーの行動そのものを見ることで、SEOやコンテンツ、サイト導線の改善にも活用できます。

コメントはまだありません