Google Meta Ads GA4

Google Meta Ads GA4 is an MCP server that connects AI assistants to Google Ads, Meta Ads, and Google Analytics 4 through one remote endpoint.

The MCP server is great for paid media teams, agencies, growth marketers, and technical operators who want one chat-based control layer for campaign management, reporting, and cross-platform analysis.

It supports all MCP-compatible client like ChatGPT, Claude Desktop, Claude Code, Cursor, Windsurf, n8n, Codex CLI, Gemini CLI, and Cline.

Connect your ad and analytics accounts once, then use natural-language prompts to inspect performance, create or edit campaigns, work with audiences, run GA4 reports, and compare spend and return across platforms.

Features

  • Remote MCP access through a hosted endpoint URL.
  • 150+ Google Ads tools for campaigns, ads, keywords, bidding, extensions, analytics, and conversion tracking.
  • 80+ Meta Ads tools for campaigns, ad sets, creatives, audiences, lead generation, catalogs, insights, and business assets.
  • 20+ GA4 tools for reports, realtime queries, metadata, audiences, attribution settings, property settings, and linked integrations.
  • Cross-platform ROAS analysis across Google Ads, Meta Ads, and GA4.
  • Side-by-side platform performance comparisons in one chat session.
  • Keyword research through Google Ads Keyword Planner data.
  • Experiment setup and promotion workflows for Google Ads.
  • Lead forms and test leads in Meta Ads.
  • Product catalogs and feed operations in Meta Ads.
  • GA4 compatibility checks for dimensions and metrics.
  • Research workflows through Google search, webpage analysis, image extraction, image search, and landing page analysis.
  • OAuth authentication for account connection.
  • Stores tokens on the user machine in the described security model.
  • Defaults write actions to explicit confirmation.
  • Limits access through scoped permissions.

Use Cases

  • Pull Google Ads campaign performance for the current month and sort campaigns by ROAS, spend, conversions, or search term quality.
  • Create a new Google Search campaign from a plain-English brief that includes budget, targeting, and keyword ideas.
  • Pause low-performing campaigns after a review pass in Claude, ChatGPT, or Cursor.
  • Add campaign-level negative keywords across multiple Google Ads campaigns after a search term cleanup.
  • Generate keyword ideas for new offers through Google Ads volume, CPC, and competition data.
  • Compare Google Ads and Meta Ads efficiency for the same date range inside one prompt.
  • Audit Meta lead generation campaigns and inspect CPL, creative mix, and audience segments.
  • Create Meta lookalike audiences from high-value customer groups.
  • Upload Meta image or video assets and attach them to new creatives.
  • Review Facebook page posts, identify promotable posts, and turn a post into a boosted campaign.
  • Run GA4 real-time reports during launches, promotions, or landing-page tests.
  • Compare organic traffic and paid traffic in GA4 across a 30-day or 90-day window.
  • Inspect GA4 key events, custom dimensions, and data stream settings before campaign changes.
  • Correlate ad spend with GA4 conversion events to find gaps between platform-reported conversions and site-level outcomes.
  • Use n8n to trigger repeatable ad reporting or monitoring flows through an MCP client node.
  • Use Claude Code or Codex CLI to script repeatable reporting and analysis tasks against live ad accounts.

How To Use It

Prepare the MCP endpoint

Use this JSON structure for clients that read an MCP JSON config file:

{
  "mcpServers": {
    "google-meta-ads-ga4": {
      "url": "YOUR_MCP_ENDPOINT_URL"
    }
  }
}

Use a Claude Code CLI command for terminal registration:

claude mcp add google-meta-ads-ga4 --transport sse YOUR_MCP_ENDPOINT_URL

Use the endpoint URL in n8n through an MCP client node with Streamable HTTP and bearer auth enabled if you want an authenticated automation path.

Add the server to your MCP client

Claude Desktop

Edit claude_desktop_config.json.

macOS path:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows path:

%APPDATA%\Claude\claude_desktop_config.json

Config:

{
  "mcpServers": {
    "google-meta-ads-ga4": {
      "url": "YOUR_MCP_ENDPOINT_URL"
    }
  }
}

ChatGPT

  • Open Settings.
  • Open Connectors.
  • Choose Add custom connector.
  • Paste YOUR_MCP_ENDPOINT_URL.
  • Set the connector name to Google Meta Ads GA4.
  • Save the connector.

Cursor

Edit:

~/.cursor/mcp.json

Add:

{
  "mcpServers": {
    "google-meta-ads-ga4": {
      "url": "YOUR_MCP_ENDPOINT_URL"
    }
  }
}

Windsurf

Edit:

~/.codeium/windsurf/mcp_config.json

Add:

{
  "mcpServers": {
    "google-meta-ads-ga4": {
      "url": "YOUR_MCP_ENDPOINT_URL"
    }
  }
}

n8n

  • Create an MCP Client node.
  • Set Server URL to YOUR_MCP_ENDPOINT_URL.
  • Set transport to Streamable HTTP if your template expects that mode.
  • Turn on bearer authentication if your deployment requires it.
  • Connect downstream nodes for scheduled reports, alerts, or analysis output.

Claude Code

Run:

claude mcp add google-meta-ads-ga4 --transport sse YOUR_MCP_ENDPOINT_URL

Connect Google and Meta accounts

On first use, you need to authorize your Google and Meta accounts through the MCP connection flow.

Start with read operations

Start with inspection prompts before you touch write actions. Good opening prompts include:

Show me all my Google Ads campaigns and their performance this month
List all active Meta ad campaigns and their spend this week
Show me a realtime report of active users on my website right now
Compare my Google Ads and Meta Ads ROAS for Q1 2026

This first pass helps you confirm account scope, date ranges, and naming conventions.

Move into guided write actions

After you verify account access, move into controlled edits such as pausing campaigns, adding negatives, or creating draft campaign structures.

Examples:

Pause all campaigns with ROAS below 2.0
Add negative keywords "free" and "cheap" to all my Search campaigns
Create a lookalike audience based on my top purchasers
Boost my latest page post with a $100 budget targeting US users

Treat write operations as production changes. Review account IDs, budget amounts, targeting scope, and date windows in every prompt.

Use cross-platform prompts for decisions, not just reports

The most useful part of this server is not basic read access. The real advantage is joint analysis across ad delivery and analytics data.

Examples:

Which platform is driving more conversions per dollar spent?
Show me all campaigns across Google and Meta with spend over $1000 this month
Correlate my GA4 conversion events with Google Ads campaign performance

These prompts fit agency reviews, weekly pacing checks, and channel allocation decisions.

Build automation after manual validation

After your manual prompts return correct results, move common tasks into automation. n8n is the obvious fit for recurring reports, anomaly detection, notification routing, or dashboard prep. Claude Code and Codex CLI fit code-first reporting workflows that save outputs into CSV, HTML, or docs. ([Ryze AI][4])

Apply safe operating rules

  • Use read prompts first.
  • Use narrow date ranges during early tests.
  • Use one account at a time before you query an MCC or business portfolio.
  • Use confirmation-heavy prompts for deletions, bulk edits, and budget changes.
  • Log important prompt patterns in your internal playbook.
  • Keep separate prompts for reporting, diagnosis, and execution.

Available MCP Tools

Google Ads tools

ToolDescription
list_accountsList all accessible Google Ads accounts.
get_account_infoGet detailed account information.
get_account_hierarchyView account hierarchy (MCC structure).
list_campaignsList all campaigns with status and metrics.
get_campaignGet detailed campaign information.
create_search_campaignCreate a new Search campaign.
create_display_campaignCreate a new Display campaign.
create_shopping_campaignCreate a new Shopping campaign.
create_pmax_campaignCreate a Performance Max campaign.
create_demand_gen_campaignCreate a Demand Gen campaign.
create_app_campaignCreate an App campaign.
copy_campaignDuplicate an existing campaign.
update_campaignUpdate campaign settings.
pause_campaignPause a campaign.
resume_campaignResume a paused campaign.
delete_campaignDelete a campaign.
list_ad_groupsList ad groups in a campaign.
create_ad_groupCreate a new ad group.
update_ad_groupUpdate ad group settings.
pause_ad_groupPause an ad group.
enable_ad_groupEnable an ad group.
delete_ad_groupDelete an ad group.
list_adsList ads in an ad group.
get_adGet ad details.
create_responsive_search_adCreate a Responsive Search Ad.
create_responsive_display_adCreate a Responsive Display Ad.
create_demand_gen_adCreate a Demand Gen ad.
update_adUpdate an ad.
pause_adPause an ad.
enable_adEnable an ad.
delete_adDelete an ad.
list_keywordsList keywords in an ad group.
add_keywordsAdd keywords to an ad group.
update_keyword_bidUpdate keyword bids.
pause_keywordPause a keyword.
enable_keywordEnable a keyword.
delete_keywordDelete a keyword.
keyword_plannerGet keyword ideas with volume data.
add_negative_keywordsAdd negative keywords.
add_campaign_negative_keywordAdd campaign-level negatives.
auto_suggest_negative_keywordsReturn AI-suggested negative keywords.
get_search_terms_insightsReturn a search terms report.
add_audience_targetingAdd audience targeting.
set_demographic_targetingSet demographic targets.
add_campaign_location_targetingAdd location targeting.
search_geo_locationsSearch for geo targets.
list_budgetsList all budgets.
create_budgetCreate a new budget.
update_budgetUpdate budget amount.
list_bidding_strategiesList bidding strategies.
create_portfolio_bidding_strategyCreate a portfolio strategy.
set_bid_adjustmentsSet bid adjustments.
get_bid_adjustment_performanceReturn bid adjustment performance.
create_sitelink_extensionsCreate sitelink extensions.
create_callout_extensionsCreate callout extensions.
create_call_extensionsCreate call extensions.
create_image_extensionsCreate image extensions.
create_price_extensionsCreate price extensions.
create_promotion_extensionsCreate promotion extensions.
create_structured_snippet_extensionsCreate structured snippets.
create_lead_form_extensionsCreate lead form extensions.
list_extensionsList all extensions.
get_campaign_overviewReturn campaign performance overview.
get_keyword_performanceReturn keyword performance metrics.
get_device_performanceReturn performance by device.
get_location_performanceReturn performance by location.
get_audience_performanceReturn audience performance.
get_ad_strength_and_review_statusReturn ad strength scores.
calculate_roas_by_adCalculate ROAS per ad.
compare_ad_performanceCompare ad variants.
identify_optimization_opportunitiesReturn AI optimization suggestions.
run_gaql_queryRun custom GAQL queries.
create_experimentCreate an A/B test experiment.
schedule_experimentSchedule an experiment run.
promote_experimentPromote a winning variant.
create_conversion_actionCreate a conversion action.
upload_click_conversionsUpload offline conversions.
create_shared_setCreate a shared keyword set.
create_labelCreate an organizational label.
create_custom_audienceCreate a custom audience.
create_remarketing_actionCreate a remarketing tag.

Meta Ads tools

ToolDescription
meta_get_ad_accountsList all Meta ad accounts.
meta_get_account_infoGet ad account details.
meta_get_campaignsList all campaigns.
meta_get_campaign_detailsGet campaign details.
meta_create_campaignCreate a new campaign.
meta_update_campaignUpdate campaign settings.
meta_delete_campaignDelete a campaign.
meta_get_adsetsList ad sets.
meta_get_adset_detailsGet ad set details.
meta_create_adsetCreate an ad set.
meta_update_adsetUpdate an ad set.
meta_delete_adsetDelete an ad set.
meta_get_adsList ads.
meta_get_ad_detailsGet ad details.
meta_create_adCreate an ad.
meta_update_adUpdate an ad.
meta_delete_adDelete an ad.
meta_get_ad_creativesList ad creatives.
meta_create_ad_creativeCreate an ad creative.
meta_update_ad_creativeUpdate an ad creative.
meta_delete_ad_creativeDelete an ad creative.
meta_upload_ad_imageUpload an ad image.
meta_upload_ad_videoUpload an ad video.
meta_batch_upload_ad_imagesBatch upload images.
meta_get_ad_imageGet image details.
meta_get_ad_previewsPreview ad creatives.
meta_create_custom_audienceCreate a custom audience.
meta_create_lookalike_audienceCreate a lookalike audience.
meta_estimate_audience_sizeEstimate audience reach.
meta_search_interestsSearch interest targets.
meta_search_behaviorsSearch behavior targets.
meta_search_demographicsSearch demographic targets.
meta_search_geo_locationsSearch geo locations.
meta_get_interest_suggestionsReturn interest suggestions.
meta_get_insightsGet performance insights.
meta_get_page_insightsGet page-level insights.
meta_get_page_postsList page posts.
meta_get_promotable_postsGet promotable posts.
meta_boost_page_postBoost a page post.
meta_get_lead_formsList lead forms.
meta_get_lead_form_detailsGet lead form details.
meta_get_lead_form_leadsGet form submissions.
meta_create_lead_formCreate a lead form.
meta_create_test_leadCreate a test lead.
meta_get_catalogsList catalogs.
meta_get_catalog_productsList products.
meta_create_catalog_productCreate a product.
meta_batch_update_catalog_productsBatch update products.
meta_create_catalog_product_feedCreate a product feed.
meta_create_catalog_product_setCreate a product set.
meta_get_business_infoGet business details.
meta_get_business_usersList business users.
meta_get_business_pagesList business pages.
meta_get_business_ad_accountsList business ad accounts.
meta_get_business_instagram_accountsList Instagram accounts.
meta_get_business_pixelsList pixels.

GA4 tools

ToolDescription
ga_get_account_summariesList all GA4 accounts and properties.
ga_get_property_detailsGet property configuration.
ga_run_reportRun a standard report.
ga_run_pivot_reportRun a pivot table report.
ga_run_realtime_reportRun a realtime report.
ga_batch_run_reportsRun multiple reports at once.
ga_get_metadataGet available dimensions and metrics.
ga_check_compatibilityCheck dimension and metric compatibility.
ga_list_audiencesList configured audiences.
ga_list_key_eventsList key events.
ga_list_data_streamsList data streams.
ga_list_channel_groupsList channel groups.
ga_get_custom_dimensions_and_metricsReturn custom dimensions and metrics.
ga_get_attribution_settingsReturn attribution model settings.
ga_get_enhanced_measurement_settingsReturn enhanced measurement config.
ga_get_data_retention_settingsReturn data retention settings.
ga_get_google_signals_settingsReturn Google Signals status.
ga_list_bigquery_linksList BigQuery export links.
ga_list_dv360_linksList DV360 integration links.
ga_list_firebase_linksList Firebase integration links.
ga_list_search_ads_linksList Search Ads 360 links.
ga_list_property_annotationsList property annotations.

Research tools

ToolDescription
research_google_searchSearch Google for market research.
research_analyze_webpageAnalyze any webpage.
research_fetch_images_from_urlExtract images from URLs.
research_download_and_resizeDownload and resize images.
research_search_stock_imagesSearch stock image libraries.
research_get_landing_pagesAnalyze landing pages.

FAQs

Q: Do I need to obtain API keys for Google Ads, Meta Ads, or GA4 before using this server?
A: No. The server uses OAuth 2.1 with PKCE authentication. The first time a tool attempts to access a platform, the client initiates a browser-based authorization flow. You log in with your existing Google or Meta Business account credentials. Tokens store locally on the client machine.

Q: Is this MCP server free to use?
A: Yes. The MCP server endpoint is free. Costs may arise from the AI assistant subscription and from advertising spend managed through the platforms.

Q: Can this server manage Google Ads Manager accounts with multiple child accounts?
A: Yes. The get_account_hierarchy and list_accounts tools expose MCC account structures. Specify the target account ID when calling tools that operate on campaign-level resources.

Q: What campaign types can I create in Google Ads through this server?
A: The server supports creation of Search, Display, Shopping, Performance Max, Demand Gen, Video, and App campaigns. Each campaign type has a dedicated creation tool with type-specific parameter validation.

Q: Can I run custom queries that access metrics not exposed through the named reporting tools?
A: Yes. Google Ads supports custom GAQL queries through the run_gaql_query tool. Meta Ads supports arbitrary Graph API queries through the meta_fetch tool.

Q: Does the server store any of my advertising data or performance metrics?
A: No. The server operates as a stateless proxy. It does not retain request payloads, response data, authentication tokens, or performance metrics.

Latest MCP Servers

Google Meta Ads GA4

An MCP server that connects AI assistants to Google Ads, Meta Ads, and GA4 for reporting, edits, and cross-platform analysis.

Token Savior Recall

An MCP server that reduces AI token usage by 97% through structural code indexing and provides persistent memory across coding sessions.

Notion

Notion's official MCP Server allows you to interact with Notion workspaces through the Notion API.

View More MCP Servers >>

Featured MCP Servers

Notion

Notion's official MCP Server allows you to interact with Notion workspaces through the Notion API.

Claude Peers

An MCP server that enables Claude Code instances to discover each other and exchange messages instantly via a local broker daemon with SQLite persistence.

Excalidraw

Excalidraw's official MCP server that streams interactive hand-drawn diagrams to Claude, ChatGPT, and VS Code with smooth camera control and fullscreen editing.

More Featured MCP Servers >>

FAQs

Q: What exactly is the Model Context Protocol (MCP)?

A: MCP is an open standard, like a common language, that lets AI applications (clients) and external data sources or tools (servers) talk to each other. It helps AI models get the context (data, instructions, tools) they need from outside systems to give more accurate and relevant responses. Think of it as a universal adapter for AI connections.

Q: How is MCP different from OpenAI's function calling or plugins?

A: While OpenAI's tools allow models to use specific external functions, MCP is a broader, open standard. It covers not just tool use, but also providing structured data (Resources) and instruction templates (Prompts) as context. Being an open standard means it's not tied to one company's models or platform. OpenAI has even started adopting MCP in its Agents SDK.

Q: Can I use MCP with frameworks like LangChain?

A: Yes, MCP is designed to complement frameworks like LangChain or LlamaIndex. Instead of relying solely on custom connectors within these frameworks, you can use MCP as a standardized bridge to connect to various tools and data sources. There's potential for interoperability, like converting MCP tools into LangChain tools.

Q: Why was MCP created? What problem does it solve?

A: It was created because large language models often lack real-time information and connecting them to external data/tools required custom, complex integrations for each pair. MCP solves this by providing a standard way to connect, reducing development time, complexity, and cost, and enabling better interoperability between different AI models and tools.

Q: Is MCP secure? What are the main risks?

A: Security is a major consideration. While MCP includes principles like user consent and control, risks exist. These include potential server compromises leading to token theft, indirect prompt injection attacks, excessive permissions, context data leakage, session hijacking, and vulnerabilities in server implementations. Implementing robust security measures like OAuth 2.1, TLS, strict permissions, and monitoring is crucial.

Q: Who is behind MCP?

A: MCP was initially developed and open-sourced by Anthropic. However, it's an open standard with active contributions from the community, including companies like Microsoft and VMware Tanzu who maintain official SDKs.

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!