Limites e cotas da API

A API Google Ads impõe limites às operações de API, como o número de operações que podem ser enviadas em uma única solicitação de mutação. A tabela a seguir resume alguns dos limites e cotas importantes que você precisa conhecer.

Tipo de solicitação, limitação e código do erro
Operações com nível de acesso de teste 15.000 operações de API por dia em contas de teste RESOURCE_EXHAUSTED
Operações com nível de acesso do Explorer 2.880 operações de API por dia em contas de produção
15.000 operações de API por dia em contas de teste
RESOURCE_EXHAUSTED
Operações com nível de acesso básico 15.000 operações de API por dia em contas de teste e de produção RESOURCE_EXHAUSTED
Operações com nível de acesso padrão Operações de API ilimitadas por dia em contas de teste e de produção N/A
Solicitações de mutação 10.000 operações de mutação por solicitação TOO_MANY_MUTATE_OPERATIONS
Solicitações de serviço de planejamento 1 QPS RESOURCE_EXHAUSTED
Solicitações de serviço de upload de conversões 2.000 conversões por solicitação TOO_MANY_CONVERSIONS_IN_REQUEST
Solicitações de serviço de faturamento e orçamento da conta 1 operação por solicitação de mutação TOO_MANY_MUTATE_OPERATIONS

Limites de operação de API diária

Os limites de uso diário da API são baseados no número de operações de API feitas pelo seu projeto do Google Cloud. As operações de API são a soma total de Search e SearchStream solicitações, operações de mutação individuais e outras solicitações de serviço. Os limites para operações de API diárias dependem do nível de acesso da API do seu projeto do Google Cloud. O guia Níveis de acesso e uso permitido descreve os limites específicos de operação de API para cada nível de acesso.

As solicitações que violam esses limites são rejeitadas com o erro: RESOURCE_EXHAUSTED.

Limitações do gRPC

Todas as bibliotecas de cliente da API Google Ads usam o gRPC para gerar solicitações e respostas. Por padrão, o gRPC tem um tamanho de mensagem de 4 MB, mas nossas bibliotecas de cliente definem o tamanho máximo da mensagem como 64 MB para aumentar a eficiência.

As respostas não podem exceder esse limite. Por exemplo, uma solicitação de pesquisa que inclui muitos campos pode gerar uma resposta que excede 64 MB de tamanho. Para evitar esse limite, você pode reduzir o número de campos selecionados ou usar o streaming. Para mutações, envie menos operações por solicitação.

As solicitações que violam essa limitação não geram um GoogleAdsError, mas geram um RESOURCE_EXHAUSTED (código gRPC 8 / HTTP 429) erro. Consulte a lista de códigos e mensagens de erro do gRPC.

Solicitações de mutação

Além de serem contabilizadas na cota de operação diária do usuário, uma solicitação de mutação não pode conter mais de 10.000 operações de mutação por solicitação. As solicitações que violam essa limitação são rejeitadas com o erro: TOO_MANY_MUTATE_OPERATIONS.

Outros limites e considerações para serviços e tipos de solicitação específicos são descritos a seguir.

Solicitações de pesquisa

Uma solicitação Search ou SearchStream é contabilizada como uma operação na cota de operação diária do usuário. Uma solicitação SearchStream é contabilizada como uma operação de API, independentemente do número de lotes.

Solicitações paginadas

As solicitações paginadas (por exemplo, solicitações que contêm um next_page_token válido) não são contabilizadas na cota de operação diária de um usuário. No entanto, as solicitações de paginação que contêm um token de página expirado ou inválido vão gerar uma exceção e serão contabilizadas na cota de operação diária.

Para mais detalhes sobre a paginação, consulte Paginação de resultados.

Outros tipos de solicitações

Uma solicitação que não seja Mutate, Search ou SearchStream solicitação é contabilizada como uma operação na cota de operação diária do usuário.

Alguns exemplos dessas solicitações incluem:

Solicitações que retornam exceções de API

As solicitações rejeitadas com um GoogleAdsFailure ainda são contabilizadas na cota de operação diária do usuário.

As solicitações que falham, mas não retornam um GoogleAdsFailure, como um erro no nível da rede, não serão contabilizadas na cota de operação diária do usuário, já que as solicitações nunca chegam ao serviço. Um exemplo disso é uma falha de conectividade de rede.

Serviço de planejamento de palavras-chave

Devido ao custo e à complexidade, os métodos de serviço de planejamento de palavras-chave a seguir estão sujeitos a limites separados de outros tipos de solicitações.

Tenha esses limites em mente ao criar um plano de palavras-chave.

Objeto do plano de palavras-chave Número máximo
KeywordPlan por conta 10.000
KeywordPlanAdGroup por KeywordPlan 200
KeywordPlanAdGroupKeyword por KeywordPlan 10.000
KeywordPlanCampaignKeyword (palavras-chave negativas) por KeywordPlan 1.000
KeywordPlanCampaign por KeywordPlan 1

Serviço de insights sobre público-alvo

Os métodos a seguir em AudienceInsightsService estão sujeitos a limites de cota específicos.

Serviço de upload de conversões

Serviço de upload de ajustes de conversão

Regras de valor da conversão

Se um ConversionValueRuleSet com um attachment_type de CUSTOMER já existir para a conta, você precisará adicionar novas regras de valor da conversão a esse conjunto para que elas fiquem ativas. Se nenhum conjunto de regras de valor da conversão existir, você precisará criar um e adicionar suas regras de valor da conversão a ele, conforme descrito em Criar conjuntos de regras.

Serviços de faturamento e orçamento da conta

  • As mutações só podem ser feitas em contas configuradas para faturamento mensal.

    As solicitações que violam essa limitação são rejeitadas com o erro: MUTATE_NOT_ALLOWED.

  • Apenas 1 operação é permitida para solicitações de mutação.

    As solicitações que violam essa limitação são rejeitadas com o erro: TOO_MANY_MUTATE_OPERATIONS.

  • Aguarde pelo menos 12 horas entre as mudanças de orçamento da conta (AccountBudget ou AccountBudgetProposal) na mesma conta. Fazer mudanças antes de 12 horas pode resultar em falhas irrecuperáveis que só podem ser resolvidas pelo representante da sua conta do Google Ads.

Convites para contas de clientes

Novos usuários podem ser convidados para contas de clientes atuais com o CustomerUserAccessInvitationService. Como esse recurso envia e-mails de convite para outros usuários, ele pode ser usado de forma inadequada. Por isso, há limitações no comportamento dele:

  • Os usuários não podem receber mais de um convite pendente para a mesma conta de cliente. Se uma solicitação subsequente for feita para enviar um convite a um usuário que já tem um convite pendente, esse erro será retornado: EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.

  • As contas de clientes não podem ter mais de 70 convites pendentes ao mesmo tempo. Se uma solicitação for enviada que faça com que esse valor seja excedido, esse erro será retornado: PENDING_INVITATIONS_LIMIT_EXCEEDED.

Dados do usuário

Os dados do usuário são gerenciados com o UserDataService e o OfflineUserDataJobService.

Cada objeto UserData em uma operação create ou remove pertence a um único usuário final. O campo user_identifiers em um único UserData objeto é limitado a um máximo de 20 identificadores. Exceder esse limite em um único UserData objeto vai resultar em um OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS ou UserDataError.TOO_MANY_USER_IDENTIFIERS erro.

Processar usuários com mais de 20 identificadores

Se um único usuário final tiver mais de 20 identificadores que você precisa fazer upload, distribua esses identificadores em vários objetos UserData. Para garantir que o Google possa associar todos esses identificadores ao mesmo usuário final, cada objeto UserData desse usuário precisa incluir pelo menos um user_identifier comum, como o mesmo hashed_email, hashed_phone_number ou third_party_user_id. O Google usa esses identificadores compartilhados para vincular e mesclar as informações das operações UserData separadas ao perfil correto do usuário final.

Se você depende de informações de identificação pessoal, como e-mails ou números de telefone com hash, verifique se eles estão normalizados e com hash de acordo com os requisitos da API Google Ads (SHA-256, letras minúsculas, sem espaços em branco) para evitar falhas de vinculação.

Por exemplo, se um usuário tiver 30 endereços de e-mail, você poderá enviar dois objetos UserData que compartilham um third_party_user_id comum (colocando thirdPartyUserId mais e-mails de 1 a 19 no primeiro objeto para permanecer dentro do limite de 20 identificadores e thirdPartyUserId mais e-mails de 20 a 30 no segundo):

{
  "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" }
  ]
}

O limite total para user_identifiers em todas as operações em um único AddOfflineUserDataJobOperationsRequest é de 100.000 (um OfflineUserDataJob pode aceitar várias chamadas AddOfflineUserDataJobOperationsRequest, até um máximo recomendado de 1.000.000 de operações por job). Para uploads síncronos usando UploadUserDataRequest (UserDataService.UploadUserData), cada solicitação é limitada a um máximo de 10 operações e 100 user_identifiers em toda a solicitação.

Outros tipos de limites

Um campo repetido, como uma lista de operações, que tem muitos itens em uma solicitação pode gerar o erro: REQUEST_SIZE_LIMIT_EXCEEDED. Essa mesma mensagem de erro também pode ser devido a outros problemas.

Se você encontrar essa limitação e estiver fazendo solicitações que usam um campo repetido, tente reduzir o número de itens no campo repetido dividindo a lista de operações em várias solicitações de mutação.

Ao fazer uma consulta GAQL, o número máximo de itens em uma cláusula IN é de 20.000. Se você exceder esse limite, um FILTER_HAS_TOO_MANY_VALUES erro será retornado.