GA4
リソース
GA4 次世代のアナリティクス、Google アナリティクス 4 のご紹介 - アナリティクス ヘルプ
公式Docs。これをまずは読め。
Google Analytics 4 ガイド – アクセス解析ツール「Google Analytics 4」の実装・設定・活用のための情報サイト
非公式のクソデカ詳細まとめ
Googleアナリティクス4(GA4)のイベント完全ガイド!UAとの違いや、種類、計測設定手順、分析ポイントを詳しく解説│Databeat Marketing Magazine
手軽なまとめ(とはいえでかい)
UA→GA4 analytics.js から gtag.js に切り替えるためのヒント - アナリティクス ヘルプ
GA4 接続済みのサイトタグについて - アナリティクス ヘルプ
移行の話
React/TypeScript のプロダクトに GA4 を導入しようとしたら思ったより大変だった話
SPAの場合
イベント  |  Google アナリティクス 4 向けの Measurement Protocol  |  Google for Developers
サーバーからGA4にイベントを送る場合の例
GA4 BigQuery Export schema - Analytics Help
GA4のBigQueryのschema情報
A Guide to Google Analytics Client ID (2023) - Analytics Mania
client_idとuser_idの違いなどについて詳しい
何
旧来のUA(ユニバーサルアナリティクス)が2023-07-01で廃止されてGA4(Google Analytics 4)に切り替わる。互換性はあまり無くほぼ別物。
GA4では全てがイベントとパラメータというシンプルな仕様になった
GA4では、ほぼすべてのデータが「イベント」で送信されるようになりました。今まで「ページビュー」「セッション」などそれぞれの指標で計測していたデータもイベントで計測します。
Web/Appでの境目がなくなり横断的に分析できるようになった
BigQueryと無料で連携できるようになった
Measurement Protocolを使うとHTTP経由でGA4の特定のプロパティにイベントを送信できる
イベントの種類
自動収集イベント
デフォルトで収集されるやつ
拡張計測機能イベント
管理画面でオンにすると収集されるやつ
推奨イベント
業種ごとに設定しておくと良いやつ
カスタムイベント
完全に自由なやつ
メモ
Google アナリティクス 4 プロパティの基本的なデータ収集は、gtag の「config」ディレクティブで有効にします。こうすると、ページで読み込まれる際に、自動的に収集されるイベントとして page_view イベントが収集されるようになります。
analytics.jsからの移行は結構めんどくさいが、gtag.jsからの移行ならUAからGA4へのリンク設定をしてMEASUREMENT_IDをUA-OOOOOOOOからG-OOOOOOOに変更するだけでよさそうなので楽
イベント系は基本的には下記で済みそう: 中段の設定例を参照
init&send pv
ページビュー  |  Google アナリティクス 4 プロパティ  |  Google for Developers
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
A Guide to Google Analytics Client ID (2023) - Analytics Maniaがめちゃくちゃ詳しい
client_id(cookieの_ga内の値)
client_idはいわゆるsession内のイベントをまとめるために使われる
client_idはどうすべきか問題
What should the client_id be when sending events to Google Analytics 4 using the Measurement Protocol? - Stack Overflow
client_idのvalueはstringしか受け付けないので注意(少しはまった...)
parametersの仕様
Measurement Protocolのparametersの値に指定できる文字数は100文字以下と書いてあるが全角だと33文字しか受け付けてくれないという謎仕様が…。正確には100byteまでということか。
google analytics ga