В Google Ads API действуют ограничения на операции API, например на количество операций, которые можно отправить в одном запросе mutate. В таблице ниже приведены некоторые важные ограничения и квоты.
| Тип запроса, ограничение и код ошибки | ||
|---|---|---|
| Операции с уровнем доступа Test | 15 000 операций API в день для тестовых аккаунтов. |
RESOURCE_EXHAUSTED
|
| Операции с уровнем доступа "Исследователь" |
2880 операций API в день для рабочих аккаунтов 15 000 операций API в день для тестовых аккаунтов |
RESOURCE_EXHAUSTED
|
| Операции с базовым уровнем доступа | 15 000 операций API в день для тестовых и рабочих аккаунтов. |
RESOURCE_EXHAUSTED
|
| Операции, доступные пользователям со стандартным доступом | Неограниченное количество операций API в день как для тестовых, так и для рабочих аккаунтов. | Н/Д |
| Запросы mutate | 10 000 операций изменения на запрос. |
TOO_MANY_MUTATE_OPERATIONS
|
| Запросы к сервису планирования | 1 запрос в секунду |
RESOURCE_EXHAUSTED
|
| Запросы к Conversion Upload Service | 2000 конверсий на запрос; |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
| Запросы на обслуживание, связанные с оплатой и бюджетом аккаунта | 1 операция на запрос mutate |
TOO_MANY_MUTATE_OPERATIONS
|
Дневные ограничения на операции API
Суточные лимиты на использование API зависят от количества операций API, выполненных в вашем проекте Google Cloud. Операции API – это сумма запросов Search и SearchStream, отдельных операций изменения и других запросов сервиса. Ограничения на количество ежедневных операций API зависят от уровня доступа к API вашего проекта Google Cloud. В руководстве по уровням доступа и допустимому использованию указаны ограничения на количество операций API для каждого уровня доступа.
Запросы, нарушающие эти ограничения, отклоняются с ошибкой RESOURCE_EXHAUSTED.
Ограничения gRPC
Все клиентские библиотеки Google Ads API используют gRPC для создания запросов и ответов. По умолчанию размер сообщения gRPC составляет 4 МБ, но в наших клиентских библиотеках максимальный размер сообщения равен 64 МБ, что позволяет повысить эффективность.
Ответы не должны превышать этот лимит. Например, поисковый запрос, включающий много полей, может сгенерировать ответ, размер которого превышает 64 МБ. Чтобы избежать этого ограничения, вы можете уменьшить количество выбранных полей или использовать потоковую передачу. Если вы используете метод mutate, отправляйте меньше операций в запросе.
Запросы, нарушающие это ограничение, не будут генерировать GoogleAdsError, но будут генерировать ошибку RESOURCE_EXHAUSTED (код gRPC 8 / HTTP 429). Ознакомьтесь со списком кодов ошибок и сообщений gRPC.
Запросы mutate
Помимо того, что запрос mutate учитывается в дневной квоте пользователя,он не может содержать более 10 000 операций mutate.
Запросы, нарушающие это ограничение, отклоняются с ошибкой TOO_MANY_MUTATE_OPERATIONS.
Дополнительные ограничения и рекомендации для определенных сервисов и типов запросов описаны ниже.
Поисковые запросы
Запрос Search или SearchStream считается одной операцией в рамках суточной квоты пользователя. Один запрос SearchStream считается одной операцией API независимо от количества пакетов.
Запросы с разбивкой на страницы
Запросы с разбивкой на страницы (например, содержащие действительный параметр next_page_token) не учитываются в суточной квоте пользователя на операции.
Однако запросы на разбиение по страницам, содержащие недействительный токен страницы или токен с истекшим сроком действия, вызовут исключение и будут учитываться в дневной квоте на операции.
Подробнее о разбивке результатов на страницы…
Другие типы запросов
Запрос, не являющийся запросом Mutate, Search или SearchStream, считается одной операцией в рамках суточной квоты пользователя.
Вот несколько примеров таких запросов:
BatchJobService.ListBatchJobResultsConversionUploadService.UploadCallConversionsConversionUploadService.UploadClickConversionsOfflineUserDataJobService.AddOfflineUserDataJobOperationsOfflineUserDataJobService.CreateOfflineUserDataJobUserDataService.UploadUserData
Запросы, возвращающие исключения API
Запросы, отклоненные с ошибкой GoogleAdsFailure, по-прежнему учитываются в суточной квоте пользователя.
Запросы, которые не удалось выполнить, но которые не возвращают ошибку GoogleAdsFailure (например, из-за ошибки на уровне сети), не учитываются в суточной квоте пользователя, поскольку они не доходят до сервиса. Примером этого является сбой сетевого подключения.
Сервис планирования ключевых слов
Из-за стоимости и сложности для перечисленных ниже методов Keyword Planning service действуют отдельные ограничения, не распространяющиеся на другие типы запросов.
Ограничение: 1 запрос в секунду на идентификатор клиента.
KeywordPlanIdeaService.GenerateKeywordIdeasKeywordPlanIdeaService.GenerateKeywordHistoricalMetricsKeywordPlanIdeaService.GenerateKeywordForecastMetrics
Запросы, нарушающие эти ограничения, отклоняются с ошибкой
RESOURCE_EXHAUSTED.1 запрос в секунду рассчитывается как 60 запросов за 60 секунд.
Ограничение – 2 запроса в секунду на идентификатор клиента.
При создании плана ключевых слов учитывайте следующие ограничения:
| Объект плана ключевых слов | Максимальное количество |
|---|---|
KeywordPlan за аккаунт |
10 000 |
KeywordPlanAdGroup за KeywordPlan |
200 |
KeywordPlanAdGroupKeyword за KeywordPlan |
10 000 |
KeywordPlanCampaignKeyword (минус-слова) на KeywordPlan |
1000 |
KeywordPlanCampaign за KeywordPlan |
1 |
Сервис статистики аудитории
Для перечисленных ниже методов AudienceInsightsService действуют определенные квоты.
- Ограничение: примерно 200 запросов в день на идентификатор клиента.
- Ограничение – 2 запроса в секунду на проект Google Cloud:
Сервис загрузки конверсий
Ограничение: 2000 звонков-конверсий или конверсий по клику на запрос.
Запросы, нарушающие эти ограничения, отклоняются с ошибкой
TOO_MANY_CONVERSIONS_IN_REQUEST.
Сервис загрузки корректировок конверсий
В одном запросе можно передать не более 2000 корректировок конверсий.
Запросы, нарушающие эти ограничения, отклоняются с ошибкой
TOO_MANY_ADJUSTMENTS_IN_REQUEST.
Правила ценности конверсий
В одном аккаунте может быть не более 100 000 правил ценности конверсий.
Запросы, нарушающие это ограничение, отклоняются с ошибкой
ResourceCountLimitExceededError.ACCOUNT_LIMIT.
Если в аккаунте уже есть ConversionValueRuleSet с attachment_type CUSTOMER, то, чтобы новые правила ценности конверсий начали действовать, их нужно добавить в этот набор. Если такого набора правил ценности конверсий нет, создайте его и добавьте в него правила ценности конверсий.
Сервисы для работы с платежами и бюджетом аккаунта
Изменения можно вносить только в аккаунты, для которых настроена кредитная линия.
Запросы, нарушающие это ограничение, отклоняются с ошибкой
MUTATE_NOT_ALLOWED.В запросах mutate разрешена только одна операция.
Запросы, нарушающие это ограничение, отклоняются с ошибкой
TOO_MANY_MUTATE_OPERATIONS.Между изменениями бюджета аккаунта (
AccountBudgetилиAccountBudgetProposal) должно пройти не менее 12 часов. Если вы внесете изменения раньше, чем через 12 часов, это может привести к неустранимым ошибкам, которые сможет исправить только специалист по работе с аккаунтом Google Рекламы.
Приглашения в клиентские аккаунты
Новых пользователей можно приглашать в существующие клиентские аккаунты с помощью CustomerUserAccessInvitationService.
Поскольку эта функция отправляет электронные письма с приглашениями другим пользователям, существует вероятность злоупотребления ею, поэтому существуют ограничения на ее поведение:
Пользователи не могут получить более одного приглашения в один и тот же клиентский аккаунт. Если вы попытаетесь отправить приглашение пользователю, у которого уже есть ожидающее приглашение, появится ошибка
EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.В клиентском аккаунте не может быть больше 70 приглашений, ожидающих рассмотрения. Если отправленный запрос превышает это значение, возвращается ошибка
PENDING_INVITATIONS_LIMIT_EXCEEDED.
Пользовательские данные
Управление пользовательскими данными осуществляется с помощью UserDataService и OfflineUserDataJobService.
Каждый объект UserData в операции create или remove относится к одному конечному пользователю. Поле user_identifiers в одном объекте UserData может содержать не более 20 идентификаторов. Если в одном объекте UserData будет больше элементов, возникнет ошибка OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS или UserDataError.TOO_MANY_USER_IDENTIFIERS.
Как обрабатывать пользователей с более чем 20 идентификаторами
Если у одного конечного пользователя больше 20 идентификаторов, которые нужно загрузить, распределите их по нескольким объектам UserData. Чтобы Google мог связать все эти идентификаторы с одним и тем же конечным пользователем, каждый объект UserData для этого пользователя должен включать хотя бы один общий user_identifier, например один и тот же hashed_email, hashed_phone_number или third_party_user_id. Google использует эти общие идентификаторы, чтобы связать и объединить информацию, полученную в результате отдельных операций UserData, с нужным профилем конечного пользователя.
Если вы используете информацию, позволяющую идентифицировать личность, например хешированные адреса электронной почты или номера телефонов, убедитесь, что они нормализованы и хешированы в соответствии с требованиями Google Ads API (SHA-256, строчные буквы, без пробелов), чтобы предотвратить сбои связывания.
Например, если у пользователя 30 адресов электронной почты, вы можете отправить два объекта UserData с общим значением third_party_user_id. В первый объект добавьте thirdPartyUserId и адреса с 1 по 19, чтобы не превысить ограничение в 20 идентификаторов, а во второй – thirdPartyUserId и адреса с 20 по 30.
{
"userIdentifiers": [
{ "thirdPartyUserId": "user123" },
{ "hashedEmail": "SHA256_OF_EMAIL_1" },
// Hashed emails 2 through 18 are omitted here.
{ "hashedEmail": "SHA256_OF_EMAIL_19" }
]
}
{
"userIdentifiers": [
{ "thirdPartyUserId": "user123" },
{ "hashedEmail": "SHA256_OF_EMAIL_20" },
// Hashed emails 21 through 29 are omitted here.
{ "hashedEmail": "SHA256_OF_EMAIL_30" }
]
}
Общее ограничение для user_identifiers во всех операциях в одном AddOfflineUserDataJobOperationsRequest составляет 100 000 (OfflineUserDataJob может принимать несколько вызовов AddOfflineUserDataJobOperationsRequest, до рекомендуемого максимума в 1 000 000 операций на задание). При синхронной загрузке с помощью UploadUserDataRequest (UserDataService.UploadUserData) каждый запрос ограничен максимум 10 операциями и 100 user_identifiers.
Другие типы ограничений
Если в повторяющемся поле, например в списке операций, слишком много элементов, может возникнуть ошибка REQUEST_SIZE_LIMIT_EXCEEDED. Это же сообщение об ошибке может появляться и по другим причинам.
Если вы столкнулись с этим ограничением и отправляете запросы, в которых используется повторяющееся поле, попробуйте уменьшить количество элементов в нем, разделив список операций между несколькими запросами mutate.
При выполнении запроса GAQL максимальное количество элементов в предложении IN составляет 20 000. Если вы превысите это ограничение, то получите ошибку FILTER_HAS_TOO_MANY_VALUES.