NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

Google Analytics Data API (GA4)でリアルタイムデータを取得する

本記事は  GA4 Week  最終日の記事です。
📈  4日目  ▶▶ 本記事

こんにちは、廣岡です。 GA4 Weekも最終日となりました。
今回はこのブログではまだ登場していない「Google Analytics Data API (GA4)」について書いていきたいと思います。

Google Analytics Data API (GA4) とは

Google Analytics Data API (GA4)は、GA4プロパティにアクセスし、該当のプロパティで計測されたデータを取得することを可能とするAPIです。 GA4の計測データを活用する独自の分析ツールを開発したり、見たいデータを集約したダッシュボードを作成したりと活用例は様々です。

現在(2022年11月時点)は、v1のベータ版(一部アルファ版)での利用となり、利用可能なメソッドは以下となります。

  • runReport
  • batchRunReports
  • runPivotReport
  • batchRunPivotReports
  • getMetadata
  • runRealtimeReport
  • runFunnelReport (アルファ版)

今回はこの中の「runRealtimeReport」を用いてどのようなデータを取得することができるのか紹介します。

メソッド「runRealtimeReport」について

メソッド「runRealtimeReport」では、GA4プロパティで計測されたリアルタイムデータを取得することが可能です。

GA4プロパティ上のリアルタイム レポートでは、基本的に各カードに「過去30分間」の上位データが6件ずつ表示される仕様ですが、APIを利用することで以下のように、より柔軟なリアルタイムデータ分析を行うことができます。

  • ユニバーサル アナリティクスのリアルタイム レポートと同様「過去5分間」のアクティブ ユーザー数を取得するなど、「過去30分間」よりも細かい単位でデータを確認する
  • 取得したデータをグラフ化し、データの増減を確認する
  • 6件以上の上位データを一画面に表示する

APIで取得できるデータの最大期間(分)はデータの取得元となるプロパティが 360 (有償版) か 標準版かで異なります。

  • 360 (有償版) : 過去60分間のデータ
  • 標準版 : 過去30分間のデータ

利用できる代表的なディメンションと指標
  • ディメンション
ディメンション名 GA4プロパティ (UI) 上のディメンション名 値の例
deviceCategory デバイス カテゴリ Desktop, Tablet, Mobile
platform プラットフォーム web, iOS, Android
eventName イベント名 page_view, screen_view など
unifiedScreenName ページ タイトルとスクリーン名 -

残念ながら現在ページURLを取得するディメンションをAPIで利用することはできませんが、利用可能なディメンションは他にも多数あるので、詳細は下記リンクを参照ください。

Realtime Dimensions & Metrics  |  Google Analytics Data API  |  Google Developers

  • 指標
指標名 GA4プロパティ (UI) 上の指標名
activeUsers アクティブ ユーザー数
eventCount イベント数
screenPageViews 表示回数

Realtime Dimensions & Metrics  |  Google Analytics Data API  |  Google Developers

※ カスタム ディメンションとカスタム指標も利用できますが、現在利用できるのは「ユーザー スコープ」のみとなり、「イベント スコープ」のものはAPIで利用することはできません。


取得データ例

代表的なディメンションと指標をご紹介しましたが、これらを用いてどのようなリアルタイムデータを取得できるか、また、ディメンションと指標以外のフィールドについてJSON形式のリクエストボディ例をいくつかご紹介します。

  • 過去5分間(1分~5分前)のデバイス カテゴリ別アクティブ ユーザー数
{
  "dimensions": [
    {
      "name": "deviceCategory"
    }
  ],
  "metrics": [
    {
      "name": "activeUsers"
    }
  ],
  "minuteRanges": [
    {
      "endMinutesAgo": 1,
      "startMinutesAgo": 5
    }
  ]
}
フィールド 概要
minuteRanges 取得するデータの期間(分)を指定することができます。
・ endMinutesAgo : 取得するデータの期間の開始分。指定しない場合は「0」がデフォルトで設定されます。
・ startMinutesAgo : 取得するデータの期間の終了分。指定しない場合は「29」がデフォルトで設定されます。
  • 過去30分間のPV数上位10ページのページタイトル、アクティブ ユーザー数、ページビュー数
{
  "dimensions": [
    {
      "name": "unifiedScreenName"
    }
  ],
  "metrics": [
    {
      "name": "activeUsers"
    },
    {
      "name": "screenPageViews"
    }
  ],
  "dimensionFilter": {
    "filter": {
      "fieldName": "platform",
      "stringFilter": {
        "value": "web"
      }
    }
  },
  "minuteRanges": [
    {
      "endMinutesAgo": 1,
      "startMinutesAgo": 30
    }
  ],
  "limit": 10,
  "orderBys": [
    {
      "metric": {
        "metricName": "screenPageViews"
      },
      "desc": true
    }
  ]
}
フィールド 概要
dimensionFilter ディメンションとその値を用いて、返却されるデータにフィルタを設定します。
上記例では、ディメンション「プラットフォーム」が「web」のデータに絞り、ウェブサイトで計測されたデータのみを取得する設定をしています。
limit 返却されるデータの行数を指定することができます。
指定しない場合、リクエスト毎に返却されるデータの最大行数は100,000行です。
orderBys 返却されるデータの並び順を指定できます。
上記例では、PV数の降順でデータを並び替える設定をしています。

API Explorerを使ってデータを確認してみる

リクエストボディ例を紹介しましたが、実際にリクエストをしてどのようなデータが返却されるか確認してみましょう。
Googleが提供しているAPI Explorerを利用することで、コードの実装をせずともブラウザ上でGoogle Analytics Data API (GA4)のリクエストを実行し、返却されるデータを確認することができます。

手順
① データの取得元のプロパティに権限のあるGoogleアカウントでログインし、以下ページにアクセスします。
 Method: properties.runRealtimeReport  |  Google Analytics Data API  |  Google Developers

② Request parameters と Request body を入力し、[EXECUTE] を押下します。

  • [property]には、データを取得するGA4プロパティのプロパティIDを properties/{プロパティID}の形式で入力します。
  • [Request body] には、前述のリクエストボディ例のJSONをペーストするか、[Add request body parameters]をクリックしてフィールドを追加し、JSONを作成します。

③ 以下のように「200」と表示されたら正常にレスポンスが返却されています。
レスポンス例

過去30分間のPV数上位2ページのページタイトル(①)、アクティブ ユーザー数(②)、ページビュー数(③)をリクエストした場合のレスポンス例です。
※ あくまで例なのでデータも仮の内容です。

「rows」配下に、リクエストしたディメンションと指標のデータが返却されています。
その他のフィールドについても補足します。

フィールド 概要
rowCount クエリ結果の全行数を表します。リクエスト時に指定するフィールド「limit」の値とは異なります。
上記例では「limit」で「2」を指定した例のため、2ページ分のデータのみレスポンスとして返却されていますが、
過去30分間にページ上で何かしらの操作が行われたページは「60」あることを意味します。
kind リソースの種別を意味します。メソッド「runRealtimeReport」を用いた場合は、固定値「analyticsData#runRealtimeReport」が返却されます。

さいごに

今回はGoogle Analytics Data API (GA4) を用いてどのようなリアルタイムデータが取得できるのかをご紹介しました。 現在はまだv1のベータ版ということもあり、今後より拡張されていくことが期待できるのではないでしょうか。 また別の記事でAPIを用いたツールの実装や他のメソッドについてもご紹介できればと思います。

執筆者廣岡 千菜美(Chinami Hirooka)

Google アナリティクスを中心としたGoogle マーケティング プラットフォーム(GMP)の導入、活用におけるテクニカルサポートを行っています。