Google Analytics

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

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

みなさんはもう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. Google Analytics

    Google Analytics: ユニバーサルアナリティクスの拡張Eコマース用dataLayerを…

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

  2. Adobe Analytics

    Adobe Analytics: BigQueryでパーティシペーション指標を集計するSQL

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

  3. Adobe Analytics

    Adobe AnalyticsのDatafeedをBigQueryのColumn-based Tim…

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

  4. Adobe Analytics

    Adobe AnalyticsとGoogle Analyticsの違い② サンプリングの有無

    こんにちは。CEOの原田です。AAとGAの違いの2段目にいきます。…

  5. Google BigQuery

    Tableau : BigQueryでLOD計算が使えない場合の対処法

    こんにちは、エクスチュアの渡部です。Tableau×BigQu…

  6. Google BigQuery

    Big QueryでWindow関数を用いて、累積和を計算する

    こんにちは。エクスチュアでインターンをさせて頂いている中野です。…

最近の記事

  1. YOTTAA:ECサイトで見るべき8つのサイトパフォーマンス…
  2. 【初心者向け】AWSを学ぶ前に確認したい用語
  3. サーバーサイドGTM: ウェブコンテナを使って1stパーティ…
  4. BigQuery: テーブルに格納されたURL文字列をKey…
  5. AdobeAnalytics: Adobe I/OのAPIを…
  1. Adobe Analytics

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

    Adobe Experience Platformを調べてみた – …
  3. Tableau

    Tableau:KPI達成状況を把握出来るグラフを作る
  4. Adobe Analytics

    Adobe Analytics: BigQueryでパーティシペーション指標を集…
  5. Google Analytics

    Google Tag Manager上でGoogle Analyticsのcli…
PAGE TOP