Google Ads MCP: bygg hela kampanjträdet från din agent, atomärt

Hermoso:s MCP-server skapar en Google Ads-kampanj, annonsgrupp, responsiv sök- eller displayannons och nyckelord i ett enda atomärt anrop, så om en annons nekas skapas inte heller budgeten. Performance Max byggs på samma sätt, inklusive annonsgrupp. Dessutom Keyword Planner-research, konverteringsspårning, sitelänkar, Merchant Center-flöden som både läses och skrivs, GAQL-rapportering, Google Analytics 4 för vad klickarna faktiskt gjorde, och en bekräftelsespärr på allt som startar utgifter.

Finns det en Google Ads MCP-server? Ja. Hermoso är en hostad Google Ads MCP-server. Lägg till https://app.hermoso.ai/mcp i Claude, ChatGPT eller Cursor och anslut ditt Google Ads-konto en gång. Din assistent kan sedan bygga sök-, display- och Performance Max-kampanjer, hitta sökordsidéer, sätta budgetar, bud och målgrupper, och köra rapporter. Att slå på en kampanj kräver alltid ditt uttryckliga godkännande.

Google Ads är ett träd, och det är där skriptad kampanjskapande brukar gå fel. Du skapar en budget, sedan en kampanj, sedan en annonsgrupp, sedan en annons. Om annonsen nekas i steg fyra står du kvar med tre föräldralösa objekt och en budget du inte ville ha. Att städa upp det för hand är skälet till att de flesta ger upp när de försöker automatisera Google Ads.

Hermosos MCP-server bygger hela trädet i en atomär operation, med tillfälliga resurs-id:n så att underordnade objekt kan referera till föräldrar som ännu inte finns. Antingen kommer kampanjen, annonsgruppen, annonsen och nyckelorden alla till att existera, eller så kommer ingen av dem till. En annons som nekas innebär att budgeten aldrig skapades.

Installera en gång: i Claude.ai eller Claude Desktop klistrar du in https://app.hermoso.ai/mcp under Settings → Connectors och godkänner det med ditt Hermoso-konto. I en kodagent är det ett kommando: /plugin marketplace add hermoso-ai/hermoso och sedan /plugin install hermoso@hermoso i Claude Code, codex plugin marketplace add hermoso-ai/hermoso och sedan codex plugin add hermoso@hermoso i Codex, eller npx skills add hermoso-ai/hermoso -a cursor i Cursor (ange din egen agent efter -a), och logga sedan in en gång med npx -y hermoso auth login. Fullständig installation finns på MCP- och CLI-sidan.

Google Ads-verktygen

Bygg. 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 för sitelänkar, callouts och strukturerade utdrag.

Konfigurera. set_google_ads_budget, set_google_ads_bidding (sex strategier), set_google_ads_targeting (geografi och språk), find_google_ads_locations, set_google_ads_networks (sökpartner och display på eller av), create_google_ads_conversion_action och list_google_ads_conversion_actions.

Research. google_ads_keyword_ideas ger Keyword Planner en plats i samtalet: riktiga månatliga sökvolymer, konkurrens och budintervall för översta positionen, utgående från en uppsättning sökord, en målsida eller en hel webbplats.

Läs och ändra. list_google_ads_campaigns, google_ads_report för godtycklig GAQL, google_ads_change_history för vad som ändrats i kontot och när, delete_google_ads_object för att ta bort ett objekt, samt set_google_ads_status, den enda bekräftelsespärrade omkopplaren som startar riktiga utgifter.

create_google_ads_campaign stöder också ett testkörningsläge, så att en agent kan validera ett helt träd mot det live-API:t utan att skapa något. Det är ett bra standardval när agenten föreslår en plan som du ska godkänna.

Vad din agent kan göra med Google Ads MCP

Varje rad är ett riktigt verktyg på servern. Ställ en fråga i vanlig text så väljer agenten vilka som ska köras.

UppgiftVerktygVad som händer
Bygg en sök- eller displaykampanjcreate_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywordsBudget, kampanj, annonsgrupp, responsiv annons och nyckelord i en atomär operation, skapade pausade. En testkörning kontrollerar hela trädet mot det live-API:t först.
Bygg Performance Maxcreate_google_ads_performance_max_campaignEn kampanj över Search, YouTube, Display, Discover, Gmail och Maps, med sin annonsgrupp, skapad pausad. Den vägrar på ett konto utan konverteringsåtgärd.
Sökordsresearchgoogle_ads_keyword_ideasGoogles Keyword Planner: månatlig sökvolym, konkurrens och budintervall för översta positionen, utifrån sökord, en målsida eller en webbplats.
Sitelänkar och calloutsadd_google_ads_assets, upload_google_ads_assetSkapar sitelänkar, callouts och strukturerade utdrag och kopplar dem till en kampanj eller annonsgrupp. Laddar upp bildtillgångar, dina eller Hermoso:s.
Målgrupp och nätverkset_google_ads_targeting, find_google_ads_locations, set_google_ads_networksPlatser och språk efter namn, samt sökpartner eller display på eller av.
Bud och budgetset_google_ads_bidding, set_google_ads_budgetSex budstrategier och den dagliga budgeten. Att höja en aktiv budget kräver bekräftelse.
Konverteringsspårningcreate_google_ads_conversion_action, list_google_ads_conversion_actionsSkapar konverteringsåtgärder och anger om smart bidding kan fungera på kontot.
Rapportergoogle_ads_report, list_google_ads_campaignsValfri GAQL-fråga: kampanjer, annonsgrupper, annonser, nyckelord, sökordsrapporter, demografi och geografi.
Vad som ändratsgoogle_ads_change_historyVem eller vad som ändrade kontot, och när.
Starta, pausa eller ta bortset_google_ads_status, delete_google_ads_objectAtt aktivera aktiverar riktiga utgifter och vägrar köra utan uttryckligt godkännande.
Merchant Centerlist_merchant_accounts, list_merchant_products, list_merchant_issuesLäser flödet som en Shopping- eller detalj-Performance Max-kampanj annonserar, och varför en produkt är underkänd.
Koppla GA4link_google_ads_to_analytics, list_analytics_google_ads_links, create_analytics_key_eventKopplar en GA4-property så att dess nyckelhändelser kan importeras som Google Ads-konverteringar.

Exempelfrågor

Klistra in någon av dessa i Claude, ChatGPT eller Cursor när Hermoso är anslutet.

  • “Hitta 30 sökord för vår projekthanteringsapp med över 1 000 sökningar i månaden i USA, och gruppera dem efter avsikt.”
    google_ads_keyword_ideas returnerar Keyword Planner-volymer, konkurrens och budintervall, och agenten grupperar dem.
  • “Bygg en pausad sökkampanj för de sökorden: $50 om dagen, USA och Kanada, engelska, maximera konverteringar.”
    create_google_ads_campaign bygger budget, kampanj, annonsgrupp, annons och nyckelord i en atomär operation, pausade, och läser sedan tillbaka det.
  • “Sätt upp en Performance Max-kampanj för vår Shopify-katalog med vårt Merchant Center-flöde.”
    list_merchant_accounts väljer butiken, sedan bygger create_google_ads_performance_max_campaign den pausad med flödet kopplat.
  • “Vilka sökningar kostade pengar förra månaden utan att konvertera? Lägg till de tio värsta som negativa sökord.”
    google_ads_report hämtar sökordsrapporten, sedan lägger add_google_ads_keywords till de negativa sökorden.
  • “Lägg till fyra sitelänkar till vår varumärkeskampanj: priser, demo, kundcase och kontakt.”
    add_google_ads_assets skapar sitelänkarna och kopplar dem till kampanjen.
  • “Stäng av sökpartner på varje kampanj och visa mig före och efter.”
    set_google_ads_networks läser den nuvarande inställningen först och ändrar sedan kampanj för kampanj.
  • “Någon ändrade våra bud på fredagen. Vad ändrades?”
    google_ads_change_history listar ändringarna med tidpunkter.
  • “Koppla vår GA4-property så att registreringar räknas som konverteringar i Google Ads.”
    link_google_ads_to_analytics kopplar ihop de två, och create_analytics_key_event markerar registreringshändelsen som nyckelhändelse.

Performance Max, byggt på samma sätt

create_google_ads_performance_max_campaign bygger Googles kampanjtyp över flera ytor (Search, YouTube, Display, Discover, Gmail och Maps från en enda kampanj), och bygger den i en enda atomär operation eftersom Google kräver just det: budget, kampanj, plats- och språkmålgrupp, annonsgruppen och alla tillgångskopplingar går upp tillsammans, så att en nekad tillgång inte lämnar en halvbyggd kampanj efter sig. Den skapas pausad, och hela trädet läses tillbaka från Google innan din agent berättar att det finns.

Googles minimikrav på tillgångar kontrolleras här innan något skickas, så att en saknad kvadratisk bild ger ett tydligt meddelande i stället för ett ogenomskinligt API-svar: 3–15 rubriker på högst 30 tecken, 1–5 långa rubriker på upp till 90, 2–5 beskrivningar på upp till 90, ett företagsnamn på upp till 25, och minst en logotyp, en marknadsföringsbild och en kvadratisk marknadsföringsbild. Ladda upp bilderna med upload_google_ads_asset först och skicka med resursnamnen. En YouTube-video är valfri. Google genererar en från annonsgruppen om du utelämnar den.

Performance Max har inga sökord och ingen manuell budgivning: den optimerar mot konverteringar och inget annat. Därför vägrar bygget på ett konto utan aktiverad konverteringsåtgärd, i stället för att skapa en kampanj som inte kan optimera, och det anger båda vägarna framåt: skapa en med create_google_ads_conversion_action, eller kör en strategi som inte behöver den. Varumärkesriktlinjer är påslagna som standard för nya PMax-kampanjer sedan Google Ads API v21, vilket ändrar var företagsnamnet och logotypen kopplas. Hermoso länkar dem till kampanjen åt dig.

Performance Max med shoppingflöde (detail) fungerar på samma sätt: skicka med merchantCenterId så annonserar kampanjen din Merchant Center-katalog, med feedLabel för att begränsa den till ett flöde. Den byggs och läses tillbaka exakt som kampanjen ovan. Återläsningen visar det Merchant Center-konto och den flödesetikett Google faktiskt lagrade, så att du kan se att det verkligen är en detaljhandelskampanj i stället för att ta vårt ord för det. Den annonserar hela flödet under en rotlistningsgrupp. Att dela upp ett flöde efter varumärke, kategori eller egen etikett är inte byggt, och det nekas uttryckligen i stället för att ignoreras i tysthet, så att du aldrig kan tro att du har begränsat ett flöde när du inte gjort det.

Merchant Center, så att agenten vet vad du säljer

“Varför visas inte den här produkten?” är en fråga som Google Ads-rapportering strukturellt inte kan besvara, eftersom en underkänd produkt inte har några visningar att rapportera. Svaret finns i Merchant Center, och samma Google-anslutning når dit, utan en andra inloggning.

Din agent kan lista de Merchant Center-konton som ditt anslutna Google-konto når med list_merchant_accounts (en byrå har ofta flera, så den frågar vilken butik du menar i stället för att gissa), läsa produkterna i ett flöde med list_merchant_products (den faktiska katalog som en Shopping- eller detalj-Performance Max-kampanj visar), och läsa de konto-övergripande problem Google tar upp mot kontot med list_merchant_issues. Det räcker för att skriva annonstext om produkter som verkligen finns, till priser som verkligen gäller, och för att förklara en tyst kampanj.

Den skriver också. create_merchant_data_source skapar ett API-produktflöde, upsert_merchant_product lägger en produkt i det, update_merchant_product ändrar de fält som rör sig dagligen (pris och tillgänglighet), och delete_merchant_product och delete_merchant_data_source tar bort dem efter en bekräftelse. list_merchant_data_sources visar vilka flöden som faktiskt kan ta emot en skrivning.

Tre saker är bra att veta från början. Google blockerar alla Merchant API-anrop tills Hermosos Cloud-projekt är registrerat mot ditt Merchant Center-konto, så register_merchant_developer gör den kopplingen en gång och säger det uttryckligen. Det är ingen trasig anslutning, och att ansluta om hjälper inte. Produktskrivningar går bara in i en API-datakälla: ett filflöde, ett autoflöde och det flöde som Merchant Centers egna gränssnitt skapar listas normalt men nekar alla skrivningar. Därför löser Hermoso fram ett skrivbart flöde åt dig, skapar ett om inget finns, och nekar uttryckligen om det finns flera, i stället för att lägga din produkt på en marknad dina kampanjer kanske inte riktar sig mot. Och upsert_merchant_product är en hel-rad-skrivning medan update_merchant_product är en patch. Skicka med varje fält du vill behålla till den första, och bara de fält du ändrar till den andra.

Inget av det innebär att du måste flytta din katalog. Om flödet redan finns i Shopify eller din plattform, behåll det där och låt agenten läsa det. Skrivningarna är till för fall där ingenting äger flödet ännu, eller där ett pris eller en tillgänglighet behöver rättas nu i stället för vid nästa synkning.

Google Analytics 4, så att du kan se vad klickarna gjorde

Google Ads-rapportering slutar vid klicket. Det som hände sedan (sessionen, registreringen, beställningen) finns i Google Analytics, och samma Google-inloggning når dit (det är en egen anslutning, eftersom den behöver en egen behörighet).

Din agent kan avgöra vilken GA4-property som ska läsas med list_analytics_properties. Det spelar roll, eftersom varje Analytics-anrop tar ett numeriskt property-id och det du faktiskt har är G-XXXXXXXXX-mätnings-id:t från din spårningskod. Sedan returnerar analytics_report sessioner, användare, konverteringar och intäkter uppdelat per kanal, källa/medium, kampanj, målsida, land, enhet eller datum, och analytics_realtime visar vem som är på webbplatsen just nu. Så “bygg kampanjen” och “berätta vad den tjänade” är samma samtal.

Den skriver också, och det är den del som matas tillbaka direkt till Google Ads: create_analytics_key_event markerar en händelse som GA4 redan samlar in som nyckelhändelse, vilket är exakt vad Google Ads importerar som konvertering, och en konverteringsåtgärd är vad varje smart bidding-strategi på den här sidan är omöjlig utan. create_analytics_custom_dimension registrerar en händelseparameter så att rapporter kan brytas ned efter den, och list_analytics_definitions visar vad property:n redan mäter innan du lägger till något av dem. Två saker gäller för evigt: detta är endast GA4, eftersom API:t över huvud taget saknar en Universal Analytics-yta, och en egen dimension kan arkiveras men aldrig tas bort, med 50 händelsebundna platser per property, så agenten kontrollerar den befintliga uppsättningen först.

Spärren för levande utgifter sträcker sig längre än ett verktyg

Att pausa en kampanj är inte det enda sättet att undvika utgifter, och att behandla det så är en verklig fälla: att skapa en aktiverad annonsgrupp, annons eller ett nyckelord under en redan aktiverad förälder visas i nästa auktion. Därför skyddar samma bekräftelse som vaktar set_google_ads_status också create_google_ads_ad_group, create_google_ads_ad och add_google_ads_keywords när föräldern är aktiv. Det avläses från raden som vart och ett av dem redan hämtar, utan någon extra rundresa. Negativa sökord begränsar bara utgifter, så de spärras aldrig.

GAQL-rapportering, med en brasklapp värd att känna till

google_ads_report tar godtycklig GAQL, så att din agent kan begära vilken skiva den behöver i stället för att låsas till en fast rapportform. En sak att tänka på om du skriver frågor för hand eller låter en modell skriva dem: GAQL är inte SQL. Det har inga underfrågor, och IN tar en literal lista. En WHERE id IN (SELECT …) är ogiltig och misslyckas i stället för att tyst returnera fel rader. Skicka resultatet direkt till ett kalkylblad med create_sheet och append_to_sheet, eller till ett dokument med create_doc.

Läs tillbaka, rapportera sedan

Efter mutationen läses trädet tillbaka från Google, och sammanfattningen du får bygger på den återläsningen, aldrig på det du begärde. Det är en liten disciplin som fångar det specifika felet där en agent självsäkert berättar om en kampanj som plattformen faktiskt tvingade om eller avvisade.

Vad den inte gör utan att fråga

En agent med en budget är bara användbar om den möjliga skadan är avgränsad, så utgiftsbehörigheten spärras i servern och inte i en prompt. Meta-kampanjer, annonsuppsättningar och annonser skapas med PAUSED utan någon åsidosättning från anroparen. Statusomkopplarna som kan starta riktiga annonsutgifter (en på varje annonsplattform: 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 och set_openai_ads_status bland dem) vägrar alla köra utan en uttrycklig bekräftelseflagga, och samma spärr omfattar att skapa en aktiverad Google Ads-annonsgrupp, annons eller ett nyckelord under en redan aktiverad förälder, eftersom den visas i nästa auktion. Borttagningar kräver också bekräftelse. På genereringssidan visar hermoso_capabilities varje modells exakta kreditkostnad innan något körs, och varje rendering reserverar en uppskattning och avräknar sedan den verkliga kostnaden, så att ett misslyckat anrop återbetalas i stället för att tyst debiteras dig.

Ansluta ditt Google Ads-konto

Du ansluter Google Ads till Hermoso via Googles eget OAuth-flöde under Inställningar, Anslutningar i Hermoso. Inget lösenord passerar genom modellen. Google Ads-anslutningar delas på varumärkesnivå, så att ett helt team på ett varumärke arbetar från en anslutning i stället för att var och en godkänner om.

Den kreativa halvan

Kampanjhantering är bara användbar om det finns något att köra. Samma server undersöker vad som redan vinner på din marknad i Meta-, Google- och LinkedIn-annonsbiblioteken, renderar färdiga bild- och videoannonser grundade i din riktiga produkt med över 100 modeller, och laddar upp tillgångarna. Så “vad ska vi köra” och “bygg det” är ett samtal i stället för två verktyg. Se översikten över marknadsförings-MCP, hela verktygslistan, eller Meta Ads MCP om du kör båda.

Vanliga frågor

Finns det en MCP-server för Google Ads?

Ja. Hermoso:s MCP-server bygger och hanterar Google Ads från vilken MCP-klient som helst: create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad och add_google_ads_keywords för att bygga ett sök- eller displayträd; create_google_ads_performance_max_campaign för Performance Max; set_google_ads_budget, set_google_ads_bidding och set_google_ads_targeting för konfiguration; google_ads_keyword_ideas för Keyword Planner-research; list_google_ads_campaigns och google_ads_report för rapportering; Merchant Center-läsningar för produktflödet bakom en Shopping-kampanj; och en bekräftelsespärrad set_google_ads_status för att aktivera.

Kan en AI-agent skapa en Google Ads-kampanj?

Ja, och hela trädet skapas i en enda atomär operation med tillfälliga resurs-id:n: kampanj, annonsgrupp, responsiv sök- eller displayannons och nyckelord tillsammans. Om annonsen nekas skapas inte heller budgeten, så du blir inte kvar med föräldralösa objekt att städa upp. Ett testkörningsläge validerar trädet mot det live-API:t utan att skapa något.

Kan den skapa en Performance Max-kampanj?

Ja. create_google_ads_performance_max_campaign bygger budget, kampanj, målgrupp, annonsgrupp och varje tillgångskoppling i en atomär operation, eftersom Google kräver dem tillsammans. Kampanjen skapas pausad och läses tillbaka innan agenten rapporterar om den. Googles minimikrav på tillgångar tillämpas innan något skickas: 3–15 rubriker, 1–5 långa rubriker, 2–5 beskrivningar, ett företagsnamn och minst en logotyp, en marknadsföringsbild och en kvadratisk marknadsföringsbild. PMax bjuder bara på konverteringar, så den vägrar bygga på ett konto utan aktiverad konverteringsåtgärd, i stället för att skapa en kampanj som inte kan optimera. Shoppingflödesbaserad (detail) PMax fungerar på samma sätt: skicka med merchantCenterId så annonserar kampanjen din Merchant Center-katalog, med feedLabel för att begränsa den till ett flöde, och återläsningen visar det Merchant Center-konto och den flödesetikett Google faktiskt lagrade.

Fungerar det med Google Merchant Center?

Ja, läsningar och skrivningar, över samma Google-anslutning. Agenten kan lista de Merchant Center-konton ditt konto når, läsa produkterna i ett flöde (katalogen en Shopping- eller detalj-Performance Max-kampanj faktiskt visar), och läsa de konto-övergripande problem Google tar upp, vilket är det enda stället att ta reda på varför en produkt inte visas, eftersom en underkänd produkt inte har några visningar för Google Ads-rapporteringen att visa. Google kräver en engångsregistrering av Hermosos Cloud-projekt mot ditt Merchant Center-konto innan API:t svarar, och det finns ett verktyg som utför den. Det skriver också: create_merchant_data_source, upsert_merchant_product, update_merchant_product för de pris- och tillgänglighetsändringar som rör sig dagligen, och delete_merchant_product och delete_merchant_data_source som kräver bekräftelse. Google accepterar bara produktskrivningar i en API-datakälla, så Hermoso löser fram ett skrivbart flöde åt dig och nekar uttryckligen om kontot har flera.

Kan den göra sökordsresearch?

Ja. google_ads_keyword_ideas anropar Googles Keyword Planner och returnerar riktiga månatliga sökvolymer, konkurrens och budintervall för översta positionen, utgående från sökord, en målsides URL eller en hel webbplats. Agenten kan ta dem direkt till add_google_ads_keywords, eller skriva dem till ett Google-kalkylblad.

Kan den starta utgifter från min Google Ads-budget?

Bara med ett uttryckligt godkännande. set_google_ads_status är omkopplaren som aktiverar riktiga pengar, och eftersom ett aktiverat barn under en redan aktiverad förälder visas i nästa auktion, skyddar samma bekräftelse också create_google_ads_ad_group, create_google_ads_ad och add_google_ads_keywords när föräldern är aktiv. Negativa sökord begränsar bara utgifter och spärras aldrig.

Kan den köra rapporter?

Ja. google_ads_report tar godtycklig GAQL, så agenten kan begära vilken skiva den behöver. Observera att GAQL inte är SQL: det har inga underfrågor, och IN tar en literal lista, så en WHERE id IN (SELECT …) är ogiltig. Resultaten kan skrivas direkt till ett Google-kalkylblad eller dokument.

Vilken budgivning och målgrupp kan den ställa in?

Sex budgivningsstrategier, kampanjschema, samt geografisk och språklig målgrupp, med find_google_ads_locations för att slå upp platsmål efter namn. Budgetar sätts med set_google_ads_budget, och nyckelord stöder negativa sökord och CPC per nyckelord.

Får agenten mitt Google-lösenord?

Nej. Du ansluter Google Ads via Googles egna OAuth-flöde under Hermosos Inställningar, Anslutningar, och Hermoso håller i den resulterande token. Agenten anropar bara Hermoso:s verktyg. Google Ads-anslutningar delas på varumärkesnivå, så att ett helt team arbetar från en anslutning.

Kan den också skapa annonskreativen?

Ja. Samma server undersöker konkurrenternas annonser, planerar konceptet, renderar färdiga bild- och videokreativ i över 100 modeller med din riktiga produkt inkomponerad, och laddar upp tillgångar med upload_google_ads_asset, så research, kreativ och kampanjbygge sker i ett och samma samtal.

Anslut Google Ads en gång, så kan din agent undersöka marknaden, skriva annonsen, bygga trädet och rapportera om det, med en hård spärr innan något börjar kosta.

Starta gratis →   Läs MCP-dokumentationen →