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を使うよう案内しています。実装では、次の三つを先に決めます。
- 数値を何の判断へ使うか
- 何秒または何分ごとの更新が必要か
- 同じ結果を何人へ、どのくらい再利用するか
一秒ごとの変化が不要なら、更新間隔を延ばします。複数の利用者へ同じ情報を出すなら、サーバーで一度取得した結果を短時間保存し、再利用します。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を検討し、一週間や一か月の成果を知りたいなら定期レポートを使います。
関連記事

