KAKEHASHI Tech Blog

カケハシのEngineer Teamによるブログです。

Google Analytics4による行動データの取得とレポートの作成方法について

こんにちは、Musubiアカウント管理サービスのフロントエンドエンジニアをしている市川です。

本記事では、Google Analytics4(以下、GA4)にてMusubiアカウント管理サービスによるユーザーの行動データをどのように取得し、役立てているかを解説します。

GA4が登場してまだ日が浅く、参考記事が少ないため試行錯誤が必要でしたが、何かのお役に立てれば幸いです。

アーキテクチャについて

まず、GA4に行動データを送信する際、Google Tag Manager(以下、GTM)を経由しています。

フローとしては、GTMにてGoogleタグやイベントタグを設定し、特定のイベントを起こすことでGA4に行動データを送信する流れとなります。

本記事で紹介する行動データについて

アカウント管理では、ユーザーが所属している薬局を検索できる機能があります。

今回は、この薬局を検索できる機能(以下、薬局検索モーダル)に焦点を当て、ユーザーの行動データをどのように取得しているか、そしてそれらのデータを集計したレポート作成方法を解説します。

GTM側の設定

まず、GTMの設定は大きく分けて2種類あります。

1, トリガーの設定

トリガーとは、どのタイミングでイベントを起こすかを判断する項目です。 例として、薬局検索モーダルを開いた時のイベントを取得したいと思います。

イベント名

このイベント名(この例では pushPharmacySearchDialogOpenToGA)がGTMに送信された際、このトリガーが発動します。

このトリガーの発生場所

また、イベント名がGTMに送信される際に、トリガーに対する詳細な条件を指定できます。
上図では、ページのhostnameが example.com の時にのみ、トリガーが発動するようにしている例です。

2, イベントタグ

イベントタグは、実際にGA4へ行動データを送信する項目です。
1で設定したトリガーを元にそのイベントタグを紐づけ、GA4に送信します。

上図では、1で設定した薬局検索モーダルを開いたタイミングで発動するトリガーを元に、イベント名 薬局検索モーダル表示数 というイベントをGA4に送信しています。

上図はGA4の画面で、 薬局検索モーダル表示数 というイベント名とイベント数が取得できている様子です。

つまり、ここまでの流れをまとめると、

このような流れとなります。

イベントタグの種類について

次に、GA4に送信するイベントタグは大きく分けて2種類あります。

1, ユーザー行動によって発生したイベント

ユーザー行動によって発生したイベントとは、たとえば上記で解説した 薬局検索モーダルを開いた 場合などが該当します。

2, ユーザープロパティ

ユーザープロパティとは、ユーザーの特定の情報を指します。
今回は、ユーザーが所属している薬局数に応じた統計を取る為、 ユーザーの所属薬局数 をGA4に送信しています。

設定方法は、イベントタグの設定時に ユーザープロパティ という項目へ任意のプロパティ名と値を設定します。

GA4側の設定

ここからはGA4によって、GTMより送られてきた行動データをどのように取得し、レポート化しているかを説明します。

カスタムディメンションの設定

GA4では、レポート用のデータを作成する為に特定のデータをカスタムに定義する必要があります。

たとえば、先ほどのユーザープロパティにて ユーザーの所属薬局数 をGA4に送信しましたが、これをレポートで使う際は カスタムディメンション という項目にて定義する必要があります。

上図では pharmacy_counts というユーザープロパティから ユーザー所属薬局数 というカスタムディメンション名を作成しています。

データ探索ツールの作成

GA4のレポート作成はいくつかありますが、ここでは データ探索ツール という機能にてレポート作成を行います。

先ほどの ユーザー所属薬局数 というカスタムディメンションを使って、ユーザーの所属薬局数に応じたレポートを作成します。

上図が完成したレポートのイメージで、各設定方法を解説します。

ユーザー所属薬局数のセグメント化

ユーザー所属薬局数 は、各ユーザーの所属数ごとにイベント情報が送られます。
(たとえばAさんの所属薬局数は1薬局、Bさんの所属薬局数は2薬局という内容です。)

よって、ある程度の薬局数単位を設定する必要がある為、本件では

  • 1〜5薬局
  • 6〜15薬局
  • 16〜100薬局
  • 101薬局〜

の計4つにセグメントしています。

このセグメントを作成する際、一工夫が必要でした。
GAレポートでは、現状では 数値がXX〜YY件 のような薬局数のレンジによる設定をデフォルトでは持たない為、正規表現によって設定する必要があります。

正規表現 ^(1[6-9]|[2-9][0-9]|100)$ とすることで16〜100件までを表す例

レポートの設定

今回の測定では、レポートは行をユーザー所属薬局数、列を薬局検索モーダル表示数とすることにしました。

設定方法は少し細かいのですが

のように行を設定します。

次に、

のように列を イベント名 、値を イベント数と設定することで、行と列の項目が作成されます。

さらに、フィルタという項目に 薬局検索モーダル表示数 と絞り込むことで、今回表示したい薬局検索モーダルを表示した際のデータがレポートに表示されるようになりました。

レポートに反映されるまでの時間

レポートは最短で前日までのデータしか反映できない為、今すぐにデータを比較したいということができないようです。

また、データ自体にもタイムラグがあるようで、完全なデータ取得には48時間程度かかる可能性があり、それらを考慮した作業時間を確保することが望ましいでしょう。

終わりに

以上、GA4による行動データの取得方法について解説しました。

より高度なデータ収集、レポート作成の方法も存在するそうなので、引き続きキャッチアップを進めていければと考えています。

最後までお読みいただき、ありがとうございました!