L’essentiel en 30 secondes
- L'API est gratuite ; l'usage est limité par le niveau d'accès du projet Google Cloud depuis la fin du developer token (9 septembre 2026).
- Quatre niveaux : Test (comptes de test), Explorer (2 880 opérations/jour en production), Basic (15 000) et Standard (illimité).
- Une requête Search ou SearchStream compte pour une opération ; chaque modification d'un mutate compte pour une.
- RESOURCE_EXHAUSTED signale un quota quotidien épuisé ; RESOURCE_TEMPORARILY_EXHAUSTED une limite de débit à gérer par attente exponentielle.
La Google Ads API est gratuite : Google ne facture ni l'accès ni les appels. Ce qui limite votre usage, c'est le niveau d'accès de votre projet Google Cloud, qui fixe le nombre d'opérations autorisées par jour, plus des limites de débit et des plafonds par requête12. Depuis le 9 septembre 2026, ces niveaux ne sont plus attachés au developer token mais au projet Google Cloud qui détient vos identifiants OAuth3.
Quels sont les niveaux d'accès et leurs quotas ?
| Niveau | Comptes accessibles | Opérations par jour | Obtention |
|---|---|---|---|
| Test | Comptes de test uniquement | 15 000 | Automatique en activant l'API dans le projet |
| Explorer | Test et comptes réels | 2 880 sur comptes réels ; 15 000 sur comptes de test | Demande dans la console Google Cloud, souvent accordée automatiquement |
| Basic | Test et comptes réels | 15 000 | Demande après vérification de la marque du projet ; examen automatisé en quelques minutes |
| Standard | Test et comptes réels | Illimité | Audit manuel détaillé ; environ 10 jours ouvrés |
Sources : politique des niveaux d'accès et guide de fin du developer token13. Le « jour » est une fenêtre glissante de 24 heures, pas un compteur remis à zéro à minuit1.
Le niveau Explorer restreint certains services : création de comptes, gestion des utilisateurs, outils de planification (mots clés, audiences, couverture) et facturation1. En accès Standard, Google attribue en plus un « usage autorisé » (création et gestion d'annonces, reporting seul, ou recherche de mots clés et recommandations) qui détermine les fonctions utilisables1.
Qu'est-ce qui compte comme une « opération » ?
| Type d'appel | Décompte |
|---|---|
| Requête Search ou SearchStream | 1 opération, quel que soit le nombre de lignes renvoyées |
| Pages suivantes d'un Search (jeton de page valide) | Non décomptées |
| Requête de modification (mutate) | 1 opération par modification incluse |
| Autres méthodes (import de conversions, tâches par lots…) | 1 opération par requête |
| Requête rejetée avec une erreur Google Ads | Décomptée quand même |
Source : page des quotas2. En pratique, un tableau de bord qui interroge 50 comptes chaque heure consomme 1 200 opérations par jour s'il fait une requête par compte : c'est le nombre de requêtes qui compte, pas le volume de données.
Quelles limites s'appliquent à chaque requête ?
| Limite | Valeur | Erreur renvoyée |
|---|---|---|
| Modifications par requête mutate | 10 000 | TOO_MANY_MUTATE_OPERATIONS |
| Taille d'une réponse gRPC | 64 Mo (réglage des bibliothèques officielles) | RESOURCE_EXHAUSTED |
| Lignes par page d'un Search | 10 000 (fixe) | — |
| Valeurs dans une clause IN en GAQL | 20 000 | FILTER_HAS_TOO_MANY_VALUES |
| Conversions par appel d'import | 2 000 | TOO_MANY_CONVERSIONS_IN_REQUEST |
| Opérations par tâche par lots (BatchJob) | 1 million ; 100 tâches actives par compte | RESOURCE_LIMIT |
| Services de planification de mots clés | 1 requête par seconde par compte client | RESOURCE_EXHAUSTED |
| Historique de rapports détaillés (jour, heure, semaine) | 37 mois | REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED |
Sources : quotas, pagination, traitement par lots et limites système2456.
Comment gérer les erreurs de quota ?
Deux erreurs distinctes existent27 :
RESOURCE_EXHAUSTED: le quota quotidien de votre niveau d'accès est atteint (ou une réponse dépasse 64 Mo). Réessayer tout de suite ne sert à rien : réduisez le nombre de requêtes ou demandez un niveau supérieur.RESOURCE_TEMPORARILY_EXHAUSTED: vous dépassez la limite de débit, mesurée par seconde sur le compte client et sur le projet Google Cloud. Google ne publie pas de valeur fixe : elle dépend de la charge des serveurs.
Google recommande de limiter le nombre de tâches parallèles, de regrouper les modifications dans une même requête et de réessayer avec une attente exponentielle plus un léger aléa78. Exemple avec la bibliothèque Python officielle, inspiré de l'exemple de Google9 :
import random
import time
from google.ads.googleads.errors import GoogleAdsException
def call_with_retry(client, func, max_retries=5, base_delay=5):
"""Réessaie func() en cas d'erreur de quota, avec attente exponentielle."""
quota_error = client.get_type("QuotaErrorEnum").QuotaError
retryable = (
quota_error.RESOURCE_EXHAUSTED,
quota_error.RESOURCE_TEMPORARILY_EXHAUSTED,
)
for attempt in range(max_retries):
try:
return func()
except GoogleAdsException as ex:
is_quota = any(
error.error_code.quota_error in retryable
for error in ex.failure.errors
)
if not is_quota or attempt == max_retries - 1:
raise
# 5 s, 10 s, 20 s... plus un léger aléa pour désynchroniser les tâches
time.sleep(base_delay * 2 ** attempt + random.uniform(0, 1))Utilisation : call_with_retry(client, lambda: ga_service.search(customer_id=customer_id, query=query)). Pour la mise en place de la bibliothèque, voir notre tutoriel Google Ads API avec Python.
Comment passer à un niveau d'accès supérieur ?
- Ouvrez la page Google Ads API Overview de votre projet dans la console Google Cloud et vérifiez le niveau actuel.
- Déroulez la section Upgrade access level et demandez le niveau suivant (Explorer, puis Basic, puis Standard).
- Pour Basic et Standard, terminez d'abord la vérification de la marque OAuth du projet.
- Pour Standard, préparez la description de votre outil, de ses utilisateurs et, s'il est utilisé par des tiers, un accès de démonstration.
Source : procédure officielle1. Les démarches n'ont plus lieu dans le Centre API du compte administrateur Google Ads, qui sera fermé3. Pour le détail des identifiants, voir notre guide sur les identifiants OAuth2 et niveaux d'accès. Et si vous préférez déléguer l'exploitation de vos comptes, notre équipe chargée du pilotage de vos campagnes payantes commence par un audit gratuit.
Sources
- Access levels and permissible use (Google Ads API, Google for Developers)
- API limits and quotas (Google Ads API, Google for Developers)
- Developer token sunset and API access management (Google for Developers)
- Paging through results (Google Ads API, Google for Developers)
- Batch processing : best practices and limitations (Google for Developers)
- System limits (Google Ads API, Google for Developers)
- Rate limits (Google Ads API, Google for Developers)
- Error types : retryable errors (Google Ads API, Google for Developers)
- Exemple handle_rate_exceeded_error.py (google-ads-python, GitHub)






Commentaires
Chaque commentaire est relu avant publication, en général sous 24 h ouvrées. Les liens promotionnels ne sont pas publiés.
Aucun commentaire pour l’instant. Une question sur l’article ? Posez-la ci-dessous.