GA4
リソース
公式Docs。これをまずは読め。
非公式のクソデカ詳細まとめ
手軽なまとめ(とはいえでかい)
移行の話
SPAの場合
サーバーからGA4にイベントを送る場合の例
GA4のBigQueryのschema情報
client_idとuser_idの違いなどについて詳しい
何
旧来のUA(ユニバーサルアナリティクス)が2023-07-01で廃止されてGA4(Google Analytics 4)に切り替わる。互換性はあまり無くほぼ別物。
GA4では全てがイベントとパラメータというシンプルな仕様になった
GA4では、ほぼすべてのデータが「イベント」で送信されるようになりました。今まで「ページビュー」「セッション」などそれぞれの指標で計測していたデータもイベントで計測します。
Web/Appでの境目がなくなり横断的に分析できるようになった
BigQueryと無料で連携できるようになった
イベントの種類
自動収集イベント
デフォルトで収集されるやつ
拡張計測機能イベント
管理画面でオンにすると収集されるやつ
推奨イベント
業種ごとに設定しておくと良いやつ
カスタムイベント
完全に自由なやつ
メモ
Google アナリティクス 4 プロパティの基本的なデータ収集は、gtag の「config」ディレクティブで有効にします。こうすると、ページで読み込まれる際に、自動的に収集されるイベントとして page_view イベントが収集されるようになります。
analytics.jsからの移行は結構めんどくさいが、gtag.jsからの移行ならUAからGA4へのリンク設定をしてMEASUREMENT_IDをUA-OOOOOOOOからG-OOOOOOOに変更するだけでよさそうなので楽
init&send pv
gtag('config', MEASUREMENT_ID, {}) or gtag('event', 'page_view', {})
cookie設定
gtag('config', MEASUREMENT_ID, {'cookieName': 'gaCookie', 'cookieDomain': 'blog.example.co.uk', 'cookieExpires': 60 * 60 * 24 * 28})
カスタムイベント
gtag('event', 'action_name', {'eventCategory': 'category_value', 'dimension5': 'custom data' })
注意: レポートにパラメータを表示するには、管理画面でイベントをパラメータとして登録する必要がある
と書いてあったがイベントを送信するだけで表示されたが...。コンバージョンイベントとして計測するにはということかな。
BigQueryに取り込んだGA4データへのクエリ例
code:sql
SELECT DATE(TIMESTAMP_MILLIS(cast(event_timestamp/ 1000 AS int64)), 'Asia/Tokyo') AS event_date,
count(user_pseudo_id) AS COUNT,
event_name
FROM analytics_<GA_ANALYTICS_PROPERTY>.events_* t
WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE('Asia/Tokyo'), interval 2 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE('Asia/Tokyo'), interval 1 DAY))
GROUP BY event_date,
event_name
ORDER BY event_date DESC;
client_id
client_id(cookieの_ga内の値)
client_idはいわゆるsession内のイベントをまとめるために使われる
client_idはどうすべきか問題
client_idのvalueはstringしか受け付けないので注意(少しはまった...)
parametersの仕様
Measurement Protocolのparametersの値に指定できる文字数は100文字以下と書いてあるが全角だと33文字しか受け付けてくれないという謎仕様が…。正確には100byteまでということか。