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:
BatchJobService.ListMutateJobResults
ConversionUploadService.UploadCallConversions
ConversionUploadService.UploadClickConversions
OfflineUserDataJobService.AddOfflineUserDataJobOperations
OfflineUserDataJobService.CreateOfflineUserDataJob
UserDataService.UploadUserData
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.
Limite de 1 requête par seconde et par numéro client ou jeton de développeur:
KeywordPlanService.GetKeywordPlan
KeywordPlanService.GenerateHistoricalMetrics
KeywordPlanService.GenerateForecastMetrics
Les requêtes qui ne respectent pas ces limites sont rejetées avec l'erreur suivante :
RESOURCE_EXHAUSTED
.1 RPS correspond à 60 requêtes toutes les 60 secondes.
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
Limité à 2 000 conversions par appel ou par clic par demande:
Les requêtes qui ne respectent pas ces limites sont rejetées avec l'erreur suivante :
TOO_MANY_CONVERSIONS_IN_REQUEST
.
Service d'importation des ajustements de conversions
Limite de 2 000 ajustements de conversion par demande:
Les requêtes qui ne respectent pas ces limites sont rejetées avec l'erreur suivante :
TOO_MANY_ADJUSTMENTS_IN_REQUEST
.
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é:
Les utilisateurs ne peuvent pas recevoir plusieurs invitations en attente pour un même compte client. Si une requête ultérieure est effectuée pour envoyer une invitation à un utilisateur disposant déjà d'une invitation en attente, l'erreur suivante est renvoyée :
ACCESS_INVITATION_ERROR_EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION
.Les comptes client ne peuvent pas comporter plus de 70 invitations en attente simultanées. Si une requête envoyée entraînant le dépassement de cette valeur est renvoyée, l'erreur suivante est renvoyée :
ACCESS_INVITATION_ERROR_PENDING_INVITATIONS_LIMIT_EXCEEDED
.
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.