L'API Google Ads impose des limites aux opérations de l'API, telles que le nombre d'opérations pouvant être envoyées dans une même demande mutate. Le tableau ci-dessous récapitule quelques-unes des limites et 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
|
|
Demandes de mutation | 10 000 opérations par requête |
TOO_MANY_MUTATE_OPERATIONS
|
|
Demandes au service Planning | 1 RPS |
RESOURCE_EXHAUSTED
|
|
Demandes du service d'importation des conversions | 2 000 conversions par requête |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
|
Demandes du service Billing et Budget du compte | 1 opération par demande de mutation |
TOO_MANY_MUTATE_OPERATIONS
|
Limites quotidiennes d'opérations d'API
Les limites d'utilisation quotidienne d'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 mutate. Les limites relatives aux opérations quotidiennes de l'API dépendent du niveau d'accès du jeton de développeur. Le guide sur les niveaux d'accès et l'utilisation autorisée 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 des requêtes et des réponses. Par défaut, gRPC dispose d'une taille de message de 4 Mo, mais nos bibliothèques clientes la définissent sur 64 Mo pour une plus grande efficacité.
Le nombre de réponses ne doit pas dépasser cette limite. Par exemple, une requête de recherche qui inclut 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, réduire la taille de la page ou utiliser le streaming. Pour les mutates, envoyez moins d'opérations par requête.
Les requêtes qui ne respectent pas cette limite ne génèrent pas d'erreur GoogleAdsError
, mais une erreur gRPC 429 Resource Exhausted
. Reportez-vous à la liste des codes et des messages d'erreur gRPC.
Demandes 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 refusées avec l'erreur suivante : TOO_MANY_MUTATE_OPERATIONS
.
Les limites et considérations supplémentaires pour des services et des types de requêtes spécifiques sont décrites ci-dessous.
Requêtes de recherche
Une requête Search
ou SearchStream
compte comme une opération dans le quota d'opérations quotidien de l'utilisateur. Une requête SearchStream
compte comme une opération d'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 expiré ou non valide généreront une exception et seront 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 refusées si elles ne respectent pas cette limite, avec l'erreur suivante : INVALID_PAGE_SIZE
.
Pour en savoir plus sur la pagination, consultez 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.
Voici quelques exemples de requêtes de ce type:
BatchJobService.ListMutateJobResults
ConversionUploadService.UploadCallConversions
ConversionUploadService.UploadClickConversions
OfflineUserDataJobService.AddOfflineUserDataJobOperations
OfflineUserDataJobService.CreateOfflineUserDataJob
UserDataService.UploadUserData
Requêtes renvoyant des exceptions d'API
Les requêtes refusées avec un GoogleAdsFailure
sont toujours comptabilisées dans le quota d'opérations quotidien de l'utilisateur.
Les requêtes qui échouent, mais ne renvoient pas de GoogleAdsFailure
(erreur au niveau du réseau, par exemple) ne sont pas prises en compte dans le quota d'opérations quotidien de l'utilisateur, car les requêtes n'atteignent jamais le service. Une défaillance de connectivité réseau en est un exemple.
Services de planification
Pour des raisons de coûts et de complexité, les méthodes de service Planning répertoriées ci-dessous sont soumises à des limites distinctes des autres types de requêtes.
Limité à 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 refusé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 requête:
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
Limité à 2 000 ajustements de conversion par requête:
Les requêtes qui ne respectent pas ces limites sont rejetées avec l'erreur suivante :
TOO_MANY_ADJUSTMENTS_IN_REQUEST
.
Services liés à la facturation et au budget du 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 refusées avec l'erreur suivante :
MUTATE_NOT_ALLOWED
.Une seule opération 1 est autorisée pour les demandes mutate.
Les requêtes qui ne respectent pas cette limite sont refusées avec l'erreur suivante :
TOO_MANY_MUTATE_OPERATIONS
.Vous devez attendre au moins 12 heures entre chaque modification de la commande budgétée sur le même compte. Toute modification avant le délai de 12 heures peut entraîner des échecs irrécupérables. Seul votre responsable de compte Google Ads peut les résoudre.
Invitations à rejoindre des comptes client
Les nouveaux utilisateurs peuvent être invités à rejoindre 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, et son comportement est donc limité:
Les utilisateurs ne peuvent pas recevoir plusieurs invitations en attente pour le même compte client. Si une demande ultérieure est effectuée pour envoyer une invitation à un utilisateur ayant déjà 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 à la fois. Si une requête entraînant le dépassement de cette valeur est envoyé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 UserData
donnée, chaque ensemble de user_identifiers
doit être spécifique à un seul utilisateur.
Pour ce faire, une erreur OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS
ou UserDataError.TOO_MANY_USER_IDENTIFIERS
est renvoyée lorsqu'il existe plus de 20 user_identifiers
dans un ensemble UserData
.
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 suivante : REQUEST_SIZE_LIMIT_EXCEEDED
.
Ce même message d'erreur peut également être dû à d'autres problèmes.
Si vous rencontrez cette limitation et que vous envoyez 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.