Google Analytics GA4 APIの使い方:CData Google Analytics Driver

杉本和也 | 2022年08月18日

こんにちは。CData Software Japan リードエンジニアの杉本です。

前回の Blog で Google Analytics 4 の有効化およびシンプルなAPIの使い方を解説しました。

今回はCData Google Analytics DriverでどのようにGA4 APIに接続するのか? を解説していきたいと思います。

なお、本記事ではわかりやすいように「Cdata Excel Add-in for Google Analytics」を用いましたが、ODBCやJDBC、CData Syncなどでも共通で利用できます。

https://www.cdata.com/jp/drivers/ganalytics/excel/

GA4の対応バージョンについて

まず、GA4の対応バージョンについて確認しておきましょう。

CData Google Analytics Driver のGA4 APIはVersion番号7816以降で利用可能です。

https://cdn.cdata.com/help/DAG/jp/jdbc/pg_changelog.htm

とはいえ、個人的には少し注意が必要と思っています。と言うのも、内部で利用しているGoogle Analytics Data APIそのものが2022年8月現在においてもまだBetaバージョンでのサポートであり、CData Driverも内部ではこのV1BetaのAPIを利用しています。

https://developers.google.com/analytics/devguides/reporting/data/v1

CDataでは定期的にAPIのバージョンチェックを行っていますので、正式リリースされ次第、改めて内部で利用しているAPIの変更、調整を行う予定です。CData Driver本体そのものも定期的なアップデートをおすすめします。

使い方:Universal Analytics APIの場合の接続設定

それでは実際に接続していきましょう。

まず以前のバージョンとの接続方法の違いを確認するためにUniversal Analytics APIに接続してみます。

Universal Analytics APIに接続する際に必要なプロパティは2つです。

「Schema」で「UniversalAnalytics」を選択し、「Profile」で分析したいGoogle Analytics WebSiteのProfile IDを指定するだけです。

https://cdn.cdata.com/help/DAG/jp/xls/pg_connectionx.htm

Profile Idは以下のように確認できます。

入力後、接続テストをクリックすることで以下のようにブラウザが立ち上がり、アクセス許可が求められます。内容を確認し、問題が無ければ「続行」をクリックしましょう。

これで以下のようにメッセージが表示されれば接続完了です。

使い方:Google Analytics 4 APIの場合の接続設定

続いて GA4 APIで接続を行ってみます。今度は接続設定で「GoogleAnalytics4」を選択し、「Property Id」を指定します。Universal Analytics APIと異なり、Profileは指定しないので注意しましょう。

「Property Id」はGoogle Analytics 以下の画面上で確認できます。

接続テストをクリックすると先ほどのUniversal Analytics APIの時と同じように、以下のようにブラウザが立ち上がり、アクセス許可が求められます。内容を確認し、問題が無ければ「続行」をクリックしましょう。

これで接続が完了です。

このようにUniversal Analytics APIからGoogle Analytics 4 APIに切り替える際には、Schemaの変更と Property Id の指定が必要になるので注意しましょう。

データを取得してみる

それでは実際に、Google Analytics 4 APIを使ってデータを取得してみましょう。

まず予めお伝えしておくと、CData Driver でGoogle Analytics のデータを取得するコツは、「Google Analytics の画面上のどのグラフのデータを取得したいか?」を意識することです。

例えば、リアルタイムなユーザーのアクセス状況のグラフの中で「ページごとの表示回数」を取得したいと仮定します。

CData Driverではこのデータは「Active Users」テーブルで取得できるのですが、ここで注意が一つあります。「すべての項目を指定してクエリしてはいけない」ということです。Google Analytics APIは集計結果を扱うAPIであり、取得される結果は指定したカラムに応じて集計された結果となるためです。

https://cdn.cdata.com/help/DAG/jp/xls/pg_GoogleAnalytics4table-activeusers.htm

例えば、上記の場合は、「ページの名前(UnifiedScreenName)」毎の「ユーザー数:表示回数(ActiveUsers)」となるため、以下のようなSQLでクエリする必要があります。

「SELECT UnifiedScreenName, ActiveUsers FROM ActiveUsers」

これでデータを取得すると以下のように結果が表示されます。(画面キャプチャから時間が立っているので、少しデータが変わっていますね)


続いてエンゲージメントの「イベントカウント」の数字を取得してみましょう。

このデータはEngagementテーブルから取得できます。

https://cdn.cdata.com/help/DAG/jp/xls/pg_GoogleAnalytics4table-engagement.htm

イベント名毎のイベントカウントを取得するので、SQLは以下のようになります。

「SELECT EventName, EventCount FROM Engagement」

このように取得できました。

軸となる要素は複数指定できます。例えば、「日付:Date」毎の「イベント名」毎の「イベントカウント」であれば、以下のようなクエリです。

以下のように日付毎で分割された結果が取得できました。

集計結果として取得する期間も指定できます。以下のようにStartDateとEndDateを使って指定してみましょう。

「SELECT EventName, EventCount FROM Engagement WHERE StartDate = '2022/08/01' AND EndDate = 'today'」

数字が少し小さくなったのがわかりますね。

このように「集計軸(~~毎)」となる値は「Dimension」、集計結果の数値は「Metric」という項目として定義されています。ヘルプにはそれぞれ利用可能なDimensionとMetricの情報が書かれているので、参考にしてみてください。

Universal Analytics API と Google Analytics 4 APIの違いについて

ここまで、新しいGoogle Analytics 4 API を CData Driverで使う方法について解説してきたのですが、最後に今までのAPIであるUniversal Analytics API と Google Analytics 4 APIの違いについて少しだけ触れておきましょう。

すでに画面上でUniversalからGA4に切り替えている方はお気づきかと思いますが、GA4は分析のための数値の考え方が全く異なるサービスになっています。

以下のGA4の公式アナウンスでも触れられている通り、データの観点がセッションからイベントに変わっています。

https://support.google.com/analytics/answer/10089681?hl=ja


これにより、集計結果を算出するアプローチが変わってしまったため、誤解を恐れずに言ってしまえば、Google Analytics 4 APIはUniversal Analytics APIに対して全く互換性がありません。

これはCData Driver のドキュメントに掲載されている各データモデルを参照してもらえるとよくわかります。テーブル名や項目名などがほとんど異なることがおわかりいただけます。

https://cdn.cdata.com/help/DAG/jp/xls/pg_UniversalAnalyticsallviews.htm

https://cdn.cdata.com/help/DAG/jp/xls/pg_GoogleAnalytics4allviews.htm

そのため、「Universal Analyticsでこういう集計をしていたのだけど、GA4で同じように集計するにはどうしたらいいの?」という質問に対しては「ご利用いただけません」と回答せざるを得ません。

個人的な見解でもありますが、改めて「GA4でどのようにデータを取得し、分析、可視化するべきなのか?」を出発点として、考えるのが良いのではないかと思います。基本的にGoogle Analytics の画面上で表現できるグラフや集計結果はAPIでも同じように取得できるはずなので、まずはそこからなのかな?とも思っています。

おわりに

2回に渡ってGoogle Analytics GA4 APIを解説してきました。ここまで大きな変更だと最早別なサービスと言っても過言ではないなと感じています。

とはいえ、GA4公式でも解説されている通り、様々なデバイスの出現により、より私達の環境に沿った分析が求められているというのは間違いないでしょう。ぜひ新しいGA4のプラットフォームを触っていただきながら、APIのキャッチアップもしてもらえればなと思います。

CData Google Analytics Driverを使うにあたって気になる点、こういう集計をしたい時どうしたらいいの? といった質問・疑問があれば、テクニカルサポートフォームまでお気軽にお問い合わせください。

https://www.cdata.com/jp/support/submit.aspx