リソースベースの割り当て

このドキュメントでは、Google アナリティクス Reporting API v4 のリソースベースの割り当てについて説明します。この機能は、アナリティクス 360 でのみお使いいただけます。この API に適用される制限について詳しくは、制限と割り当てをご覧ください。

はじめに

共有リソースの可用性と信頼性を確保するため、アナリティクス Reporting API にアクセスするすべてのプロジェクトには、上限と割り当てが適用されます。大規模なデータセットに対してクエリを実行する場合、アナリティクス Reporting API によってサンプリングが行われ、データの結果に影響することがあります。

リソースベースの割り当てシステムは、アナリティクス 360 アカウントでアナリティクス Reporting API の使用時にサンプリングしきい値を引き上げることができる新しい割り当てシステムです。このシステムはオプションであり、Google API Console の割り当てページで報告されるような既存のビューとプロジェクトに適用される上限に依存しません。

リソースベースの割り当て

すべてのリクエストが同じ条件で作成されるわけではありません。必要となる計算コストはリクエストによって大きく異なります。リソースベースの割り当ては、アナリティクス レポートのインフラストラクチャを保護しつつ、サンプリングしきい値の引き上げを可能にするための機能です。

各プロパティには、一定量のクエリリソース トークンが割り当てられます。API クライアントは、API リクエストにオプション フィールドを追加し、相対的なクエリリソース トークンと引き換えに、サンプリングのしきい値を引き上げることができます。計算コストが高いリクエストは、より多くのトークンを必要とします。

サンプリングしきい値

Google アナリティクス API v4 を使用してデータをリクエストする場合、対象期間のセッション数(プロパティ単位)に基づいて、以下の一般的なサンプリングしきい値が適用されます。

  • アナリティクス スタンダード: 50 万セッション
  • アナリティクス 360: 100 万セッション
  • アナリティクス 360(リソースベースの割り当てを使用): 1 億セッション

リソースベースの割り当てを有効にする

特定のリクエストでリソースベースの割り当てを有効にするには、API 呼び出しで batchGet メソッドのオプション フィールド useResourceQuotas を含める必要があります。

{
  "reportRequests": [{object(ReportRequest)}],
  "useResourceQuotas": boolean,
}

次に例を示します。

{
  "reportRequests":[
  {
    "viewId":"XXXX",
    "dateRanges":[
      {
        "startDate":"2017-06-15",
        "endDate":"2017-06-30"
      }],
    "metrics":[
      {
        "expression":"ga:sessions"
      }],
    "dimensions": [
      {
        "name":"ga:browser"
      }]
    }],
  "useResourceQuotas": true
}

クエリ リソースコストのレスポンス フィールド

batchGet メソッドの呼び出しごとに、レスポンスには queryCost フィールドが含まれます。

{
  "reports": [{ object(Report) }],
  "queryCost": number
}

queryCost フィールドは、batchGet リクエスト内のすべての ReportRequests のリソース費用の合計を表す整数です。次に例を示します。

{
  "reports": [
    {
      "columnHeader": {...},
      "data": {
        "rows": [...]
      }
    }
  ],
  "queryCost": 1337
}

割り当て

アナリティクス 360 プロパティの割り当て

  • 1 プロパティにつき、1 日あたり 100,000 クエリコスト単位
  • 1 プロパティにつき、1 時間あたり 25,000 クエリコスト単位

割り当ての上限を超えると RESOURCE_EXHAUSTED が返されます。詳しくは、エラー レスポンスをご覧ください。

コスト計算

リクエストのコストは以下に比例します。

  • 期間の長さ
  • ビュー内のヒット数
  • リクエストされたディメンションの基数
  • リクエストされたディメンションと指標の数
  • セグメントとフィルタ定義の複雑さ
  • リクエストされた情報の処理状態(昨日のデータより、今日のデータをリクエストする方がコストが大きくなります)
  • クエリタイム インポートのディメンションと指標の存在

API の制限と使用法

リソースベースの割り当てに加え、アナリティクス API v4 に適用される制限と割り当てがあります。

メモ

  • queryCost レスポンス フィールドは、リクエストの計算コストを表します。金銭的な費用ではなく、API の使用は無料です。
  • 当日および一部の過去のデータ(1 年以上前)のレポートには、useResourceQuotas の設定にかかわらず、引き続きサンプリングが適用される場合があります。
  • リクエストのサンプリングしきい値を引き上げることができなかった場合、リソース割り当てトークンは差し引かれません(サンプリングされたレスポンスは、常にリソース割り当てコストがゼロです)。
  • レスポンスに samplesReadCounts フィールドと samplingSpaceSizes フィールドが存在する場合、レポートにはサンプリング データが含まれます。

プロジェクトの使用量上限を確認して変更する手順、または割り当ての増加をリクエストする手順は次のとおりです。

  1. プロジェクトの請求先アカウントをまだ保有していない場合は、アカウントを作成します。
  2. API Console で API ライブラリの [有効な API] ページに移動し、リストから API を選択します。
  3. 割り当て関連の設定を表示および変更するには、[割り当て] を選択します。使用統計情報を表示するには、[使用量] を選択します。