Serveur MCP Google Ads : connecter Google Ads à Claude (officiel)
Google publie désormais un serveur MCP officiel et open source pour Google Ads. Cet article montre comment vous authentifier, l’ajouter à Claude Desktop ou Claude Code, lancer des requêtes GAQL en langage courant, éviter les pièges liés aux données et aux coûts, puis transformer les résultats en créatifs publicitaires.
Posez une question à votre compte publicitaire en langage courant et obtenez la réponse en quelques secondes. C’est la promesse du serveur MCP Google Ads, un pont open source proposé par Google, qui permet à un assistant d’IA comme Claude de lire vos données de campagne en direct, au lieu d’attendre que vous exportiez un nouveau CSV. C’est la voie officielle : Google le publie dans son organisation GitHub googleads sous licence Apache 2.0, et il est aujourd’hui strictement en lecture seule. Il peut tout consulter, mais ne peut rien modifier.
Cet article montre comment connecter Google Ads à Claude, quelles questions poser en premier, et quels pièges produisent discrètement des chiffres faux. Un changement récent compte : Google a mis fin aux jetons développeur le 9 septembre 2026, si bien que de nombreux anciens tutoriels décrivent une étape de configuration qui n’est plus nécessaire. Tout ce qui suit s’appuie sur la documentation actuelle de Google et sur le README du projet.
Ce que fait le serveur officiel
Le Model Context Protocol (MCP) est un standard qui permet à un client d’IA d’appeler des outils exposés par un programme séparé. Le serveur de Google enveloppe l’API Google Ads dans trois de ces outils, de sorte que Claude peut trouver vos comptes, lancer des requêtes et consulter les définitions des champs, sans que vous écriviez une seule ligne de code d’intégration. Le serveur tourne sur votre machine via stdio, et Claude lui parle comme à n’importe quel autre serveur MCP.
Voici ce qui change par rapport à la routine d’export hebdomadaire que suivent encore la plupart des annonceurs :
Étape
Routine d’export
Avec le serveur MCP
Extraire les données
Construire et télécharger les rapports à la main
Claude lance la requête
Changer la période
Exporter à nouveau
Dites-le en une phrase
Poser une question de suivi
Ouvrir une nouvelle feuille de calcul
Reposez la question dans le même chat
Fraîcheur des données
Ce que contenait le fichier
Données du compte en direct
Trois outils, en lecture seule
Outil
Ce qu’il renvoie
Quand Claude l’appelle
list_accessible_customers
Les identifiants client auxquels l’utilisateur connecté a directement accès
En premier, pour trouver le bon compte
search
Résultats d’une requête Google Ads Query Language (GAQL) : métriques, budgets, statuts
Pour chaque vraie question sur les performances
get_resource_metadata
La structure et les champs disponibles d’un type de ressource
Avant d’écrire une requête avec des champs inconnus
En pratique, vous n’écrivez jamais la requête vous-même. Vous dites « quelles campagnes ont le plus dépensé la semaine dernière ? », Claude vérifie quels champs existent, construit la requête GAQL, la lance avec search et résume les lignes. Vous pouvez toujours lire la requête exécutée, ce qui vous permet de repérer les erreurs.
Ce qu’il ne peut pas faire
La documentation de Google est claire : l’implémentation « ne peut pas modifier les enchères, mettre en pause des campagnes ni créer de nouveaux assets ». Cela exclut :
Modifier les budgets ou les enchères
Mettre en pause ou activer des campagnes
Créer ou modifier des annonces
Importer de nouveaux créatifs
💡 La lecture seule est un atout. Une mauvaise réponse du modèle vous coûte un après-midi gâché, pas un budget vidé, car il n’a aucun moyen de pousser une modification sur le compte.
Avant de connecter quoi que ce soit
Trois éléments doivent être en place avant que le fichier de configuration ait de l’importance : un projet Google Cloud avec le bon niveau d’accès, des identifiants fonctionnels et l’outillage local pour lancer le serveur. En oublier un seul produit des erreurs qui semblent sans rapport avec la vraie cause.
Projet Cloud et niveau d’accès
L’identifiant de votre projet Google Cloud va dans la configuration sous la forme GOOGLE_PROJECT_ID. Ouvrez la page de présentation de l’API Google Ads dans la console Cloud et vérifiez que le projet se trouve à l’un des trois niveaux d’accès listés : le niveau d’entrée, Basic ou Standard. S’il n’en a aucun, faites une demande. Les niveaux d’accès sont désormais liés au projet Cloud, ce qui explique précisément pourquoi les jetons développeur ne sont plus nécessaires.
Les jetons développeur ont disparu
La documentation de Google indique que les jetons développeur (GOOGLE_ADS_DEVELOPER_TOKEN) ont été abandonnés le 9 septembre 2026 et ne sont plus requis dans la dernière version du serveur. Le README sur GitHub indique encore cette variable comme facultative : si vous figez une version plus ancienne, vous devrez peut-être la définir. Sur la version actuelle, ne la renseignez pas.
💡 Vérifiez la date de chaque tutoriel. S’il vous dit de demander un jeton développeur et d’attendre son approbation, il décrit l’ancienne procédure.
OAuth ou ADC
Il vous faut l’une de ces deux options : une paire identifiant client et secret OAuth 2.0 créée dans le même projet, ou un jeu d’Application Default Credentials (ADC). Le scope requis est https://www.googleapis.com/auth/adwords. ADC via la CLI gcloud est le chemin le plus court pour un utilisateur unique, et c’est ce qu’utilisent les commandes ci-dessous.
Préparez ces éléments avant de continuer :
pipx installé, l’outil Python qui lance le serveur directement depuis GitHub
La CLI gcloud installée et connectée
Un utilisateur Google ayant accès au compte Google Ads
L’identifiant de votre projet Cloud
Connecter Claude pas à pas
Se connecter avec gcloud
Lancez la commande de connexion avec les deux scopes dont le serveur a besoin, en pointant vers le fichier de client OAuth que vous avez téléchargé :
Une fenêtre de navigateur s’ouvre, vous approuvez les scopes, et gcloud écrit un fichier JSON d’identifiants. Notez l’emplacement, car ce chemin devient GOOGLE_APPLICATION_CREDENTIALS. Les équipes qui préfèrent les comptes de service peuvent utiliser --impersonate-service-account=SERVICE_ACCOUNT_EMAIL avec les mêmes scopes.
Ajouter le serveur à Claude Desktop
Ouvrez le fichier de configuration de Claude Desktop : ~/Library/Application Support/Claude/claude_desktop_config.json sur macOS ou %APPDATA%\Claude\claude_desktop_config.json sous Windows. Ajoutez le serveur :
Quittez complètement Claude Desktop puis rouvrez-le. Le premier lancement télécharge le serveur via pipx, prévoyez donc une courte pause. Pour des configurations reproductibles, le README suggère de figer une version publiée avec pipx run --spec "google-ads-mcp==X.Y.Z" google-ads-mcp plutôt que de suivre l’état le plus récent du dépôt.
Claude Code en une seule commande
Claude Code peut enregistrer le même serveur depuis le terminal :
claude mcp add google-ads-mcp \
--env GOOGLE_PROJECT_ID=your-project-id \
--env GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json \
-- pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp
Lancez ensuite /mcp dans Claude Code et vérifiez que google-ads-mcp apparaît comme connecté.
Tester avec une seule question
Posez l’exemple de prompt de la documentation de Google : « À quels clients ai-je accès ? » Claude doit appeler list_accessible_customers et renvoyer les identifiants et noms des comptes. Si quelque chose ne fonctionne pas, ce tableau répertorie les causes habituelles :
Symptôme
Cause probable
Correction
Aucun outil n’apparaît
JSON invalide ou Claude non redémarré
Valider le JSON, quitter Claude complètement, le rouvrir
Erreur de permission ou d’accès
Le projet n’a pas encore de niveau d’accès à l’API
Vérifier la page de présentation de l’API Google Ads
Liste de comptes vide
Identifiants d’un utilisateur sans accès aux comptes
Relancer la connexion gcloud avec le bon utilisateur
Erreurs sur les comptes clients
Identifiant du compte manager manquant
Définir GOOGLE_ADS_LOGIN_CUSTOMER_ID
Ce sont les causes les plus probables, pas un catalogue officiel d’erreurs. Lisez donc le message réel que Claude affiche avant de modifier quoi que ce soit.
Les questions à poser en premier
Commencez par retrouver vos comptes. « À quels clients ai-je accès ? » vous donne les identifiants client à 10 chiffres, sans tirets, dont chaque requête ultérieure a besoin. Indiquez une fois à Claude l’identifiant avec lequel vous travaillez, et il le réutilisera pour le reste du chat. Passez ensuite aux questions qui font gagner du temps. Les requêtes ci-dessous montrent ce que Claude tend à construire en coulisses, afin que vous puissiez vérifier le résultat.
Extractions de performances hebdomadaires
Le second exemple de prompt de Google est « Comment se portent mes campagnes cette semaine ? » Une requête raisonnable derrière ce prompt ressemble à ceci :
SELECT
campaign.name,
metrics.cost_micros,
metrics.clicks,
metrics.conversions
FROM campaign
WHERE segments.date DURING LAST_7_DAYS
ORDER BY metrics.cost_micros DESC
LIMIT 10
Regardez cost_micros. Google Ads stocke les montants en micros : 12 500 000 signifient donc 12,50 dans la devise du compte. Un modèle qui oublie de diviser annoncera des dépenses un million de fois trop élevées. Demandez-lui donc de convertir et d’indiquer la devise.
Chasse aux dépenses inutiles
Le premier projet le plus utile est un examen des termes de recherche. Cette requête trouve les termes qui ont dépensé plus de 5 unités monétaires en 30 jours sans jamais convertir :
SELECT
search_term_view.search_term,
campaign.name,
metrics.clicks,
metrics.cost_micros,
metrics.conversions
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
AND metrics.conversions = 0
AND metrics.cost_micros > 5000000
ORDER BY metrics.cost_micros DESC
LIMIT 25
Renvoyez les lignes à Claude et demandez-lui de les regrouper par thèmes : chercheurs d’emploi, personnes qui cherchent du gratuit, mauvais produit, mauvaise zone géographique. Ces thèmes deviennent votre liste de termes négatifs, que vous ajoutez ensuite vous-même dans l’interface Google Ads, car le serveur ne peut pas écrire.
Quelques autres prompts à conserver dans une note :
Objectif
Prompt à saisir
Ressource probable
Contrôle des dépenses
« Quelles sont les cinq campagnes qui ont le plus dépensé ce mois-ci ? »
campaign
Efficacité
« Classez les campagnes par coût par conversion sur 30 jours »
campaign
Rythme
« Quelles campagnes sont limitées par le budget ? »
campaign, campaign_budget
Qualité des annonces
« Listez les annonces avec le taux de clics le plus faible »
ad_group_ad
💡 Indiquez la période et la devise à chaque fois. Les prompts vagues sont le point de départ des erreurs silencieuses. « Les 30 derniers jours, en euros » vaut mieux que « récemment ». Vérifiez ensuite un chiffre dans l’interface Google Ads avant de faire confiance au reste.
Sécurité, données et limites
Vos données atteignent le modèle
Le README prévient que le serveur « exposera vos données à l’agent ou au LLM que vous y connectez ». Il précise aussi qu’un en-tête supplémentaire est ajouté à vos appels API, que Google utilise pour améliorer le produit. Avant de connecter un compte d’agence qui contient des données clients, vérifiez votre contrat et la politique de votre client. Traitez la connexion comme l’envoi d’un rapport par e-mail : tout ce que renvoie une requête arrive au modèle.
Une protection peu coûteuse : connectez-vous avec un utilisateur Google dont l’accès au compte se limite à ce dont le travail a besoin. Le serveur agit avec les identifiants de l’utilisateur qui s’est authentifié, donc les permissions de cet utilisateur s’appliquent en plus de la conception en lecture seule du serveur.
Comptes manager et hébergement
Si vous accédez à un compte client via un compte manager (MCC), définissez GOOGLE_ADS_LOGIN_CUSTOMER_ID sur l’identifiant client du manager dans le bloc env. Google l’indique comme obligatoire dans ce cas.
La configuration locale décrite plus haut utilise stdio et convient à une seule personne. Google documente aussi un déploiement sur Cloud Run pour les équipes. Là, le serveur a besoin de GOOGLE_ADS_MCP_OAUTH_CLIENT_ID, GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET et FASTMCP_HOST=0.0.0.0, et la configuration du client pointe un httpUrl vers le chemin /mcp de votre service.
Serveurs officiels ou communautaires
Il existe de nombreux serveurs MCP Google Ads développés par la communauté, et certains peuvent offrir un accès en écriture. Vérifiez les scopes et les capacités avant d’en connecter un à un compte actif.
Serveur officiel
Serveurs communautaires
Éditeur
Google, dans l’organisation GitHub googleads
Développeurs individuels
Accès en écriture
Aucun, strictement en lecture seule
Variable selon le projet
Authentification
OAuth ou ADC
Variable selon le projet
Licence
Apache 2.0
Variable selon le projet
Transformer les analyses en créatifs publicitaires
Le serveur MCP vous indique ce qu’il faut corriger. Il ne fabrique pas les images. Une fois que Claude a montré quels thèmes de recherche convertissent, il vous faut encore des visuels et des textes neufs, et c’est là que PicassoIA intervient. Rien ici ne connecte PicassoIA à votre compte publicitaire : vous reportez donc vous-même les résultats.
Supposons que les données montrent que « bottes de randonnée imperméables » convertissent à une fraction du coût de « bottes bon marché ». Demandez à Claude trois angles visuels pour le thème gagnant : un gros plan de sentier boueux, une photo de style de vie par temps de pluie, et une botte posée sur un seuil de porte. Générez ensuite chacun d’eux. Adaptez le format à l’emplacement : 1:1 pour les flux, 16:9 pour les bannières larges, 9:16 pour la vidéo verticale.
Un prompt qui fonctionne bien pour ce type de concept publicitaire nomme le sujet, le décor, la lumière et l’objectif, et indique clairement ce qu’il faut éviter :
Gros plan de bottes de randonnée imperméables couvertes de boue sur un sentier forestier humide à l’aube, lumière latérale douce, faible profondeur de champ, objectif 50 mm, photoréaliste, sans texte ni logos.
Générez deux ou trois versions, gardez celle qui correspond à l’angle que vos données favorisent, et écartez les autres. Gardez un style naturel : une photo crédible d’un moment réel convient mieux à une publicité pour bottes de randonnée qu’un rendu trop brillant.
Claude Sonnet 5 sur PicassoIA est l’outil de rédaction de ce flux de travail. Il ne lance pas le serveur MCP de Google Ads. Vous collez ce que votre session MCP a renvoyé, et il rédige le texte de l’annonce. Les étapes :
Remplissez une fois le System Prompt : « Vous rédigez des annonces adaptatives pour la recherche Google. Les titres restent sous 30 caractères, les descriptions sous 90. Langage simple, pas de battage, aucune affirmation qu’on ne peut pas prouver. »
Collez vos données dans Prompt : les termes de recherche qui convertissent le mieux, vos titres actuels et l’offre.
Choisissez le niveau Effort. Le réglage par défaut, low, désactive la réflexion et répond le plus vite, ce qui convient aux variantes de texte. Passez à high ou max pour un plan de restructuration d’un compte désorganisé.
Gardez Max Tokens à 8 192, sauf si vous voulez une sortie plus courte.
Vous pouvez joindre une Image, par exemple une capture d’écran d’un graphique de performances. Le modèle la lit comme contexte.
Relisez le brouillon, modifiez-le et collez le texte dans Google Ads vous-même.
Paramètre
Valeur par défaut
Conseil
Prompt
Obligatoire
Incluez les données, l’objectif et la période
System Prompt
Vide
Fixez le rôle et les limites de caractères une seule fois
Effort
low
Augmentez-le uniquement pour les tâches de planification
Max Tokens
8 192
Largement suffisant pour 15 titres et 4 descriptions
Image
Aucune
Une capture de graphique apporte du contexte
Max Image Resolution
0,5 mégapixel
Des valeurs plus basses économisent du temps et de l’argent
Les annonces adaptatives de recherche acceptent jusqu’à 15 titres et 4 descriptions, donc une seule exécution remplit une annonce complète. Vous voulez un deuxième avis ? Lancez le même prompt avec Gemini 3.5 Flash ou Claude Opus 4.7 et comparez les brouillons côte à côte.
Créez vos propres visuels publicitaires dès aujourd’hui
Les données indiquent ce qu’il faut tester. Les visuels décident si quelqu’un s’arrête de faire défiler la page. Ouvrez PicassoIA Image, collez un prompt pour votre thème le plus performant, choisissez 1:1 ou 16:9, et générez autant de variations que vous voulez, puisque le modèle n’a pas de plafond par image. Figez un seed lorsqu’une composition fonctionne, puis ne modifiez que la formulation pour tester de petites différences.
PicassoIA dispose aussi de sa propre connexion MCP, afin que le même Claude qui lit vos données Google Ads puisse demander des images et des vidéos dans une seule conversation. Consultez la page de l’API PicassoIA pour plus de détails et vérifiez quel forfait inclut l’accès.
Essayez ceci ce soir : connectez le serveur MCP Google Ads, lancez la requête sur les dépenses inutiles, choisissez le thème le plus performant et générez cinq variations visuelles sur Picasso IA avant d’écrire quoi que ce soit d’autre. La semaine prochaine, relancez la requête de performances hebdomadaires et voyez quelle version a attiré les clics.