このドキュメントでは、Management API および Reporting API のリクエストに設けられた制限と割り当てについて説明します。
Google アナリティクスは数多くのサイトで使用されています。Google では、API リクエストに上限と割り当てを設けて、システムが処理可能な範囲を超えたデータを受信しないようにし、システム リソースを公平に配分できるようにしています。上限と割り当ては変更されることがあります。
こちらの動画では、Google アナリティクス API のリクエストの割り当てを管理するうえで有益なヒントを紹介します。
一般的な割り当て制限
Management API、Core Reporting API v3、MCF Reporting API、Metadata API、User Deletion API、Real Time Reporting API に以下の割り当てが適用されます。
- プロジェクトあたり 1 日 50,000 件のリクエスト(引き上げ可能)
- IP アドレスあたり 10 クエリ/秒(QPS)
- API Console には、ユーザーごとの 100 秒あたりのリクエスト数という同様の割り当てがあります。デフォルトでは、ユーザー 1 人あたり 100 秒あたり 100 件のリクエストに設定されますが、最大値の 1,000 件に調整できます。ただし、API に対するリクエスト数は、ユーザーごとに 1 秒あたり 10 件までに制限されています。
- アプリケーションがすべての API リクエストを 1 つの IP アドレスから実行する(つまり、ユーザーに代わって行う)場合は、各リクエストで
userIP
またはquotaUser
パラメータを使用して、ユーザーごとに QPS の完全な割り当てを取得します。詳細については、標準クエリ パラメータの概要をご覧ください。
Reporting API
以下の割り当ては、Core Reporting API v3、Analytics Reporting API v4、Real Time API v3、Multi-Channel Funnel API v3 など、すべての Reporting API に適用されます。
- ビュー(旧プロファイル)ごとに 1 日 10,000 件のリクエスト(引き上げ不可)
- ビュー(旧プロファイル)ごとに 10 件の同時リクエスト(引き上げ不可)
Reporting API のリクエスト エラーについて
Reporting API へのリクエストがサーバーエラーで失敗した場合、レスポンス コード 500
または 503
が返されます。リクエストを再送信できます。ただし、繰り返し失敗する場合は、このリクエストを複数回再送信しないでください。Google アナリティクスでは以下が可能です。
- プロジェクトあたり 1 時間あたり 10 件のサーバーエラーで、1 ビューあたりに失敗した回数
- プロジェクトあたり 1 日 50 件のサーバーエラー(ビュー/プロファイル)エラーの回数
失敗したリクエストの数がこれらの割り当てを超えると、次のエラーが発生します。
Quota Error: The number of recent reporting API requests failing by server error is too high. You are temporarily blocked from the reporting API for at least an hour. Please send fewer server errors in the future to avoid being blocked.
リクエスト サーバー エラーが発生する可能性を減らすには、期間を短くするか、リクエスト内のディメンション数を減らすか、リクエスト内の指標の数を減らすことで、リクエストを簡素化します。
失敗したリクエストを継続的に再送信しないでください。代わりに、指数バックオフを実装して再送信してください。
サーバーエラー率の割り当ては、1 時間ごとおよび 1 日ごとのエラー率の割り当てについて、ローリング時間枠全体に適用されます。プロジェクトとビューのペアで最初のサーバーエラーが発生してから 1 時間後に、割り当てがリセットされます。プロジェクトとビューのペアが 1 時間で 10 件のサーバーエラーを送信した場合、最初のサーバーエラーが経過するまで 1 時間とプロジェクトとビューのペアは API からブロックされます。
たとえば、プロジェクトとビューのペアが過去 24 時間以内にサーバーエラーを送信していない場合、このプロジェクトとビューは 50 個の割り当てのうち 0 個を使用します。たとえば、このプロジェクトとビューが午前 6 時 12 分にサーバーエラーを送信するとします。このプロジェクトとビューが、翌日の午前 6 時 12 分より前に 49 件のサーバーエラーを送信すると、このプロジェクトとビューは翌日の午前 6 時 12 分までブロックされます。翌日の午前 6 時 12 分になると、このプロジェクトとビューのサーバーエラー率の割り当ては完全にリセットされます。
アナリティクス Reporting API v4
次の割り当ては、アナリティクス Reporting API v4 のみに適用されます。
- プロジェクトごとに 1 日 50,000 件のリクエスト
- ビュー(旧プロファイル)あたり 1 日 10,000 件のリクエスト(引き下げ不可)
- プロジェクトごとに 100 秒あたり 2,000 件のリクエスト
- プロジェクトあたり 1 ユーザー、100 秒あたりのリクエスト数: 100(Google API Console で 1,000 に増やすことができます)。
プロジェクトの割り当ては Google API Console で確認できます。
リソースベースの割り当て
アナリティクス Reporting API v4 については、必要に応じてリソースベースの割り当ても適用できます。アナリティクス 360 をご利用の場合に、サンプリングしきい値を高めに設定できます。
割り当ての上限を超えた場合
Google アナリティクス API に対するリクエストの割り当てが上限を超えた場合、API はエラーコード 403
または 429
に加え、アカウントの割り当てが上限を超えたことを知らせるメッセージを返します。詳しくは、利用規約をご覧ください。
割り当ての追加をリクエストする
以下の割り当てにのみ追加をリクエストできます。
- プロジェクトごとの 1 日の読み取りリクエスト数(デフォルト値は 50,000 件)
- プロジェクトごとの 1 日の書き込みリクエスト数(デフォルト値は 50 件)
プロジェクトの使用量上限を確認して変更する手順、または割り当ての増加をリクエストする手順は次のとおりです。
- プロジェクトの請求先アカウントをまだ保有していない場合は、アカウントを作成します。
- API Console で API ライブラリの [有効な API] ページに移動し、リストから API を選択します。
- 割り当て関連の設定を表示および変更するには、[割り当て] を選択します。使用統計情報を表示するには、[使用量] を選択します。
割り当ての上限の引き上げをリクエストするには、Analytics API の割り当てリクエスト フォームをご利用ください。リクエストを送信する前に、割り当てリクエスト フォームの情報を確認し、指示に沿って操作してください。Reporting API v4 の場合、Google API Console の API 名は Google Analytics Reporting API です。その他のすべての v3 API(例:Management API v3、Core Reporting API v3、Real Time Reporting API v3、User Deletion API v3 など)は、Google API Console の [アナリティクス API] に表示されます。
割り当ての管理や、割り当てを効率的に使うためのアプリケーションの調整について詳しくは、API の監視、割り当ての上限設定をご覧ください。