はじめに
WebシステムのUI改善で
「1ページ内にある複数のボタンのうち、一番クリック数が多いやつを初期選択(デフォルト)にしよう!!」
と思い設定を行いました。
「GA4でイベント仕込めば一瞬でわかるっしょ」と軽く考えていたら、恥ずかしながらGA4の仕様で少し詰まったので、備忘録として残しておきます。
やりたかったことと、起きた問題
実装としてはシンプルで、ユーザーがボタンを押したときに、以下のようなイベントを仕込みました。
イベント名: button_click
パラメータ: button_name : "送信ボタン" や "キャンセルボタン" など
これで「どのボタンが」「何回押されたか」が完璧にわかるはず!と思って、翌日にGA4の画面(データ探索など)を開いたのですが……。
「イベント数の総数はわかるけど、button_name ごとの内訳がどこにも表示されない……?」
パラメータとしてデータは確実に送っているはずなのに、レポートの「ディメンション(分析の切り口)」に button_name が出てきませんでした。
原因と解決
原因:パラメータは送るだけじゃダメだった
結論から言うと、GA4の仕様でした。
GA4では「イベントパラメータをレポートの軸として使いたいなら、GA4の管理画面で明示的に登録(カスタムディメンション化)しないといけない」というルールが存在しているようです。
データとしてGA4に送られてはいるものの、管理画面で「これは分析に使う大事なデータだよ」と登録してあげないと、レポート画面には表示してくれない仕様のようです。
- GA4の左下のメニューから [管理] を開く
- [データの表示] > [カスタム定義] を選択
- [カスタムディメンションを作成] ボタンを押す
以下のように設定して保存する。
ディメンション名: ボタン名(レポート画面で表示される分かりやすい名前でOK)
範囲: イベント
説明: どのボタンが押されたかを識別するパラメータ(メモ用)
イベントパラメータ: button_name(※ここを実際に送っているパラメータ名と完全に一致させるのがポイント)
個人的なPOINT!
イベントの名前などもそのページごとに固有するのが良いと思います。
これで設定は完了です!
注意点:設定前のデータは遡れない
ここが一番の泣き所なのですが、カスタムディメンションを設定して以降のデータしかレポートには反映されないようです。
まとめ
イベントパラメータは、送るだけは避けて。
レポートで使いたいなら、「カスタム定義」に登録をしたらPerfect
仕様さえ分かってしまえばどうということはないのですが、初見殺し感があるので、これからGA4でカスタム計測を始める方は気をつけてください!
