GA4でコンテンツグループを計測する方法がわかりましたので、シェアするためにブログを書いてみました。
ググっても中々、ドンピシャな方法が記載された日本語のページが見当たらないのがGAのコンテンツグループなんです。公式ドキュメントのヘルプページが下記のようなアレですし、、、
[GA4] コンテンツ グループ - アナリティクス ヘルプ https://support.google.com/analytics/answer/11523339?hl=ja&ref_topic=11151952
もっと良い方法があるよ!という方、いらっしゃいましたら教えて下さい。
GA4の管理画面内でコンテンツグループを設定する
シンプルにGA4の管理画面で設定します。私は後述するGTMでの設定方法を先に実現したのですが、後日GA4の管理画面内のみで設定できる方法に気づき、なんとも言えない気持ちになりました。
しかし、おかげで私は「GA4のコンテンツグループを完全に理解した」
「イベントを変更」という機能について
私はGA4の管理画面でコンテンツグループを設定するのであれば、「イベントを変更」がベストプラクティスなのではないかと考えています。
この「イベントを変更する」という機能ですがヘルプページは下記となり、イマイチ理解しづらいヘルプページであり機能です。
[GA4] 管理画面でのイベントの変更と作成 - アナリティクス ヘルプ https://support.google.com/analytics/answer/10085872
ヘルプページや機能のネーミングからは、イベント計測を「間違ったな」とか「本当はこのイベント名にしたいかも」みたいな時に活躍する機能なのではないかと、勝手に思い込んでしまいます。
また、既存で発生させているイベントはデータ計測のために必要なものですから、そのイベントを変更してしまっても大丈夫なのかいう、心理的な抵抗も感じてしまうかもしれません。
しかし、コンテンツグループの計測では「イベントを変更」で既存に発生しているイベントのパラメータに対し"content_group"を追加し、パラメータ値に任意のグループ名を追加することでコンテンツグループの計測が実現するとGA4の管理画面で完結すると考えています。
GA4について少し学んだ方が、データに対する情報の追加と聞くと、「イベントを変更」ではなく「イベントの作成」では?と感じてしまうこともあるかもしれません。
しかし、気をつけておきたいのは「イベントの作成」は特定の条件に応じて別のイベントが発生させる機能です。コンテンツグループのために既存のpage_viewやscreen_viewのイベントとは別のイベントを発生させてしまうのは悪手となります。
ですので、前述のように「イベントを変更」で既存のイベントであるpage_viewやscreen_viewに対し、パラメータを追加するようにイベントを"変更する"というのが現時点におけるベストプラクティスと私は考えています。
「イベントを変更」でのコンテンツグループ設定方法
実際にGA4の管理画面から「イベントを変更」でコンテンツグループの設定方法を紹介します。
「イベントを変更する」を選択
「設定」から「イベント」画面へ遷移し「イベントを変更する」を選択します。
「作成」を選択
「イベントを変更」の一覧画面から「作成」を選択します。
コンテンツグループで計測したい任意の内容の設定
GTMでのコンテンツグループ設定方法
当然ながらGTMでもコンテンツグループを設定することが可能です。エンジニア経験のない私でも設定できたので、そこまで複雑ではないのではないかと思います。
「変数」を作成
コンテンツグループで計測したいグルーピングルールを変数として作成します。変数のタイプ「正規表現の表」を選択し、グルーピング条件を設定していきます。
下記は、Page Path をキーにコンテンツグループのグルーピングルールを設定した例となります。
パターンにPage Path に対して正規表現で一致する文字列を入力し、そのパターンに一致した際は出力に入力した列の文字列で計測されるように設定していきます。
/($|\?.*) というパターンに正規表現で一致したら、"top"というグループ名とするというイメージとなります。
「デフォルト値を設定する」にチェックがついていますが、どの条件にも一致しない場合はデフォルト値に入力した文字列で出力するという設定になります。
また、作成した変数名を"{{contents_groupname}}"としました。
「タグの設定」で「変数」をフィールドへ設定
作成した「変数」をGA4のタグに対して設定します。
設定フィールドにてフィールド名"content_group"を入力し、値に先ほど作成した変数である"{{contents_groupname}}"を設定します。
フィールド名で入力した"content_group"がGA4におけるイベントのパラメータとなり、値がパラメータの値になります。つまり、page_view イベントで送信されたイベント内のパラメータに"content_group"が追加され、出力された変数の値が計測させたいグループ名となります。
プレビューでイベント内の詳細を確認
GTMのプレビューモードで送信されたイベント内に含まれるパラメータとパラメータ値を確認しておきます。
値も確認しておきます。
GTMでPage Path 以外を入力変数に利用するケース
前述までは、入力変数に"Page Path"を利用したケースでした。ほとんどのケースでは"Page Path"で対応可能かと思います。
しかし、レアケースかと思いますが"Page Path"以外を入力変数に利用するケースもあるかもしれません。
例えば、"Page Path"だけでは条件を切り分けることができず、ページのタイトルも条件として利用したいぞ、というケースです。そんな場合の対応方法を補足として紹介します。
カスタムJavaScript変数の作成
まず、ページタイトルを取得するためのカスタムJavaScript変数を作成します。
この時、ページタイトルのみを取得する変数ではなく、上記のようにページタイトルとPage Path を同時に取得する変数にします。
というのも、ページタイトルを取得する変数とPage Path を取得する変数を別々に作成し、下記のようにタグのフィールドへ設定してもand条件として意図通りにタグの発火が実行してくれません。
ですので、カスタムJavaScriptにてページタイトルとPage Path を同時に取得する変数を作成して対応してみました。
「変数」を作成
上記のカスタムJavaScriptで作成した変数を使い、「正規表現の表」を選択し変数を作成します。下記は、カスタムJavaScriptで作成した変数を入力変数に利用した例です。
パターンにはPage Pathとページタイトルが結合した文字列で一致する正規表現を入力し、出力に入力した列の文字列でコンテンツグループのグループ名として計測されるように設定していきます。
あとは、作成したこの変数をGA4 のタグに設定するのは前述と同じです。
GA4のDebugViewでヒット内のパラメータを確認
GA4ではDebugViewという計測実装した内容をテストで確認できる機能が存在します。それぞれ以下のタイミングでテストし確認しておきましょう。
GA4の管理画面内「イベントを変更」でコンテンツグループを設定した直後
GTMでコンテンツグループを設定したらプレビューモード時
発生するイベント内のパラメータに"content_group"があり、設定したネーミングルールでのグループ名が入っていることを確認します。
DebugViewでヒット内のパラメータに問題がなければOKです!
GA4 の「イベントを変更」で設定した場合はそのままで、GTMで設定した場合は設定したタグや変数のバージョンを公開しましょう。
設定する場合、GA4の「イベントを変更」とGTMのどちらが良いのだろう?
GA4でコンテンツグループを計測する方法として、GA4の「イベントを変更」とGTMでの対応方法を紹介しました。この他に、ヘルプページに記載されているようにトラッキングコードを変更する方法もあります。
どちらの方法でも計測されれば結果的には良いのですが、それぞれメリットになりそうなこともあるので記載しておきます。
GA4の「イベントを変更」で計測するメリット
GA4の「イベントを変更」でコンテンツグループを計測する際の主なメリットとして下記のようなものがあります。
- GTMを使わなくても設定できる
- 複数の条件でも簡易的に設定できる
GTMで計測するメリット
GTMでコンテンツグループを計測する際の主なメリットとして下記のようなものがあります。
- イベント計測をタグマネージャー側で一元管理できる
- グルーピングしたいグループ数が多いときに「正規表現の表」は楽
GTMやGA4の「イベントの変更」でコンテンツグループを計測する必要があるのか?
最後にGTMやGA4の「イベントの変更」でコンテンツグループを計測する必要があるのか考えてみます。
というのも、GA4は標準のレポートUIでは分析業務で必要となる可能なことが限られており、現状ではBigQueryへのエクスポートやデータポータルでの可視化が利用ユーザーに求められてしまっているように思います。
その場合、BigQuery側でコンテンツグループ相当のカラムを作成したり、データポータルの計算フィールドでコンテンツグループとして利用できるディメンションを作ることができます。
さらに今回、ご紹介したGTMや「イベントの変更」で、データ計測時にコンテンツグループとして計測する方法では1種類のグルーピングしか定義できないため、前述のBigQuery側やデータポータル側での対応のほうが汎用性が高いと言えます。
では、GTMやGA4の「イベントの変更」でコンテンツグループを計測するメリットはあるのでしょうか。
考えつくのは以下の点があげられます。
GA4の探索レポートでコンテンツグループを使う
GA4を利用するユーザーの中にはBigQueryが利用できないユーザーが多く存在すると想定されます。また、データポータルも利用できない環境のユーザーもいるかもしれません。
そのようなケースの場合、GA4のUI内でデータを確認することが求められます。
標準レポートでは課題を発見するアドホックな分析はもちろんこと、定常的にデータを確認するレポートは難しいことから、探索レポートを利用することになります。探索レポートではセグメントやフィルタ機能が存在しますが、コンテンツグループ相当のことを行うのは機能としての限界があるように思います。
データ計測時にコンテンツグループを計測しておけばGA4の探索レポートで利用できるため、そのあたりの課題は解決することができます。
データビジュアライゼーション時のスピード面
データビジュアライゼーション時に僅かながらにスピード面でも影響があるかもしれません。
データをデータポータルなどのBIツールでビジュアライズする際、既に集計されているデータなのか、ビジュアライズ時に計算するのかによって、データビジュアライゼーション時のスピード面に差がつくケースが存在します。特にデータボリュームが大きい場合ビジュアライズ時の計算負荷は高まるため、スピードが遅くなりがちです。
データ計測時にコンテンツグループを計測しておけば集計されたデータとして利用できるため、計算してビジュアライズする際のスピードにおける課題は発生しづらくなります。
計測設定時は計画的に
以上、GA4でコンテンツグループを計測する方法を以下の2つの方法で紹介しました。
- GA4のUIで用意されている「イベントの変更」
- GTM
コンテンツグループの計測が必要になった際は、計測のしやすさの他、保守や管理なども含めて最適な方法を選択して計測するようにしましょう。