Google Analytics

Google Analytics 4: イベントパラメータをセッションスコープで集計する方法

こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。

Twitter: @exturekwon

みなさんはもうGA4使ってますか?

GA4にはユーザープロパティというユーザースコープのディメンションと、イベントパラメータというイベントスコープ(ヒットスコープ)のディメンションが存在してます。
で、セッションスコープのディメンションが今のところ存在してません。

そこで、イベントパラメータをセッションスコープで集計する方法はないかな?と考えて2通り見つけたので紹介します。

 

1. 分析ハブを使う

分析ハブの「セッションセグメント」を使えば特定のイベントパラメータが発生したセッションの分析が可能です。

セグメントの作り方はこうです。

1. 分析ハブを開いて、セグメントのとなりの「+」をクリックします。

セグメントの作成

2. そしてセッションセグメントを選びます。

セッションセグメントを作成

3. イベントパラメータを送信しているイベントを選び、パラメータと条件を指定します。
例えば、load_geoweatherイベントで送信しているイベントパラメータ「weather」の値が「Clear」に「完全一致する」という条件を選んでみました。

条件を指定

これを繰り返して、Clear(天気:晴れ)、Clouds(天気:くもり)、Rain(天気:雨) というセッションセグメントを3個作りました。

4. そして、作成したセッションセグメントを並べていけば、各イベントパラメータ値が発生したセッション毎の集計が出来ました。

セッションセグメントを並べて分析

 
ただし、この方法だとイベントパラメータの値の数だけセッションセグメントを作る必要があり、そこが難です。

また、上記3の手順でイベントパラメータからディメンションを作成してますが、分析ハブはディメンションを作成する前のデータは反映してくれません。。
というわけでディメンションは先に作っておきましょう。

GA4は急激に進化を続けてる過程なので、もしかしたらいつか「セッションパラメータ」なんて機能が爆誕してくれたら嬉しいですね。。

 

2. BigQueryを使う

さて、私が好きなのはこっちです。
BigQuery最強。

BigQueryを使って、分析ハブで作ったセッションセグメントによる修正を再現してみます。

-- まずは集計期間のデータを横持ちのフラットなレコードにする。
WITH t1 AS (
  SELECT
    event_timestamp,
    CONCAT(user_pseudo_id, CAST((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') as STRING)) AS sid,
    (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'weather') AS weather,
    CASE WHEN event_name = 'page_view' THEN 1
        ELSE 0 END AS page_view,
    CASE WHEN event_name = 'session_start' THEN 1
        ELSE 0 END AS session_start,
    CASE WHEN event_name = 'scroll' THEN 1
        ELSE 0 END AS scroll
  FROM
    `analytics_12345678.events_*`
  WHERE
    _TABLE_SUFFIX BETWEEN '20201029'
    AND '20201029'          
)
-- イベントパラメータweatherを持つセッションIDを抽出
,t2 AS (
  SELECT
    distinct sid,
    LAST_VALUE(weather IGNORE NULLS) OVER(PARTITION BY sid ORDER BY event_timestamp ASC) AS weather
  FROM t1
)
-- セッションID別にイベントを集計 page_view
,t3 AS (SELECT
  sid,  
  SUM(page_view) AS page_view
FROM t1
GROUP BY 1
)
-- セッションID別にイベントを集計 session_start
,t4 AS (SELECT
  sid,  
  SUM(session_start) AS session_start
FROM t1
GROUP BY 1
) 
-- セッションID別にイベントを集計 scroll
,t5 AS (SELECT
  sid,  
  SUM(scroll) AS scroll
FROM t1
GROUP BY 1
)
-- 集計
SELECT
  t2.weather,
  SUM(t3.page_view) AS page_view,
  SUM(t4.session_start) AS session_start,
  SUM(t5.scroll) AS scroll
FROM t2
  LEFT JOIN t3 on t2.sid = t3.sid
  LEFT JOIN t4 on t2.sid = t4.sid
  LEFT JOIN t5 on t2.sid = t5.sid
WHERE t2.weather IS NOT NULL
GROUP BY 1
ORDER BY 2 DESC

結果はこうなりました。

分析ハブと同じ数字が出た

縦横の向きが違うのと、イベントを端折って3個しか選んでませんがそこはスルーして下さい。
分析ハブと同じ数字が出てますね。
SQLは裏切りません。

分析ハブではイベントパラメーターからディメンションを作る前のデータはセグメントに反映出来ませんが、BigQueryならエクスポート設定をした以降の期間のデータに対して集計が可能です。

 

まとめ

今回はGA4のイベントパラメータをセッションスコープで集計する方法について説明しました。

分析ハブでセッションセグメントを作るか、BigQueryで同等のロジックで集計すればセッションスコープの分析が可能です。

GA4はまだまだ進化の途中です。
シン・ゴジラのように第2形態、第3形態とものすごい勢いで新たな機能が出てくる気がしてなりません。
このブログが読まれる頃にはもうセッションパラメータが実装されてたりして・・・w

 
弊社ではGoogleAnalytics/AdobeAnalyticsなどの各Martechツールの導入実装コンサルティングサービスや、GCP/AWSなどのパブリッククラウドを使ったデータ分析基盤構築コンサルティングサービスを提供しております。
お問い合わせはこちらからどうぞ。

関連記事

  1. Adobe Analytics

    Adobe AnalyticsとGoogle Analyticsの違い③ カスタム計測のされ方の違い…

    こんにちは。CEOの原田です。今回もAAとGAの違いを述べていきま…

  2. Adobe Analytics

    Adobe AnaltyicsとGoogle Analytics の「生Webビーコン」をBigQu…

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Twi…

  3. Firebase Analytics

    Firebase Analyticsの新しいBigQueryスキーマを試す

    こんにちは、エクチュアの権泳東(コン・ヨンドン)です。「お名前なん…

  4. Adobe Analytics

    続・SafariのITP2.x対策として別サーバー使ってクッキーを永続化する

    こんにちは、エクスチュアの権泳東/コン・ヨンドン(@exturekwo…

  5. Firebase Analytics

    GoogleAnalytics Apps+Web プロパティをBigQueryと連携したついでにフラ…

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Twi…

  6. Google Analytics

    Google Analytics 4 + BigQueryでよく使う基本的なSQL例

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

最近の記事

  1. Google Analytics 4: イベントパラメータを…
  2. Google Analytics 4 + BigQueryで…
  3. Google Analytics 360: BigQuery…
  4. Google Analytics: ユニバーサルアナリティク…
  5. Server-side GTMのAppEngine設定をカス…
  1. Google BigQuery

    Google Apps Scriptを使ってスプレッドシートからBigQuery…
  2. Tableau

    Tableau:分かりやすいLOD-FIXED編
  3. Adobe Analytics

    Adobe Analytics:計算指標でevents変数を後付けでパーティシペ…
  4. Google Cloud Platform

    GoogleNext 2019レポート:2日目
  5. KARTE

    KARTE:簡単!アンケートの設定、アンケート結果に併せた接客配信
PAGE TOP