![見出し画像](https://assets.st-note.com/production/uploads/images/137142851/rectangle_large_type_2_a533d11930c617406c68aaa51cdd4f3a.png?width=1200)
【GA4】失われたセッション セグメントのシーケンスを再現する
Reproでマーケティングコンサルタントをしている嶋と申します。
今回はGA4では失われた機能である「セッション セグメント」の「シーケンス」を再現します。
ユニバーサルアナリティクス(UA)時代はページA⇒ページBの遷移数を見るのに活用していた方も多いのではないでしょうか?
GA4では「ユーザー セグメント」でしか「シーケンス」が利用できませんが、探索レポートのある機能を使うことでこれを再現することができました。
セッション セグメントのシーケンスを再現する方法
結論からお伝えすると、探索レポートの「セグメントの重複」というテンプレートを使うことで再現が可能です。
![](https://assets.st-note.com/img/1713133063400-60aVqGm3kn.png?width=1200)
「セグメントの重複」は複数のセグメントを掛け合わせて分析ができるテンプレートです。
探索レポートでよく利用される「自由形式」を選択した際は「ユーザー セグメント」と「セッション セグメント」を掛け合わせることはできません。しかし、「セグメントの重複」ではこの掛け合わせが可能になるというメリットがあります。
今回のポイントは「シーケンス」で同一セッション内の行動順序を指定した「ユーザー セグメント」と、「セッション セグメント」とを掛け合わせることです。
実例を基に取得されるデータを図解する
私が所有しているWebサイトのデータを使って解説していきます。
今回は「TOP」から「宿泊」に遷移したセッション数を調べてみます。
![](https://assets.st-note.com/img/1713128479930-aPNxpVGwCJ.jpg?width=1200)
![](https://assets.st-note.com/img/1713128490101-dJ2oiqwqVM.jpg?width=1200)
まず、探索レポートで「セグメントの重複」テンプレートを選択します。
![](https://assets.st-note.com/img/1713128864708-VtfjVjR3D9.png?width=1200)
「セグメント」の「+」から2種類のセグメントを作成します。
①セッション セグメント・条件グループ・同じセッション内:「ページロケーション」で「TOP」と「宿泊」を指定
![](https://assets.st-note.com/img/1713129354902-xOHB5lIPGn.jpg?width=1200)
②ユーザー セグメント・シーケンス・同じセッション内:「ページロケーション」で「TOP」⇒「宿泊」を指定
![](https://assets.st-note.com/img/1713129484356-5escItWfYL.jpg?width=1200)
①のセグメントでは、同一セッション内で「TOP」と「宿泊」を閲覧したセッションが抽出されます。このとき、本来抽出したい順序とは逆の「宿泊」⇒「TOP」のセッションも結果に含まれてしまいます。
とあるユーザーAの仮想の行動データで考えると下記のようになります。
![](https://assets.st-note.com/img/1713129800379-NOwFVBqd8P.png?width=1200)
②のセグメントでは、同一セッション内で「TOP」⇒「宿泊」の順に閲覧したユーザーが抽出対象となります。このとき、スコープがユーザーなので、すべてのセッションが結果に含まれてしまいます。
![](https://assets.st-note.com/img/1713130129041-Ybxv5TAK7g.png?width=1200)
ここで、①②をセグメントの重複により掛け合わせると、、
「TOP」⇒「宿泊」の順に行動したセッションのみが結果として表示されます。
![](https://assets.st-note.com/img/1713130216061-OWbv9RJjlE.png?width=1200)
![](https://assets.st-note.com/img/1713130788963-yzvxCdktd7.png?width=1200)
結果、「TOP」⇒「宿泊」の遷移セッション数は「374」でした。
実際の結果でも図解の通りの傾向が見られました。
すべてのセッションが含まれる②(【UU】TOP⇒宿泊)が最も多く「466」
順序が逆の行動も含まれる①(【SS】TOP&宿泊)が、重複の結果よりもやや多く「384」
各セグメントの数値感(特に①と重複との差分)もUA時代の結果と同様の比率となりました。
【24/06/14追記】
BigQueryでセッションのシーケンスを集計した数値と、「セグメントの重複」の数値を比較したところ完全に一致しました。
![](https://assets.st-note.com/img/1718359208310-e3H3ug32TV.png?width=1200)
![](https://assets.st-note.com/img/1718359355868-PJdYbkf1og.png)
BigQueryで使用したクエリ
WITH PageAVisits AS (
SELECT DISTINCT
user_pseudo_id,
FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%S', TIMESTAMP_TRUNC(timestamp_micros(event_timestamp), SECOND), "Asia/Tokyo") AS A_timestamp,
(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS ga_session
FROM
`shimagare-ga4.analytics_365574720.events_*`,
UNNEST(event_params) AS params
WHERE
_TABLE_SUFFIX BETWEEN '20240501' AND '20240507'
AND event_name = 'page_view'
AND params.key = 'page_location'
AND params.value.string_value = 'https://www.lcv.ne.jp/~simagare/'
),
PageBVisits AS (
SELECT DISTINCT
user_pseudo_id,
FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%S', TIMESTAMP_TRUNC(timestamp_micros(event_timestamp), SECOND), "Asia/Tokyo") AS B_timestamp,
(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS ga_session
FROM
`shimagare-ga4.analytics_365574720.events_*`,
UNNEST(event_params) AS params
WHERE
_TABLE_SUFFIX BETWEEN '20240501' AND '20240507'
AND event_name = 'page_view'
AND params.key = 'page_location'
AND params.value.string_value = 'https://www.lcv.ne.jp/~simagare/stay/index.html'
)
SELECT
COUNT(DISTINCT CONCAT(A.user_pseudo_id, '_', A.ga_session)) AS transitioned_sessions
FROM
PageAVisits A
JOIN
PageBVisits B
ON
A.user_pseudo_id = B.user_pseudo_id
AND A.ga_session = B.ga_session
AND A.A_timestamp < B.B_timestamp
まとめ
「セッション セグメント」の「シーケンス」は、2種類のセグメントを掛け合わせることで再現可能ということが分かりました。
①セッション セグメント・条件グループ・同じセッション内:「ページロケーション(ページパス+クエリ文字列でも可)」で「ページA」と「ページB」を指定
②ユーザー セグメント・シーケンス・同じセッション内:「ページロケーション(ページパス+クエリ文字列でも可)」で「ページA」⇒「ページB」を指定
自分は「セッション セグメント」の「シーケンス」を多用していたので、GA4への移行が進んだ後、BQが利用できない案件でのデータ抽出に不便さを感じることが多くありました。
以前と比べると手間はかかりますが、「どうしてもセッションのシーケンスが見たい、、」という時に対応する方法が見つかって良かったです。
このnoteが同じような悩みを抱える分析担当者の助けになれば幸いです。
今後もデジタルマーケティングに関するコンテンツを発信していく予定です。
モチベーションに繋がるので少しでも良い部分があれば「スキ」で反応してもらえると嬉しいです。とても喜びます。