Google Ads API では、1 回の変更リクエストで送信できるオペレーションの数などの API オペレーションに上限が設けられています。次の表は、注意すべき重要な上限と割り当ての一部をまとめたものです。
リクエストの種類、制限、エラーコード | |||
---|---|---|---|
ページ分けされたリクエスト | 1 ページあたり 10,000 行 |
INVALID_PAGE_SIZE
|
|
ベーシック アクセスを使用したオペレーション | 15,000 件の API オペレーション(1 日あたり) |
RESOURCE_EXHAUSTED
|
|
変更リクエスト | 1 リクエストあたり 10,000 件のオペレーション |
TOO_MANY_MUTATE_OPERATIONS
|
|
プランニング サービス リクエスト | 1 QPS |
RESOURCE_EXHAUSTED
|
|
コンバージョン アップロード サービスのリクエスト | リクエストごとに 2,000 件のコンバージョン |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
|
請求およびアカウント予算サービス リクエスト | 変更リクエストごとに 1 オペレーション |
TOO_MANY_MUTATE_OPERATIONS
|
1 日あたりの API オペレーション制限
1 日あたりの API 使用量上限は、開発者トークンごとに行われた API オペレーションの数に基づきます。API オペレーション数は、get リクエスト数と mutate オペレーション数の合計です。1 日あたりの API オペレーション制限は、開発者トークンのアクセス権によって異なります。アクセスレベルと許可されている使用に関するガイドで、各アクセスレベルの API オペレーションの上限について説明しています。
これらの上限に違反するリクエストは、エラー RESOURCE_EXHAUSTED
で拒否されます。
gRPC の制限
すべての Google Ads API クライアント ライブラリは、gRPC を使用してリクエストとレスポンスを生成します。デフォルトでは、gRPC のメッセージ サイズは 4 MB ですが、クライアント ライブラリでは効率を高めるために最大メッセージ サイズが 64 MB に設定されています。
レスポンスはこの上限を超えないようにしてください。たとえば、検索リクエストに多くのフィールドが含まれている場合、レスポンスが生成されるときにサイズが 64 MB を超えることがあります。この制限を回避するには、選択フィールド数やページサイズを小さくするか、ストリーミングを使用します。変更の場合は、リクエストごとに送信するオペレーションを減らします。
この制限に違反するリクエストは、GoogleAdsError
を生成しませんが、429 Resource Exhausted
gRPC エラーを生成します。gRPC のエラーコードとメッセージのリストをご覧ください。
mutate リクエスト
変更リクエストに含めることができるオペレーションは、ユーザーの 1 日のオペレーション割り当てにカウントされます。また、1 つの変更リクエストに含めることのできるオペレーションは 10,000 件までです。
この制限に違反するリクエストは、エラー TOO_MANY_MUTATE_OPERATIONS
で拒否されます。
特定のサービスとリクエスト タイプに対する追加の制限事項と考慮事項について、以下で説明します。
検索リクエスト
Search
リクエストまたは SearchStream
リクエストは、ユーザーの 1 日あたりのオペレーション割り当てに対して 1 回のオペレーションとしてカウントされます。1 つの SearchStream
リクエストは、バッチ数に関係なく、1 つの API オペレーションとしてカウントされます。
ページ分けリクエスト
ページ分けされたリクエスト(有効な next_page_token
を含むリクエストなど)は、ユーザーの 1 日あたりのオペレーションの割り当てにカウントされません。ただし、期限切れまたは無効なページトークンを含むページネーション リクエストでは例外が生成され、1 日あたりのオペレーション割り当てにカウントされます。
検索リクエストなど、ページ分けされたリクエストも Page size cannot exceed 10,000 rows
制限の対象となり、この上限に違反するとエラー INVALID_PAGE_SIZE
で拒否されます。
pagination について詳しくは、結果のページングをご覧ください。
その他のタイプのリクエスト
Get
、Mutate
、Search
、SearchStream
以外のリクエストは、ユーザーの 1 日あたりのオペレーションの割り当てに対して 1 回のオペレーションとしてカウントされます。
このようなリクエストの例として、次のようなものがあります。
BatchJobService.ListMutateJobResults
ConversionUploadService.UploadCallConversions
ConversionUploadService.UploadClickConversions
OfflineUserDataJobService.AddOfflineUserDataJobOperations
OfflineUserDataJobService.CreateOfflineUserDataJob
UserDataService.UploadUserData
API 例外を返すリクエスト
GoogleAdsFailure
で拒否されたリクエストも、ユーザーの 1 日のオペレーション割り当てにカウントされます。
失敗しても GoogleAdsFailure
を返さないリクエスト(ネットワーク レベルのエラーなど)は、リクエストがサービスに到達しないため、ユーザーの 1 日あたりのオペレーション割り当てにカウントされません。たとえば、ネットワーク接続の障害です。
プランニング サービス
以下に一覧表示されているプラニング サービス メソッドは複雑で費用がかさむため、他のタイプのリクエストとは別の制限を受けます。
お客様 ID または開発者トークンごとに 1 秒あたり 1 件のリクエストに制限されています。
KeywordPlanService.GetKeywordPlan
KeywordPlanService.GenerateHistoricalMetrics
KeywordPlanService.GenerateForecastMetrics
これらの制限に違反するリクエストは、エラー
RESOURCE_EXHAUSTED
で拒否されます。1 QPS は、60 秒あたり 60 リクエストとして計算されます。
キーワード プランを作成する際は、これらの制限に注意してください。
キーワード プランのオブジェクト | 最大数 |
---|---|
アカウントあたり KeywordPlan |
10,000 |
KeywordPlanAdGroup /KeywordPlan |
200 |
KeywordPlanAdGroupKeyword /KeywordPlan |
10,000 |
KeywordPlanCampaignKeyword (除外キーワード) |
1,000 |
KeywordPlanCampaign /KeywordPlan |
1 |
コンバージョン アップロード サービス
通話コンバージョンまたはクリック コンバージョンはリクエストごとに 2,000 件まで
これらの上限に違反するリクエストは、エラー
TOO_MANY_CONVERSIONS_IN_REQUEST
で拒否されます。
コンバージョン調整アップロード サービス
コンバージョンの調整は、リクエスト 1 件につき 2,000 件まで可能です。
これらの上限に違反するリクエストは、エラー
TOO_MANY_ADJUSTMENTS_IN_REQUEST
で拒否されます。
お支払いとアカウント予算サービス
mutate リクエストは、毎月の請求書発行が設定されたアカウントに対してのみ行うことができます。
この制限に違反するリクエストは、エラー
MUTATE_NOT_ALLOWED
で拒否されます。変更リクエストで指定できるオペレーションは 1 つのみです。
この制限に違反するリクエストは、エラー
TOO_MANY_MUTATE_OPERATIONS
で拒否されます。同じアカウントの予算オーダーが変更されるまで、少なくとも 12 時間は空けてください。12 時間が経過する前に変更を加えると、Google 広告のアカウント担当者しか解決できない回復不能なエラーが発生する可能性があります。
お客様のアカウントへの招待
CustomerUserAccessService
を使用して、既存のクライアント アカウントに新規ユーザーを招待できます。この機能は招待メールを他のユーザーに送信するため、悪用される可能性があり、動作に制限があります。
ユーザーが同じクライアント アカウントに対する保留中の招待を複数受け取ることはできません。すでに招待を保留しているユーザーに招待状を送信するリクエストが続くと、
ACCESS_INVITATION_ERROR_EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION
というエラーが返されます。クライアント アカウントでは、一度に 70 件を超える招待を保留できません。 この値を超えるリクエストが送信されると、
ACCESS_INVITATION_ERROR_PENDING_INVITATIONS_LIMIT_EXCEEDED
というエラーが返されます。
ユーザーデータ
ユーザーデータは、UserDataService
と OfflineUserDataJobService
で管理されます。UserData
の作成/削除オペレーションで、user_identifiers
の各セットは 1 人のユーザーに固有である必要があります。
これを実施するため、UserData
セットに 20 個を超える user_identifiers
があると、OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS
エラーまたは UserDataError.TOO_MANY_USER_IDENTIFIERS
エラーが返されます。
その他の種類の制限
オペレーションのリストなどの繰り返しフィールドに含まれるアイテムが多すぎると、REQUEST_SIZE_LIMIT_EXCEEDED
エラーが発生する可能性があります。この同じエラー メッセージは、他の問題が原因である可能性もあります。
この制限に達し、繰り返しフィールドを使用するリクエストを行う場合は、変更リクエストにオペレーションのリストをデプロイして、繰り返しフィールドのアイテム数を減らしてみてください。
GAQL クエリを作成する場合、IN
句内のアイテムの最大数は 20,000 です。この上限を超えると、FILTER_HAS_TOO_MANY_VALUES
エラーが返されます。