Google Ads API 对 API 操作施加了限制,例如限制可在单个 mutate 请求中发送的操作数量。下表总结了需要注意的一些重要限制和配额。
请求类型、限制和错误代码 | ||
---|---|---|
使用基本访问权限的操作 | 每天 15,000 项 API 操作 |
RESOURCE_EXHAUSTED
|
Mutate 请求 | 每次请求 10,000 次操作 |
TOO_MANY_MUTATE_OPERATIONS
|
规划服务请求 | 每秒 1 次查询 |
RESOURCE_EXHAUSTED
|
转化上传服务请求 | 每个请求 2,000 次转化 |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
结算和账号预算服务请求 | 每个 mutate 请求 1 项操作 |
TOO_MANY_MUTATE_OPERATIONS
|
API 的每天操作限制
API 的每天使用限制是根据每个开发者令牌执行的 API 操作数量确定的。API 操作是 get 请求和 mutate 操作的总和。API 的每天操作限制取决于开发者令牌的访问权限级别。有关每个访问权限级别的具体 API 操作限制的概要说明,请参见“访问权限级别和允许的用途”指南。
超出这些限制的请求会被拒绝,并显示以下错误:RESOURCE_EXHAUSTED
。
gRPC 限制
所有 Google Ads API 客户端库均使用 gRPC 生成请求和响应。默认情况下,gRPC 的消息大小为 4 MB,但我们的客户端库会将消息大小上限设置为 64 MB,以提高效率。
回答不得超过此限制。例如,包含大量字段的搜索请求可能会生成大小超出 64 MB 的响应。如需避免超出此限制,您可以减少所选字段的数量,或使用流式传输。对于 mutate,请减少每个请求发送的操作数量。
超出此限制的请求不会生成 GoogleAdsError
,但会生成 429 Resource Exhausted
gRPC 错误。请参阅 gRPC 错误代码和消息列表。
Mutate 请求
除了计入用户的每天操作配额外,每个更改请求不得包含超过 10,000 项操作。
超出此限制的请求会被拒绝,并显示以下错误:TOO_MANY_MUTATE_OPERATIONS
。
下面概述了特定服务和请求类型的其他限制和注意事项。
搜索请求
一个 Search
或 SearchStream
请求会计为一次操作,计入用户的每天操作配额。一个 SearchStream
请求计为 1 项 API 操作,无论批次数量如何。
分页请求
分页请求(例如包含有效 next_page_token
的请求)不计入用户的每天操作配额。但是,包含过期或无效页面令牌的分页请求将产生异常,并将计入每日操作配额。
如需详细了解分页,请参阅将结果分页。
其他类型的请求
非 Get
、Mutate
、Search
或 SearchStream
请求会计为 1 次操作,计入用户的每日操作配额。
此类要求的一些示例包括:
BatchJobService.ListMutateJobResults
ConversionUploadService.UploadCallConversions
ConversionUploadService.UploadClickConversions
OfflineUserDataJobService.AddOfflineUserDataJobOperations
OfflineUserDataJobService.CreateOfflineUserDataJob
UserDataService.UploadUserData
返回 API 异常的请求
凡是被拒且显示 GoogleAdsFailure
的请求,均将计入用户的每天操作配额中。
不过,虽已失败但未返回 GoogleAdsFailure
的请求(例如因网络级错误导致的请求)不会计入用户的每天操作配额中,因为这些请求永远不会到达服务。例如,网络连接故障。
规划服务
由于费用和复杂性较高,以下规划服务方法会受到不同于其他请求类型的限制。
限制为每个客户 ID 每秒 1 个请求:
KeywordPlanIdeaService.GenerateKeywordIdeas
KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics
KeywordPlanIdeaService.GenerateKeywordForecastMetrics
违反这些限制的请求会被拒绝,并显示以下错误:
RESOURCE_EXHAUSTED
。1 QPS 的计算方式为每 60 秒 60 个请求。
限制为每个客户 ID 每秒 2 个请求:
创建关键字方案时,请注意这些限制。
关键字方案对象 | 数量上限 |
---|---|
每个账号 KeywordPlan |
10000 |
每 KeywordPlan KeywordPlanAdGroup |
200 |
每 KeywordPlan 展示 KeywordPlanAdGroupKeyword 次 |
10000 |
KeywordPlanCampaignKeyword (否定关键字) |
1000 |
每 KeywordPlan 展示 KeywordPlanCampaign 次 |
1 |
转化上传服务
限制为每个请求 2,000 次通话或点击转化:
超出这些限制的请求会被拒绝,并显示以下错误:
TOO_MANY_CONVERSIONS_IN_REQUEST
。
转化调整上传服务
限制为每个请求 2,000 次转化调整:
超出这些限制的请求会被拒绝,并显示以下错误:
TOO_MANY_ADJUSTMENTS_IN_REQUEST
。
结算和账号预算服务
只能针对已配置为按月账单结算的账号执行 mutate 操作。
超出此限制的请求会被拒绝,并显示以下错误:
MUTATE_NOT_ALLOWED
。mutate 请求仅允许 1 项操作。
超出此限制的请求会被拒绝,并显示以下错误:
TOO_MANY_MUTATE_OPERATIONS
。您应该至少等待 12 小时,才能对同一账号的预算订单再次做出更改。如果两次更改之间的时间不足 12 小时,那么可能导致无法恢复的失败,且这类失败只能由您的 Google Ads 客户代表解决。
客户账号的邀请
您可以使用 CustomerUserAccessService
邀请新用户加入现有客户账号。由于此功能会向其他用户发送邀请电子邮件,因此可能会被滥用,因此其行为存在限制:
用户无法针对同一客户账号收到多个待处理的邀请。如果随后向已收到待处理邀请的用户发送邀请,系统会返回以下错误:
ACCESS_INVITATION_ERROR_EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION
。客户账号每次的待处理邀请不能超过 70 个。 如果发送的请求导致超出此值,则系统会返回以下错误:
ACCESS_INVITATION_ERROR_PENDING_INVITATIONS_LIMIT_EXCEEDED
。
用户数据
用户数据使用 UserDataService
和 OfflineUserDataJobService
进行管理。在指定的创建或移除 UserData
操作中,每组 user_identifiers
都应特定于单个用户。
为强制执行此限制,当 UserData
集中的 user_identifiers
数量超过 20 个时,系统会返回 OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS
或 UserDataError.TOO_MANY_USER_IDENTIFIERS
错误。
其他类型的限制
在请求中使用一个包含太多项的重复字段(例如操作列表)可能会导致以下错误:REQUEST_SIZE_LIMIT_EXCEEDED
。此错误消息也可能是由其他问题导致的。
如果您遇到此限制,又想在发出的请求中使用重复字段,请尝试将操作列表部署在 mutate 请求中,以减少重复字段中的项的个数。
进行 GAQL 查询时,IN
子句中的项数量上限为 20,000 个。如果超出该限制,系统会返回 FILTER_HAS_TOO_MANY_VALUES
错误。