Open11

GA4/GTM

フロントエンドえんじにゃーフロントエンドえんじにゃー

2022.6.29 GA4導入・設定(Zennスクラップ)
https://zenn.dev/kkenjii/scraps/09baac366cebd1

2022.4.22 GTMを使ってGA4でも仮想ページビューを計測できるようにしてみた
https://blog.dcs.co.jp/marketing/20220422-ga4-virtualpv.html

2021.12.24 React製サービスにおけるGTMとの付き合い方
https://qiita.com/cheez921/items/a9e8d257684098db55c3

2021.7.7 Googleアナリティクス4(GA4)のイベント完全ガイド
https://www.data-be.at/magazine/ga4-events/

GA4イベントを理解
https://www.youtube.com/watch?v=xSdqKgfws6M

[GA4] Google アナリティクス4 データ探索レポートの解説
https://ayudante.jp/column/2021-11-25/11-00/?utm_source=youtube&utm_medium=post&utm_campaign=related_column

GA4:推奨イベントとニーズごとの利用方法
https://support.google.com/analytics/answer/9267735?visit_id=638134398572471138-3045836853

推奨イベント一覧
https://developers.google.com/analytics/devguides/collection/ga4/reference/events?hl=ja&client_type=gtag#tutorial_begin

https://yosshiblog.jp/【ga4】イベントパラメータとユーザープロパティ/

フロントエンドえんじにゃーフロントエンドえんじにゃー

GA4におけるDebugViewの確認方法

検証を行う為にスクリプトタグを確認

  1. 管理
  2. データストリーム
  3. 表示されたデータをクリック
  4. Google タグの「タグ設定を行う」をクリック
  5. 実装手順
  6. 手動でインストールする
  7. スクリプトを確認する

ChromeのExtensionをインストール&有効化

https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna/related

ソースコード

'debug_mode':true を追加して値を投げる

ログが飛んだ参考

gtag('event', 'page_view', {
  'page_location': JSON.stringify({
    'path': '/test',
    'hostname': 'example.com',
    'query': 'q=1',
    'title': 'test',
    'url': 'https://example.com/test?q=1'
  }),
  'page_title': 'page_title',
  'page_nummmmm': 1,
  'debug_mode':true // これが重要
});

確認方法

管理 → DebugViewで確認

フロントエンドえんじにゃーフロントエンドえんじにゃー

わからないがわからないメモ

GA4のイベント種別一覧

  • 自動収集イベント

    • イベント名が決まっている
    • 実装が不要(ただし、一部のイベントの表示・非表示は手動で行う必要あり)
    • 計測停止は出来ない
    • 具体的なイベント名:page_view, first_visit, session_start etc
  • 測定機能の強化イベント

    • イベント名が決まっている
    • 実装が不要
    • 必要なものだけ計測
    • 具体的なイベント名:scroll, click etc
  • 推奨イベント

    • イベント名が決まっている
    • 実装が必要(管理画面やGTMで設定)
    • 具体的なイベント名: join_group、login、purchase、search、sign_up
  • カスタムイベント

    • 必要なものをゼロから作る
    • 実装が必要(管理画面やGTMで設定)
    • 必要に応じて任意の名前で各自設定する

自動収集イベント

以下のリンクにまとまってる
https://support.google.com/analytics/answer/9234069?hl=ja

  • click(ユーザーが現在のドメインから移動するリンクをクリックするたび)
  • file_download(ファイルリンクのクリック)
  • form_start(フォームに初めてアクセスしたとき)
  • form_submit(ユーザーがフォームを送信したとき)
  • page_view(ページが読み込まれるたび、または閲覧ステータスが変更される度)
  • scroll(ページの最下部まで初めてスクロールしたとき)
  • video_complete(動画が終了したとき)
  • video_progress(動画が再生時間の 10%、25%、50%、75% 以降まで進んだとき)
  • video_start(動画の再生が開始されたとき)
  • view_search_results(サイト内検索を行う度に記録、URLクエリパラメータが含まれているかどうか)

デフォルトで利用できるイベント名

  • language
  • page_location
  • page_referrer
  • page_title
  • screen_resolution

デフォルトで利用できるイベント名に対してのルール

  • イベントパラメータに割り当てる値は 100 文字以内
  • page_title パラメータは 300 文字以内
  • page_location パラメータと page_referrer パラメータは 420 文字以内
  • page_location パラメータをオーバーライドする場合は、URL パスが有効であることを確認してください。無効な URL パスを割り当てた場合、[ページの場所] ディメンションは空になります

実運用イメージ

GTM利用者の責務

  • GA4推奨イベント理解
  • 実装者に対し、GTMを発火させるトリガーの定義の理解
フロントエンドえんじにゃーフロントエンドえんじにゃー

ログ設計のハードル

  • GTMの理解
  • GTM + GA4のパターンの理解(主に推奨イベント)
  • GA4の管理画面の使い方の理解(探索機能の使い方)
  • 適切なログを取得する為の設置箇所
  • ログを見て分析する方法(改善につなげる定石的な考え方)
  • 市場のUI/UXの理解
  • メンタルモデルの理解
フロントエンドえんじにゃーフロントエンドえんじにゃー

やりたいこと

Debug_viewで狙ったログを取る

  • 適切な推奨イベントを利用しログが飛ばす(おそらく推奨イベントを利用すると思う)
    • 推奨イベントのリストを見る
    • 推奨イベントを利用し、任意の値をログとして飛ばす
      • view_itemを使ってみる
      • 実装コードが分からない(以下でやってみる)
      const dataParam = {
        event: 'view_item',
        items: [
          {
            index: screenIndex,
          },
        ],
        debug_mode: true,
      };
      
      • 飛んでない
      • 推奨イベント + dataLayer.pushの方法を調査
  • カスタムイベントを利用してログを飛ばす

GTM + GA4の連携する

  • GTMでGA4のイベントを設定
  • ログをトリガーする
  • レポート機能で簡易的に確認できるか
  • 探索機能で確認できるか

カスタムイベントを使うタイミングを把握する

  • おそらく殆どのログは推奨イベントでまかなえると思っている
  • GA4とGTMを連携する際のイベントもカスタムイベントと呼ぶが、それとGA4のカスタムイベントが違うものか同じものかを確認する(多分違うものだと思っている)
フロントエンドえんじにゃーフロントエンドえんじにゃー

他に調査を進めたいもの

レポート機能

イベント名単位のログは集計できるが、イベントパラメータ単位の集計は難しい。

探索機能

イベント名とパラメータを元に詳細なデータを知りたい場合は、探索機能を利用する。

フロントエンドえんじにゃーフロントエンドえんじにゃー

UAとの違い

  • ボタンクリック、ページスクロールをイベントとして計測していた
  • ページビュー、カテゴリ、アクション、ラベルの粒度で検索するのがUAのイベント
  • GA4は全てのユーザー行動をイベントで管理(ページビューもイベント)

GA4のイベント

初回訪問

first_visit → 初めてサイトに来た
session_start → セッションを開始した
page_view → ページを閲覧した

2回目訪問

session_start
page_view
contact_thanks(カスタムイベント)

イベントで何が計測できるのか

イベントは、「イベント名」と「イベントパラメータ」で構成されている。
例えば、以下の様な形で発生する。

イベント名(ユーザーが何をしたかを表す名前)
file_download

イベントパラメータ(イベントごとに追加できる追加情報)
file_extension ファイル拡張子
file_name ファイル名
link_classes リンクのクラス名
link_id リンクのid名
link_text リンクのテキスト

フロントエンドえんじにゃーフロントエンドえんじにゃー

dataLayer.pushでeventを送信
※ここでのeventはGTMに定義したカスタムイベント

GTMに通知

GTMからGA4に通知

DebugViewに載ってくるか
&
レポート
&
探索で確認できるか

フロントエンドえんじにゃーフロントエンドえんじにゃー

今までのGAではイベントカテゴリ、イベントアクション、イベントラベルを設定してクリックの計測などをしていました。
例えば、お気に入りボタンがあったとしてそれを計測したいとなった場合は、
イベントカテゴリ:お気に入りボタン
イベントアクション:クリック
イベントラベル:そのボタンのあるURL

しかし、GA4ではそういったイベントカテゴリやイベントアクション、イベントラベルなどはありません。
なので、イベント名とそのイベントに紐づくイベントパラメータを設定して計測するということになります。
これは設計次第ですが、
イベントカテゴリ:イベント名
イベントアクション:イベントパラメータ1
イベントラベル:イベントパラメータ2
のように計測するのがベストかなと思います。
ちなみに、イベントを計測するとデフォルトでpage_pathというイベントパラメータが、そのイベントが起きたページのURLを自動的に計測してくれるので、
イベントラベルでURLを指定しようとしている場合は、指定しなくても計測はできます。