Limites et quotas d'API

L'API Google Ads impose des limites sur les opérations de l'API, telles que le nombre d'opérations pouvant être envoyées avec une seule demande mutate. Le tableau ci-dessous récapitule quelques-unes des limites et des quotas importants à connaître.

Type de requête, limitation et code d'erreur
Requêtes paginées 10 000 lignes par page INVALID_PAGE_SIZE
Opérations avec accès de base 15 000 opérations d'API par jour RESOURCE_EXHAUSTED
Requêtes de mutation 10 000 opérations par requête TOO_MANY_MUTATE_OPERATIONS
Demandes du service de planification 1 RPS RESOURCE_EXHAUSTED
Requêtes du service d'importation des conversions 2 000 conversions par demande TOO_MANY_CONVERSIONS_IN_REQUEST
Requêtes de service de facturation et de budget de compte 1 opération par demande de mutation TOO_MANY_MUTATE_OPERATIONS

Limites quotidiennes des opérations de l'API

Les limites d'utilisation quotidiennes de l'API sont basées sur le nombre d'opérations d'API effectuées par jeton de développeur. Les opérations d'API correspondent à la somme totale des requêtes get et des opérations mutate. Les limites des opérations quotidiennes d'API dépendent du niveau d'accès du jeton de développeur. Le guide sur les niveaux d'accès et les utilisations autorisées décrit les limites d'opérations d'API spécifiques à chaque niveau d'accès.

Les requêtes qui ne respectent pas ces limites sont rejetées avec l'erreur suivante : RESOURCE_EXHAUSTED.

Limites de gRPC

Toutes les bibliothèques clientes de l'API Google Ads utilisent gRPC pour générer les requêtes et les réponses. Par défaut, la taille des messages de gRPC est de 4 Mo, mais nos bibliothèques clientes définissent la taille maximale des messages sur 64 Mo afin d'améliorer l'efficacité.

Les réponses ne doivent pas dépasser cette limite. Par exemple, une requête de recherche comprenant de nombreux champs peut générer une réponse d'une taille supérieure à 64 Mo. Pour éviter cette limite, vous pouvez réduire le nombre de champs sélectionnés, la taille de la page ou utiliser le streaming. Pour les opérations mutate, envoyez moins d'opérations par requête.

Les requêtes qui ne respectent pas cette limitation ne génèrent pas d'erreur GoogleAdsError, mais génèrent une erreur gRPC 429 Resource Exhausted. Consultez la liste des codes et des messages d'erreur gRPC.

Requêtes de mutation

En plus d'être comptabilisée dans le quota d'opérations quotidien de l'utilisateur, une requête mutate ne peut pas contenir plus de 10 000 opérations par requête.

Les requêtes qui ne respectent pas cette limite sont rejetées avec l'erreur suivante : TOO_MANY_MUTATE_OPERATIONS.

Vous trouverez ci-dessous des limites et des considérations supplémentaires pour des services et des types de requêtes spécifiques.

Requêtes de recherche

Une requête Search ou SearchStream est comptabilisée comme une opération dans le quota d'opérations quotidien de l'utilisateur. Une requête SearchStream compte comme une opération API, quel que soit le nombre de lots.

Requêtes paginées

Les requêtes paginées (par exemple, celles contenant un next_page_token valide) ne sont pas comptabilisées dans le quota d'opérations quotidien d'un utilisateur. Toutefois, les requêtes de pagination contenant un jeton de page arrivé à expiration ou non valide génèrent une exception et sont comptabilisées dans le quota d'opérations quotidien.

Les requêtes paginées, telles que les requêtes de recherche, sont également soumises à la limite Page size cannot exceed 10,000 rows et sont rejetées si elles ne respectent pas cette limite, avec l'erreur suivante : INVALID_PAGE_SIZE.

Pour en savoir plus sur la pagination, consultez la section Parcourir les résultats.

Autres types de requêtes

Une requête qui n'est pas une requête Get, Mutate, Search ou SearchStream est comptabilisée comme une opération dans le quota d'opérations quotidien de l'utilisateur.

En voici quelques exemples:

Requêtes qui renvoient des exceptions d'API

Les requêtes rejetées avec un GoogleAdsFailure sont toujours comptabilisées dans le quota d'opérations quotidien de l'utilisateur.

Les requêtes qui échouent, mais qui ne renvoient pas de message GoogleAdsFailure (par exemple, en raison d'une erreur au niveau du réseau) ne sont pas comptabilisées dans le quota d'opérations quotidien de l'utilisateur, car elles n'atteignent jamais le service. Un exemple de ceci est un échec de connectivité réseau.

Services de planification

En raison du coût et de la complexité, les méthodes du service Planning listées ci-dessous sont soumises à des limites distinctes de celles des autres types de demandes.

Tenez compte de ces limites lorsque vous créez un plan de mots clés.

Objet de plan de mots clés Nombre maximal
KeywordPlan par compte 10 000
KeywordPlanAdGroup par KeywordPlan 200
KeywordPlanAdGroupKeyword par KeywordPlan 10 000
KeywordPlanCampaignKeyword (mots clés à exclure) 1 000
KeywordPlanCampaign par KeywordPlan 1

Service d'importation des conversions

Service d'importation des ajustements de conversions

Services de facturation et de budget de compte

  • Les modifications ne peuvent être effectuées que sur des comptes configurés pour la facturation mensuelle.

    Les requêtes qui ne respectent pas cette limite sont rejetées avec l'erreur suivante : MUTATE_NOT_ALLOWED.

  • Seule 1 opération est autorisée pour les demandes de mutation.

    Les requêtes qui ne respectent pas cette limite sont rejetées avec l'erreur suivante : TOO_MANY_MUTATE_OPERATIONS.

  • Attendez au moins 12 heures entre chaque modification d'une commande budgétée sur le même compte. Si vous effectuez des modifications avant ce délai, cela peut entraîner des échecs irrécupérables, qui ne peuvent être résolus que par votre responsable de compte Google Ads.

Invitations pour les comptes client

Les nouveaux utilisateurs peuvent être invités dans des comptes client existants à l'aide de CustomerUserAccessService. Étant donné que cette fonctionnalité envoie des e-mails d'invitation à d'autres utilisateurs, elle peut être utilisée de manière abusive. Son comportement est donc limité:

Données utilisateur

Les données utilisateur sont gérées avec UserDataService et OfflineUserDataJobService. Dans une opération de création/suppression de UserData donnée, chaque ensemble de user_identifiers doit être spécifique à un seul utilisateur.

Pour appliquer cela, une erreur OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS ou UserDataError.TOO_MANY_USER_IDENTIFIERS est renvoyée lorsqu'un ensemble UserData contient plus de 20 user_identifiers.

Autres types de limites

Un champ répété, tel qu'une liste d'opérations, comportant trop d'éléments dans une requête peut entraîner l'erreur REQUEST_SIZE_LIMIT_EXCEEDED. Ce même message d'erreur peut également être dû à d'autres problèmes.

Si vous rencontrez cette limitation et effectuez des requêtes qui utilisent un champ répété, essayez de réduire le nombre d'éléments dans le champ répété en déployant une liste d'opérations dans une requête mutate.

Lorsque vous effectuez une requête GAQL, le nombre maximal d'éléments dans une clause IN est de 20 000. Si vous dépassez cette limite, une erreur FILTER_HAS_TOO_MANY_VALUES est renvoyée.