Limites et quotas des API

L'API Google Ads applique des limites aux opérations d'API, par exemple au nombre d'opérations pouvant être envoyées dans une seule requête de modification. Le tableau suivant récapitule certaines des limites et quotas importants à connaître.

Type de requête, limite et code d'erreur
Opérations avec le niveau d'accès Explorateur 2 880 opérations d'API par jour sur les comptes de production
15 000 opérations d'API par jour sur les comptes de test
RESOURCE_EXHAUSTED
Opérations avec le niveau d'accès de base 15 000 opérations d'API par jour sur les comptes de test et de production RESOURCE_EXHAUSTED
Requêtes de modification 10 000 opérations de modification par requête
100 opérations d'action par requête
TOO_MANY_MUTATE_OPERATIONS
TOO_MANY_ACTION_OPERATIONS
Requêtes du service de planification 1 RPS RESOURCE_EXHAUSTED
Requêtes du service d'importation des conversions 2 000 conversions par requête TOO_MANY_CONVERSIONS_IN_REQUEST
Requêtes des services de facturation et de budget du compte 1 opération par requête de modification TOO_MANY_MUTATE_OPERATIONS

Limites quotidiennes des opérations d'API

Les limites d'utilisation quotidienne 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 de modification. Les limites des opérations d'API quotidiennes dépendent du niveau d'accès du jeton de développeur. Le guide Niveaux d'accès et utilisation autorisée décrit les limites spécifiques des opérations d'API pour chaque niveau d'accès.

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

Limites de gRPC

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

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

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

Requêtes de modification

En plus d'être comptabilisée dans le quota d'opérations quotidiennes de l'utilisateur, une requête de modification 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: TOO_MANY_MUTATE_OPERATIONS.

Les limites et considérations supplémentaires pour des services et types de requêtes spécifiques sont décrites ci-dessous.

Rechercher des requêtes

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

Requêtes paginées

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

Pour en savoir plus sur la pagination, consultez la section Parcourir des 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 quotidiennes de l'utilisateur.

Voici quelques exemples de requêtes de ce type :

Requêtes qui renvoient des exceptions d'API

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

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

Service de planification des mots clés

En raison de leur coût et de leur complexité, les méthodes suivantes du service de planification des mots clés sont soumises à des limites distinctes des autres types de requêtes.

Gardez ces limites à l'esprit 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'insights sur l'audience

Les méthodes suivantes de AudienceInsightsService sont soumises à des limites de quota spécifiques.

Service d'importation des conversions

Service d'importation des ajustements de conversion

Règles de valeur de conversion

Si un ConversionValueRuleSet avec un attachment_type de CUSTOMER existe déjà pour le compte, vous devez ajouter toutes les nouvelles règles de valeur de conversion à cet ensemble pour qu'elles deviennent actives. Si aucun ensemble de règles de valeur de conversion de ce type n'existe, vous devez en créer un et y ajouter vos règles de valeur de conversion, comme décrit dans Créer des ensembles de règles.

Services de facturation et de budget du compte

  • Les modifications ne peuvent être apportées qu'aux comptes configurés pour la facturation mensuelle.

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

  • Une seule opération est autorisée pour les requêtes de modification.

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

  • Vous devez attendre au moins 12 heures entre les modifications de l'ordre de budget pour le même compte. Si vous apportez des modifications avant que 12 heures ne se soient écoulées, cela peut entraîner des échecs irrécupérables qui ne peuvent être résolus que par votre représentant de compte Google Ads.

Invitations aux comptes client

Vous pouvez inviter de nouveaux utilisateurs à des comptes client existants avec le CustomerUserAccessService. Étant donné que cette fonctionnalité envoie des e-mails d'invitation à d'autres utilisateurs, elle peut être utilisée de manière abusive. Par conséquent, son comportement est limité :

Données utilisateur

Les données utilisateur sont gérées avec le UserDataService et le OfflineUserDataJobService.

Chaque UserData objet d'une opération create ou remove concerne un seul utilisateur final. Le champ user_identifiers d'un seul UserData objet est limité à 20 identifiants au maximum. Si vous dépassez cette limite dans un seul objet UserData, vous recevrez une erreur OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS ou UserDataError.TOO_MANY_USER_IDENTIFIERS.

Gérer les utilisateurs avec plus de 20 identifiants

Si un seul utilisateur final possède plus de 20 identifiants que vous devez importer, vous devez les répartir sur plusieurs objets UserData. Pour vous assurer que Google peut associer tous ces identifiants au même utilisateur final, chaque objet UserData de cet utilisateur doit inclure au moins un user_identifier commun, tel que le même hashed_email, hashed_phone_number ou third_party_user_id. Google utilise ces identifiants partagés pour associer et fusionner les informations des opérations UserData distinctes au profil de l'utilisateur final approprié.

Si vous utilisez des informations personnelles telles que des adresses e-mail ou des numéros de téléphone hachés, assurez-vous qu'ils sont normalisés et hachés conformément aux exigences de l'API Google Ads (SHA-256, minuscules, sans espace) pour éviter les échecs d'association.

Par exemple, si un utilisateur possède 30 adresses e-mail, vous pouvez envoyer deux objets UserData.

  • UserData 1 : {third_party_user_id: "user123", hashed_email: "email1@...", ... hashed_email: "email19@..."}
  • UserData 2: {third_party_user_id: "user123", hashed_email: "email20@...", ... hashed_email: "email30@..."}

La limite totale pour user_identifiers dans toutes les opérations d'un seul OfflineUserDataJob reste de 100 000.

Autres types de limites

Un champ répété, tel qu'une liste d'opérations, qui contient trop d'éléments dans une requête peut générer l'erreur : REQUEST_SIZE_LIMIT_EXCEEDED. Ce même message d'erreur peut également être dû à d'autres problèmes.

Si vous rencontrez cette limite et que vous 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 de modification.

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