В Google Ads API действуют ограничения на операции API, например на количество операций, которые можно отправить в одном запросе mutate. В таблице ниже приведены некоторые важные лимиты и квоты.
| Тип запроса, ограничение и код ошибки | ||
|---|---|---|
| Операции с тестовым уровнем доступа | 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
|
| Запросы к сервису загрузки конверсий | 2000 конверсий на запрос. |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
| Запросы к сервису AccountBudgetService и сервису BillingService | 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 учитывается в суточной квоте на операции,он не может содержать более 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 действуют отдельные ограничения, не распространяющиеся на другие типы запросов.
Ограничение: 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. Это сообщение об ошибке может появляться и по другим причинам.
Если вы столкнулись с этим ограничением и отправляете запросы, в которых используется повторяющееся поле, попробуйте уменьшить количество элементов в этом поле, разделив список операций на несколько запросов на изменение.
При создании запроса GAQL максимальное количество объектов в предложении IN составляет 20 000. Если вы превысите это ограничение, то получите ошибку FILTER_HAS_TOO_MANY_VALUES.