GA4でコンテンツグループを計測する方法

2022年2月28日月曜日

6.GA4

t f B! P L

GA4でコンテンツグループを計測する方法_00
Container Ship MSC Texas(https://flic.kr/p/7JR9TF) 


GA4でコンテンツグループを計測する方法がわかりましたので、シェアするためにブログを書いてみました。

ググっても中々、ドンピシャな方法が記載された日本語のページが見当たらないのがGAのコンテンツグループなんです。公式ドキュメントのヘルプページが下記のようなアレですし、、、


[GA4] コンテンツ グループ - アナリティクス ヘルプ https://support.google.com/analytics/answer/11523339?hl=ja&ref_topic=11151952


そこで私が色々とテストし実現できたコンテンツグループの設定方法を書き残してみます。私が対応した方法がベストプラクティスなのかイマイチわかりませんが参考いただけますと幸いです。

もっと良い方法があるよ!という方、いらっしゃいましたら教えて下さい。


GA4の管理画面内でコンテンツグループを設定する

シンプルにGA4の管理画面で設定します。私は後述するGTMでの設定方法を先に実現したのですが、後日GA4の管理画面内のみで設定できる方法に気づき、なんとも言えない気持ちになりました。

しかし、おかげで私は「GA4のコンテンツグループを完全に理解した」


「イベントを変更」という機能について

私はGA4の管理画面でコンテンツグループを設定するのであれば、「イベントを変更」がベストプラクティスなのではないかと考えています。


GA4でコンテンツグループを計測する方法_02


この「イベントを変更する」という機能ですがヘルプページは下記となり、イマイチ理解しづらいヘルプページであり機能です。


[GA4] 管理画面でのイベントの変更と作成 - アナリティクス ヘルプ https://support.google.com/analytics/answer/10085872


ヘルプページや機能のネーミングからは、イベント計測を「間違ったな」とか「本当はこのイベント名にしたいかも」みたいな時に活躍する機能なのではないかと、勝手に思い込んでしまいます。

また、既存で発生させているイベントはデータ計測のために必要なものですから、そのイベントを変更してしまっても大丈夫なのかいう、心理的な抵抗も感じてしまうかもしれません。


しかし、コンテンツグループの計測では「イベントを変更」で既存に発生しているイベントのパラメータに対し"content_group"を追加し、パラメータ値に任意のグループ名を追加することでコンテンツグループの計測が実現するとGA4の管理画面で完結すると考えています。


GA4について少し学んだ方が、データに対する情報の追加と聞くと、「イベントを変更」ではなく「イベントの作成」では?と感じてしまうこともあるかもしれません。

しかし、気をつけておきたいのは「イベントの作成」は特定の条件に応じて別のイベントが発生させる機能です。コンテンツグループのために既存のpage_viewやscreen_viewのイベントとは別のイベントを発生させてしまうのは悪手となります。


ですので、前述のように「イベントを変更」で既存のイベントであるpage_viewやscreen_viewに対し、パラメータを追加するようにイベントを"変更する"というのが現時点におけるベストプラクティスと私は考えています。


「イベントを変更」でのコンテンツグループ設定方法

実際にGA4の管理画面から「イベントを変更」でコンテンツグループの設定方法を紹介します。


「イベントを変更する」を選択

「設定」から「イベント」画面へ遷移し「イベントを変更する」を選択します。


GA4でコンテンツグループを計測する方法_01


「作成」を選択

「イベントを変更」の一覧画面から「作成」を選択します。


GA4でコンテンツグループを計測する方法_03

コンテンツグループで計測したい任意の内容の設定

「イベントを変更」入力画面にて、コンテンツグループで計測したい内容を任意で設定していきます。
初期では下記のような画面です。

GA4でコンテンツグループを計測する方法_04


下記は、パラメータの"page_location"に特定の文字列を含んだ場合の設定例です。

GA4でコンテンツグループを計測する方法_05


上記を簡単に解説すると、送信されたイベントのパラメータ("page_location")から判別し、"content_group"というパラメータを追加し、値は任意で入力した"top_prev_search"を付与し、イベントを変更して送信する命令であることを表します。

上記をDebugViewで見てみましょう。
「イベントを変更」で前述の"content_group"パラメータと値を追加した設定後におけるpage_viewというイベントは下記となります。

GA4でコンテンツグループを計測する方法_06

"content_group"というパラメータと値が付加された状態にイベントが"変更"され、イベントが送信されていることがわかります。

あとは、計測したい任意のコンテンツグループのグルーピングが整うまで「イベントを変更」設定を繰り返します。

Googleアナリティクスの前バージョンであるユニバーサルアナリティクスとGA4を比較して良いと感じたのは、コンテンツグループを設定する際のコンテンツグルーピングルールの柔軟性です。
GA4では下記のように、複数の条件が一致した際のみ「イベントを変更」を発動させることができます。

GA4でコンテンツグループを計測する方法_07

アプリのscreen_viewは、ある程度まとまったスクリーン名で計測されるケースも考えられるため、このような柔軟性をもった設定方法が選択肢に存在することは、Googleアナリティクスの最新バージョンであるGA4の優位性のように感じます。

以上がGA4の管理画面内でコンテンツグループを設定する方法となります。


GTMでのコンテンツグループ設定方法

当然ながらGTMでもコンテンツグループを設定することが可能です。エンジニア経験のない私でも設定できたので、そこまで複雑ではないのではないかと思います。


「変数」を作成

コンテンツグループで計測したいグルーピングルールを変数として作成します。変数のタイプ「正規表現の表」を選択し、グルーピング条件を設定していきます。

下記は、Page Path をキーにコンテンツグループのグルーピングルールを設定した例となります。


GA4でコンテンツグループを計測する方法_08


パターンにPage Path に対して正規表現で一致する文字列を入力し、そのパターンに一致した際は出力に入力した列の文字列で計測されるように設定していきます。

/($|\?.*) というパターンに正規表現で一致したら、"top"というグループ名とするというイメージとなります。

「デフォルト値を設定する」にチェックがついていますが、どの条件にも一致しない場合はデフォルト値に入力した文字列で出力するという設定になります。

また、作成した変数名を"{{contents_groupname}}"としました。


「タグの設定」で「変数」をフィールドへ設定

作成した「変数」をGA4のタグに対して設定します。

設定フィールドにてフィールド名"content_group"を入力し、値に先ほど作成した変数である"{{contents_groupname}}"を設定します。


GA4でコンテンツグループを計測する方法_09

フィールド名で入力した"content_group"がGA4におけるイベントのパラメータとなり、値がパラメータの値になります。つまり、page_view イベントで送信されたイベント内のパラメータに"content_group"が追加され、出力された変数の値が計測させたいグループ名となります。


プレビューでイベント内の詳細を確認

GTMのプレビューモードで送信されたイベント内に含まれるパラメータとパラメータ値を確認しておきます。


GA4でコンテンツグループを計測する方法_10

値も確認しておきます。


GA4でコンテンツグループを計測する方法_11

GTMでPage Path 以外を入力変数に利用するケース

前述までは、入力変数に"Page Path"を利用したケースでした。ほとんどのケースでは"Page Path"で対応可能かと思います。

しかし、レアケースかと思いますが"Page Path"以外を入力変数に利用するケースもあるかもしれません。

例えば、"Page Path"だけでは条件を切り分けることができず、ページのタイトルも条件として利用したいぞ、というケースです。そんな場合の対応方法を補足として紹介します。


カスタムJavaScript変数の作成

まず、ページタイトルを取得するためのカスタムJavaScript変数を作成します。


GA4でコンテンツグループを計測する方法_12


この時、ページタイトルのみを取得する変数ではなく、上記のようにページタイトルとPage Path を同時に取得する変数にします。

というのも、ページタイトルを取得する変数とPage Path を取得する変数を別々に作成し、下記のようにタグのフィールドへ設定してもand条件として意図通りにタグの発火が実行してくれません。


GA4でコンテンツグループを計測する方法_13

ですので、カスタムJavaScriptにてページタイトルとPage Path を同時に取得する変数を作成して対応してみました。


「変数」を作成

上記のカスタムJavaScriptで作成した変数を使い、「正規表現の表」を選択し変数を作成します。下記は、カスタムJavaScriptで作成した変数を入力変数に利用した例です。


GA4でコンテンツグループを計測する方法_14


パターンにはPage Pathとページタイトルが結合した文字列で一致する正規表現を入力し、出力に入力した列の文字列でコンテンツグループのグループ名として計測されるように設定していきます。

あとは、作成したこの変数をGA4 のタグに設定するのは前述と同じです。


GA4のDebugViewでヒット内のパラメータを確認

GA4ではDebugViewという計測実装した内容をテストで確認できる機能が存在します。それぞれ以下のタイミングでテストし確認しておきましょう。


GA4の管理画面内「イベントを変更」でコンテンツグループを設定した直後

GTMでコンテンツグループを設定したらプレビューモード時


発生するイベント内のパラメータに"content_group"があり、設定したネーミングルールでのグループ名が入っていることを確認します。


GA4でコンテンツグループを計測する方法_06


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つの方法で紹介しました。


  1. GA4のUIで用意されている「イベントの変更」
  2. GTM


コンテンツグループの計測が必要になった際は、計測のしやすさの他、保守や管理なども含めて最適な方法を選択して計測するようにしましょう。

QooQ