Existe-t-il un serveur MCP pour Google Ads ? Oui. Hermoso est un serveur MCP Google Ads hébergé. Ajoutez https://app.hermoso.ai/mcp à Claude, ChatGPT ou Cursor, puis connectez votre compte Google Ads une seule fois. Votre assistant peut alors créer des campagnes Search, display et Performance Max, trouver des idées de mots clés, régler les budgets, les enchères et le ciblage, et sortir des rapports. Activer une campagne exige toujours votre confirmation explicite.
Google Ads fonctionne comme une arborescence, et c’est là que la création scriptée de campagnes déraille le plus souvent. Vous créez un budget, puis une campagne, puis un groupe d’annonces, puis une annonce. Si l’annonce est refusée à la quatrième étape, il vous reste trois objets orphelins et un budget que vous ne vouliez pas. Nettoyer tout cela à la main est la raison pour laquelle la plupart des gens abandonnent l’automatisation de Google Ads.
Le serveur MCP de Hermoso construit toute l’arborescence en une seule opération atomique, à l’aide d’identifiants de ressources temporaires qui permettent aux enfants de référencer des parents qui n’existent pas encore. Soit la campagne, le groupe d’annonces, l’annonce et les mots clés existent tous, soit aucun d’entre eux n’existe. Une annonce refusée signifie que le budget n’a jamais été créé non plus.
Installation, une seule fois : dans Claude.ai ou Claude Desktop, collez https://app.hermoso.ai/mcp sous Paramètres → Connecteurs et approuvez-le avec votre compte Hermoso. Dans un agent de code, c’est une seule commande : /plugin marketplace add hermoso-ai/hermoso puis /plugin install hermoso@hermoso dans Claude Code, codex plugin marketplace add hermoso-ai/hermoso puis codex plugin add hermoso@hermoso dans Codex, ou npx skills add hermoso-ai/hermoso -a cursor dans Cursor (indiquez le nom de votre propre agent après -a), puis connectez-vous une fois avec npx -y hermoso auth login. Installation complète sur la page MCP et CLI.
Les outils Google Ads
Créer. create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords, create_google_ads_performance_max_campaign, upload_google_ads_asset, add_google_ads_assets pour les liens annexes, les accroches et les extraits structurés.
Configurer. set_google_ads_budget, set_google_ads_bidding (six stratégies), set_google_ads_targeting (zone et langue), find_google_ads_locations, set_google_ads_networks (réseau de partenaires Search et Display, activé ou désactivé), create_google_ads_conversion_action et list_google_ads_conversion_actions.
Rechercher. google_ads_keyword_ideas met Keyword Planner dans la conversation : volumes de recherche mensuels réels, concurrence et fourchettes d’enchères en haut de page, à partir d’un ensemble de mots clés, d’une page de destination ou de tout un site.
Lire et modifier. list_google_ads_campaigns, google_ads_report pour du GAQL libre, google_ads_change_history pour savoir ce qui a bougé dans le compte et quand, delete_google_ads_object pour en supprimer un, et set_google_ads_status, l’unique interrupteur soumis à confirmation qui lance une dépense réelle.
create_google_ads_campaign accepte aussi un mode simulation, pour qu’un agent puisse valider toute une arborescence auprès de l’API en direct sans rien créer. C’est un bon réglage par défaut lorsqu’il propose un plan que vous devez approuver.
Ce que votre agent peut faire avec le MCP Google Ads
Chaque ligne est un outil réel sur le serveur. Posez votre demande en langage courant, l’agent choisit les outils à lancer.
| Tâche | Outils | Ce qui se passe |
|---|---|---|
| Créer une campagne Search ou Display | create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords | Budget, campagne, groupe d’annonces, annonce responsive et mots clés en une seule opération atomique, créés en pause. Une simulation vérifie d’abord toute l’arborescence auprès de l’API en direct. |
| Créer du Performance Max | create_google_ads_performance_max_campaign | Une campagne qui couvre Search, YouTube, Display, Discover, Gmail et Maps, avec son groupe de composants, créée en pause. Elle refuse de se lancer sur un compte sans action de conversion. |
| Recherche de mots clés | google_ads_keyword_ideas | Keyword Planner de Google : volume de recherche mensuel, concurrence et fourchettes d’enchères en haut de page à partir de mots clés, d’une page de destination ou d’un site. |
| Liens annexes et accroches | add_google_ads_assets, upload_google_ads_asset | Crée des liens annexes, des accroches et des extraits structurés, puis les rattache à une campagne ou à un groupe d’annonces. Importe des visuels, les vôtres ou ceux d’Hermoso. |
| Ciblage et réseaux | set_google_ads_targeting, find_google_ads_locations, set_google_ads_networks | Zones et langues par leur nom, et réseau de partenaires Search ou Display activé ou désactivé. |
| Enchères et budget | set_google_ads_bidding, set_google_ads_budget | Six stratégies d’enchères et le budget quotidien. Augmenter un budget déjà actif demande une confirmation. |
| Suivi des conversions | create_google_ads_conversion_action, list_google_ads_conversion_actions | Crée les actions de conversion et indique si les enchères intelligentes peuvent fonctionner sur le compte. |
| Rapports | google_ads_report, list_google_ads_campaigns | Toute requête GAQL : campagnes, groupes d’annonces, annonces, mots clés, termes de recherche, données démographiques et géographie. |
| Ce qui a changé | google_ads_change_history | Qui ou quoi a modifié le compte, et quand. |
| Lancer, mettre en pause ou supprimer | set_google_ads_status, delete_google_ads_object | Activer déclenche une dépense réelle et refuse de s’exécuter sans confirmation explicite. |
| Merchant Center | list_merchant_accounts, list_merchant_products, list_merchant_issues | Lit le flux qu’une campagne Performance Max Shopping ou retail fait la promotion, et la raison pour laquelle un produit est refusé. |
| Relier GA4 | link_google_ads_to_analytics, list_analytics_google_ads_links, create_analytics_key_event | Relie une propriété GA4 pour que ses événements clés soient importés comme conversions Google Ads. |
Exemples de demandes
Collez l’une de ces phrases dans Claude, ChatGPT ou Cursor une fois Hermoso connecté.
- “Trouve 30 mots clés pour notre application de gestion de projet avec plus de 1 000 recherches par mois aux États-Unis, et regroupe-les par intention.”
google_ads_keyword_ideas renvoie les volumes, la concurrence et les fourchettes d’enchères de Keyword Planner, et l’agent les regroupe. - “Crée une campagne Search en pause pour ces mots clés : $50 par jour, États-Unis et Canada, en anglais, maximiser les conversions.”
create_google_ads_campaign construit en une seule opération atomique le budget, la campagne, le groupe d’annonces, l’annonce et les mots clés, en pause, puis relit le résultat. - “Mets en place une campagne Performance Max pour notre catalogue Shopify avec notre flux Merchant Center.”
list_merchant_accounts choisit la boutique, puis create_google_ads_performance_max_campaign la crée en pause avec le flux rattaché. - “Quels termes de recherche ont dépensé de l’argent le mois dernier sans convertir ? Ajoute les dix pires en mots clés négatifs.”
google_ads_report extrait le rapport des termes de recherche, puis add_google_ads_keywords ajoute les négatifs. - “Ajoute quatre liens annexes à notre campagne de marque : tarifs, démo, études de cas et contact.”
add_google_ads_assets crée les liens annexes et les rattache à la campagne. - “Désactive les partenaires Search sur toutes les campagnes et montre-moi le avant et l’après.”
set_google_ads_networks lit d’abord le réglage actuel, puis le modifie campagne par campagne. - “Quelqu’un a changé nos enchères vendredi. Qu’est-ce qui a bougé ?”
google_ads_change_history liste les modifications avec leurs horaires. - “Relie notre propriété GA4 pour que les inscriptions comptent comme conversions dans Google Ads.”
link_google_ads_to_analytics relie les deux, et create_analytics_key_event marque l’événement d’inscription comme événement clé.
Performance Max, construit de la même façon
create_google_ads_performance_max_campaign crée le type de campagne multi-supports de Google (Search, YouTube, Display, Discover, Gmail et Maps à partir d’une seule campagne), et la construit en une seule opération atomique, parce que Google l’exige : budget, campagne, ciblage de zone et de langue, groupe de composants et chaque lien vers un composant partent ensemble, de sorte qu’un composant refusé ne laisse aucune campagne à moitié construite. Elle est créée en pause, et toute l’arborescence est relue depuis Google avant que votre agent vous dise qu’elle existe.
Les minimums de composants de Google sont vérifiés ici avant tout envoi, pour qu’un visuel carré manquant produise un message clair plutôt qu’un refus opaque de l’API : 3 à 15 titres de 30 caractères ou moins, 1 à 5 titres longs jusqu’à 90 caractères, 2 à 5 descriptions jusqu’à 90 caractères, un nom d’entreprise jusqu’à 25 caractères, et au moins un logo, une image marketing et une image marketing carrée. Importez les visuels avec upload_google_ads_asset d’abord, puis passez les noms de ressources. Une vidéo YouTube est facultative. Google en générera une à partir du groupe de composants si vous n’en fournissez pas.
Performance Max n’a ni mots clés ni enchères manuelles : il optimise uniquement vers les conversions. La création refuse donc de se lancer sur un compte sans action de conversion active, plutôt que de créer une campagne incapable d’optimiser, et elle indique les deux issues : créer une action avec create_google_ads_conversion_action, ou choisir une stratégie qui n’en a pas besoin. Depuis Google Ads API v21, les paramètres de marque sont activés par défaut pour les nouvelles campagnes PMax, ce qui change l’endroit où le nom de l’entreprise et le logo sont rattachés ; Hermoso les lie à la campagne pour vous.
Le Performance Max de type retail (flux Shopping) fonctionne de la même façon : passez merchantCenterId et la campagne fait la promotion de votre catalogue Merchant Center, avec feedLabel pour le restreindre à un seul flux. Elle est construite et relue exactement comme la campagne ci-dessus. La relecture indique le compte Merchant Center et l’étiquette de flux que Google a réellement enregistrés, pour que vous voyiez qu’il s’agit bien d’une campagne retail et non de notre parole. Elle fait la promotion de tout le flux sous un seul groupe d’annonces racine ; le découpage d’un flux par marque, catégorie ou étiquette personnalisée n’est pas construit, et la demande est refusée nommément plutôt qu’ignorée en silence, pour que vous ne croyiez jamais avoir restreint un flux alors que ce n’est pas le cas.
Merchant Center, pour que l’agent sache ce qu’il vend
“Pourquoi ce produit ne s’affiche-t-il pas ?” est une question que les rapports Google Ads ne peuvent structurellement pas traiter, parce qu’un produit refusé n’a aucune impression à afficher. La réponse se trouve dans Merchant Center, et la même connexion Google y accède, sans second identifiant.
Votre agent peut lister les comptes Merchant Center auxquels votre compte Google connecté a accès avec list_merchant_accounts (une agence en a souvent plusieurs, il demande donc quelle boutique plutôt que de deviner), lire les produits d’un flux avec list_merchant_products (le catalogue réel qu’une campagne Shopping ou Performance Max retail diffuse), et lire les problèmes au niveau du compte que Google signale avec list_merchant_issues. Cela suffit pour rédiger des textes d’annonces sur des produits qui existent vraiment, à des prix réellement en vigueur, et pour expliquer une campagne silencieuse.
Il écrit aussi. create_merchant_data_source crée un flux de produits API, upsert_merchant_product place un produit dans ce flux, update_merchant_product modifie les champs qui bougent chaque jour (prix et disponibilité), et delete_merchant_product et delete_merchant_data_source suppriment, après confirmation. list_merchant_data_sources indique quels flux acceptent réellement une écriture.
Trois points à connaître dès le départ. Google bloque chaque appel à l’API Merchant tant que le projet Cloud d’Hermoso n’est pas enregistré auprès de votre compte Merchant Center, donc register_merchant_developer effectue ce lien une seule fois et l’indique nommément. Ce n’est pas une connexion cassée, et se reconnecter ne règle rien. Les écritures de produits ne passent que dans une source de données API : un flux fichier, un flux automatique et le flux que crée l’interface de Merchant Center refusent toutes les écritures, alors qu’elles se listent normalement. Hermoso résout donc un flux accessible en écriture à votre place, en crée un s’il n’y en a aucun, et refuse nommément s’il y en a plusieurs, plutôt que de placer votre produit dans un marché que vos campagnes ne ciblent peut-être pas. Enfin, upsert_merchant_product est une écriture de ligne complète, tandis que update_merchant_product est une correction partielle. Envoyez à la première chaque champ que vous voulez conserver, et seulement les champs modifiés à la seconde.
Rien de tout cela ne vous oblige à déplacer votre catalogue. Si le flux vit déjà dans Shopify ou dans votre plateforme, gardez-le là et laissez l’agent le lire ; les écritures servent aux cas où rien ne possède encore le flux, ou lorsqu’un prix ou une disponibilité doit être corrigé maintenant plutôt qu’à la prochaine synchronisation.
Google Analytics 4, pour voir ce que les clics ont produit
Les rapports Google Ads s’arrêtent au clic. Ce qui se passe ensuite (la session, l’inscription, la commande) vit dans Google Analytics, et la même connexion Google y accède (c’est une connexion distincte, car elle demande sa propre autorisation).
Votre agent peut identifier la propriété GA4 à lire avec list_analytics_properties. Cela compte, car chaque appel Analytics prend un identifiant numérique de propriété, alors que ce que vous avez en main est l’identifiant de mesure G-XXXXXXXXX de votre extrait de suivi. Ensuite, analytics_report renvoie les sessions, les utilisateurs, les conversions et le chiffre d’affaires par canal, source/support, campagne, page de destination, pays, appareil ou date, et analytics_realtime montre qui est sur le site en ce moment. Ainsi, « crée la campagne » et « dis-moi ce qu’elle a rapporté » sont une seule et même conversation.
Il écrit aussi, et c’est la partie qui revient directement dans Google Ads : create_analytics_key_event marque un événement que GA4 collecte déjà comme événement clé, ce que Google Ads importe comme conversion, et une action de conversion est indispensable à chaque stratégie d’enchères intelligentes présentée sur cette page. create_analytics_custom_dimension enregistre un paramètre d’événement pour que les rapports puissent le ventiler, et list_analytics_definitions montre ce que la propriété mesure déjà avant que vous n’en ajoutiez un. Deux points restent vrais pour toujours : il s’agit uniquement de GA4, car l’API n’a aucune surface pour Universal Analytics, et une dimension personnalisée peut être archivée mais jamais supprimée, avec 50 emplacements par propriété pour les événements. L’agent vérifie donc d’abord l’existant.
Le verrou de dépense couvre plus d’un outil
Mettre une campagne en pause n’est pas la seule façon d’éviter une dépense, et la traiter ainsi est un vrai piège : créer un groupe d’annonces, une annonce ou un mot clé activé sous un parent déjà activé diffuse dès l’enchère suivante. La même confirmation qui protège set_google_ads_status protège donc aussi create_google_ads_ad_group, create_google_ads_ad et add_google_ads_keywords lorsque le parent est en ligne, lu sur la ligne que chacun de ces outils récupère déjà, sans aller-retour supplémentaire. Les mots clés négatifs ne font que restreindre la dépense, ils ne sont donc jamais soumis au verrou.
Rapports GAQL, avec une mise en garde utile
google_ads_report accepte du GAQL libre, votre agent peut donc demander la tranche dont il a besoin plutôt que d’être enfermé dans un format de rapport figé. Un point à garder en tête si vous écrivez les requêtes à la main ou si vous laissez un modèle les écrire : le GAQL n’est pas du SQL. Il n’a pas de sous-requêtes, et IN prend une liste littérale. Un WHERE id IN (SELECT …) est invalide et échoue, plutôt que de renvoyer discrètement les mauvaises lignes. Envoyez le résultat directement dans un tableur avec create_sheet et append_to_sheet, ou dans un document avec create_doc.
Relire, puis rendre compte
Après la mutation, l’arborescence est relue depuis Google, et le résumé que vous recevez est construit à partir de cette relecture, jamais à partir de ce qui a été demandé. C’est une discipline modeste qui évite précisément le cas où un agent décrit avec assurance une campagne que la plateforme a en réalité modifiée ou refusée.
Ce qu’il ne fera pas sans demander
Un agent doté d’un budget n’est utile que si son rayon d’action est borné, donc le pouvoir de dépense est verrouillé côté serveur plutôt que dans une consigne. Les campagnes, groupes d’annonces et annonces Meta sont créés en PAUSED, sans aucune possibilité de l’imposer depuis l’appelant. Les interrupteurs de statut qui peuvent armer une dépense publicitaire réelle (un sur chaque plateforme publicitaire : set_meta_campaign_status, set_google_ads_status, set_microsoft_ads_status, set_reddit_ads_status, set_linkedin_ads_status, set_pinterest_ads_status, set_x_ads_status et set_openai_ads_status, entre autres) refusent tous de s’exécuter sans drapeau de confirmation explicite, et ce même verrou couvre la création d’un groupe d’annonces, d’une annonce ou d’un mot clé Google Ads activé sous un parent déjà activé, car cela diffuse dès l’enchère suivante. Les suppressions sont aussi soumises à confirmation. Côté génération, hermoso_capabilities publie le coût exact en crédits de chaque modèle avant toute exécution, et chaque rendu réserve une estimation puis règle le coût réel, de sorte qu’un envoi raté est remboursé au lieu d’être facturé discrètement.
Connecter votre compte Google Ads
Vous connectez Google Ads à Hermoso via le flux OAuth propre à Google, dans Paramètres, Connecteurs ; aucun mot de passe ne passe par le modèle. Les connexions Google Ads sont partagées au niveau de la marque, si bien qu’une équipe entière travaille sur une marque avec une seule connexion, sans que chacun doive réautoriser.
La partie création
La gestion de campagnes n’est utile que s’il y a quelque chose à diffuser. Le même serveur recherche ce qui fonctionne déjà sur votre marché dans les bibliothèques d’annonces de Meta, Google et LinkedIn, produit des visuels image et vidéo finalisés ancrés dans votre vrai produit à travers plus de 100 modèles, et importe les composants. Ainsi, « quoi diffuser » et « construis-le » forment une seule conversation au lieu de deux outils. Voir l’présentation du MCP marketing, la liste complète des outils, ou le MCP Meta Ads si vous utilisez les deux.
Questions fréquentes
Existe-t-il un serveur MCP pour Google Ads ?
Oui. Le serveur MCP d’Hermoso crée et gère Google Ads depuis n’importe quel client MCP : create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad et add_google_ads_keywords pour construire une arborescence Search ou Display ; create_google_ads_performance_max_campaign pour Performance Max ; set_google_ads_budget, set_google_ads_bidding et set_google_ads_targeting pour configurer ; google_ads_keyword_ideas pour la recherche avec Keyword Planner ; list_google_ads_campaigns et google_ads_report pour les rapports ; des lectures Merchant Center pour le flux produits derrière une campagne Shopping ; et set_google_ads_status, soumis à confirmation, pour activer.
Un agent IA peut-il créer une campagne Google Ads ?
Oui, et toute l’arborescence est créée en une seule opération atomique à l’aide d’identifiants de ressources temporaires : campagne, groupe d’annonces, annonce responsive de recherche ou display et mots clés ensemble. Si l’annonce est refusée, le budget n’a jamais été créé non plus, de sorte que vous n’avez rien à nettoyer. Un mode simulation valide l’arborescence auprès de l’API en direct sans rien créer.
Peut-il créer une campagne Performance Max ?
Oui. create_google_ads_performance_max_campaign construit en une seule opération atomique le budget, la campagne, le ciblage, le groupe de composants et chaque lien vers un composant, car Google les exige ensemble. La campagne est créée en pause et relue avant que l’agent n’en rende compte. Les minimums de composants de Google sont appliqués avant tout envoi : 3 à 15 titres, 1 à 5 titres longs, 2 à 5 descriptions, un nom d’entreprise, et au moins un logo, une image marketing et une image marketing carrée. PMax n’enchérit que sur les conversions, donc il refuse de se construire sur un compte sans action de conversion active, plutôt que de créer une campagne incapable d’optimiser. Le Performance Max retail (flux Shopping) fonctionne de la même façon : passez merchantCenterId et la campagne fait la promotion de votre catalogue Merchant Center, avec feedLabel pour la restreindre à un seul flux, et la relecture indique le compte Merchant Center et l’étiquette de flux que Google a réellement enregistrés.
Fonctionne-t-il avec Google Merchant Center ?
Oui, en lecture comme en écriture, sur la même connexion Google. L’agent peut lister les comptes Merchant Center auxquels votre compte a accès, lire les produits d’un flux (le catalogue qu’une campagne Shopping ou Performance Max retail diffuse réellement), et lire les problèmes au niveau du compte que Google signale, seul endroit où savoir pourquoi un produit ne s’affiche pas, puisqu’un produit refusé n’a aucune impression à montrer dans les rapports Google Ads. Google exige un enregistrement unique du projet Cloud d’Hermoso auprès de votre compte Merchant Center avant que l’API réponde, et un outil l’effectue. Il écrit aussi : create_merchant_data_source, upsert_merchant_product, update_merchant_product pour les changements de prix et de disponibilité qui bougent chaque jour, et delete_merchant_product et delete_merchant_data_source, soumis à confirmation. Google n’accepte les écritures de produits que dans une source de données API ; Hermoso en résout donc une accessible en écriture à votre place, et refuse nommément si le compte en a plusieurs.
Peut-il faire de la recherche de mots clés ?
Oui. google_ads_keyword_ideas interroge Keyword Planner de Google et renvoie les volumes de recherche mensuels réels, la concurrence et les fourchettes d’enchères en haut de page, à partir de mots clés, d’une URL de page de destination ou de tout un site. L’agent peut les transmettre directement à add_google_ads_keywords, ou les écrire dans une feuille Google Sheets.
Peut-il commencer à dépenser mon budget Google Ads ?
Uniquement avec une confirmation explicite. set_google_ads_status est l’interrupteur qui arme la dépense réelle, et comme créer un enfant activé sous un parent déjà activé diffuse dès l’enchère suivante, la même confirmation protège aussi create_google_ads_ad_group, create_google_ads_ad et add_google_ads_keywords lorsque le parent est en ligne. Les mots clés négatifs ne font que restreindre la dépense et ne sont jamais soumis au verrou.
Peut-il sortir des rapports ?
Oui. google_ads_report accepte du GAQL libre, l’agent peut donc demander la tranche qu’il veut. Attention : le GAQL n’est pas du SQL. Il n’a pas de sous-requêtes, et IN prend une liste littérale, donc un WHERE id IN (SELECT …) est invalide. Les résultats peuvent être écrits directement dans une feuille ou un document Google.
Quelles enchères et quel ciblage peut-il régler ?
Six stratégies d’enchères, la planification de la campagne, et le ciblage géographique et linguistique, avec find_google_ads_locations pour retrouver les zones de ciblage par leur nom. Les budgets se règlent avec set_google_ads_budget, et les mots clés acceptent les négatifs et un CPC par mot clé.
L’agent reçoit-il mon mot de passe Google ?
Non. Vous connectez Google Ads via le flux OAuth propre à Google, dans Paramètres, Connecteurs d’Hermoso, et Hermoso conserve le jeton obtenu. L’agent ne fait qu’appeler les outils d’Hermoso. Les connexions Google Ads sont partagées au niveau de la marque, pour qu’une équipe entière travaille sur une seule connexion.
Peut-il aussi créer le visuel de la publicité ?
Oui. Le même serveur recherche les publicités des concurrents, conçoit le concept, produit des visuels image et vidéo finalisés à travers plus de 100 modèles avec votre vrai produit incorporé, et importe les composants avec upload_google_ads_asset, pour que la recherche, la création et la construction de la campagne se déroulent dans une seule conversation.
Connectez Google Ads une fois, et votre agent peut étudier le marché, rédiger l’annonce, construire l’arborescence et en rendre compte, avec un verrou strict avant toute dépense.
Commencer gratuitement → Lire la doc MCP →