• Google AnalyticsのReal Time Reporting APIは現在の活動を定期レポートと分けて取得する

Google AnalyticsのReal Time Reporting APIは現在の活動を定期レポートと分けて取得する

公開日: 執筆:佐藤

Real Time Reporting APIは、Google Analyticsで現在起きている活動をプログラムから取得するためのAPIです。公開直後のページに利用者が来ているか、どのページが見られているかなど、すぐ確認する必要がある情報へ使います。

日別や月別の成果を評価する定期レポートの代わりにはなりません。また、現在はlimited betaで、サービス品質保証もありません。APIから数値を取得できることと、業務上の判定へ使えることを分けて設計します。

Real Time Reporting APIはViewと指標を指定して取得する

Real Time Reporting APIの公式開発資料では、取得対象のViewと一つ以上の指標を指定して問い合わせます。必要に応じて、ディメンションやフィルタを加えます。結果は表として返されます。

現在サイトを利用している人数を得る最小の問い合わせは、次の形です。

GET https://www.googleapis.com/analytics/v3/data/realtime
  ?ids=ga:12345
  &metrics=ga:activeVisitors

12345は説明用のView IDです。実装するAccountのView IDへ置き換えます。idsに取得対象、metricsに取得する数値を指定します。

利用できる指標の公式資料では、ga:activeVisitorsを、現在サイトを利用している人の数を表す指標として示しています。ページ別や流入元別に分ける場合は、目的に合うディメンションを追加します。

現在の確認と期間の評価は質問が違う

Real-Timeと定期レポートは、同じアクセスデータを速さだけで使い分けるものではありません。答える質問が違います。

確認したいこと 使う情報 判断
公開したページへ現在アクセスがあるか Real-Time 計測と公開状態を確認する
現在どのページへ利用者が集まっているか Real-Time 表示や案内に問題がないか調べる
一週間でどの流入元が問い合わせにつながったか 期間を指定したレポート 流入と成果を比べる
一か月の施策が費用に見合ったか 期間を指定したレポート 同じ定義と期間で評価する

この表は用途を分けるための仮例です。現在の利用者数が多いことだけでは、問い合わせや購入が増えたとは判断できません。反対に、公開確認のために一か月分の集計を待つ必要もありません。

短い間隔の問い合わせはquotaを先に使い切る

Real-Timeの表示を自動更新する場合、短い間隔でAPIへ問い合わせたくなります。しかし、利用者が画面を開くたびにGoogle Analyticsへ直接問い合わせると、同じ数値を何度も取得します。

公式開発資料は、短い間隔でのpollingが日次quotaを早く消費する可能性を示し、server-side cacheを使うよう案内しています。実装では、次の三つを先に決めます。

  1. 数値を何の判断へ使うか
  2. 何秒または何分ごとの更新が必要か
  3. 同じ結果を何人へ、どのくらい再利用するか

一秒ごとの変化が不要なら、更新間隔を延ばします。複数の利用者へ同じ情報を出すなら、サーバーで一度取得した結果を短時間保存し、再利用します。quotaを増やす前に、問い合わせ回数を減らせないか確認します。

limited betaとサービス品質保証を前提にしない

Real Time Reporting APIの発表では、APIをclosed betaとして案内し、データに対するSLAを設けないと説明しています。公式開発資料でもlimited betaとされています。

そのため、申込受付、在庫管理、料金計算など、取得できなければ業務が止まる処理の唯一の情報源にはしません。APIが応答しない場合は、最後に取得した時刻を示す、表示を止める、Google AnalyticsのReal-Time画面で確認するなど、失敗時の動きを決めます。

画面に数値を出すなら、次も記録します。

記録項目 内容
目的 公開確認、社内監視など
View 取得対象のView IDと名称
指標 ga:activeVisitorsなど
更新間隔 APIへ問い合わせる間隔
cache 保存時間と保存場所
失敗時 非表示、時刻表示、手動確認など
管理者 認証情報と実装を見直す担当者

開発を外部へ任せる場合も、APIの認証情報、対象View、quota、cache、失敗時の処理を自社で確認できる状態にします。表示部品だけを納品してもらい、どのAccountへ接続しているか分からない状態を残してはいけません。

まず、Real-Timeで答えたい質問を一つ決めてください。「公開したページへ現在アクセスがあるか」のように現在の確認が必要ならAPIを検討し、一週間や一か月の成果を知りたいなら定期レポートを使います。

戻る