arrow_forward

How to connect Google Ads to Claude

Query your Google Ads campaigns, ad groups, keywords, and performance metrics directly inside Claude using the Porter Metrics MCP server.

schedule 22 min readMay 2025Beginner–Intermediate

bolt TL;DR

  • Install the Porter Metrics MCP server in Claude Desktop or Claude Code.
  • Authenticate with your Google Ads account via OAuth 2.0.
  • Query campaigns, ad groups, keywords, and metrics using natural language.
  • Build reports, detect anomalies, and optimize budgets without leaving Claude.

MCP Tutorial

This tutorial walks you through connecting Google Ads to Claude via the Porter Metrics MCP server. You’ll learn how to authenticate, query data, and build automated workflows.

Why connect Google Ads to Claude?

search

Natural-language queries

Ask “Which campaigns had CPA above $50 last week?” instead of navigating the Google Ads UI.

auto_graph

Automated analysis

Let Claude build performance summaries, detect anomalies, and suggest budget reallocations.

description

Report generation

Generate formatted reports with charts, tables, and insights ready to share with stakeholders.

schedule

Time savings

Cut reporting time from hours to minutes by automating repetitive data extraction tasks.

Use cases

Campaign performance analysis

When to use this: ROAS optimization, Shopping and PMax campaign analysis, and creative fatigue detection.

Ask Claude to pull conversion data by campaign, compare CTR trends, or identify underperforming ad groups. The MCP server returns structured data that Claude can visualize as tables or charts.

Budget optimization

Query spend vs. budget by campaign, detect overspend patterns, and get recommendations for bid adjustments. Claude can simulate “what-if” scenarios based on historical performance.

Keyword research & expansion

Extract top-performing keywords, analyze search term reports, and discover negative keyword opportunities. Claude can cluster keywords by theme and suggest new ad groups.

Competitive benchmarking

Compare your impression share, average CPC, and quality score against industry benchmarks. Claude can flag metrics that deviate significantly from expected ranges.

Automated reporting

Schedule recurring prompts that pull the latest Google Ads data and format it into executive summaries. Combine with other MCP servers (e.g., Slack, Notion) to distribute reports automatically.

Prerequisites

  • Claude Desktop (macOS/Windows) or Claude Code installed.
  • A Google Ads account with API access enabled.
  • Manager account (MCC) recommended for multi-account access.
  • OAuth 2.0 credentials configured in Google Cloud Console.
  • Basic familiarity with Google Ads concepts (campaigns, ad groups, keywords, metrics).
info
Manager account tip: If you manage multiple Google Ads accounts, use an MCC to authenticate once and access all child accounts via the MCP server.

Step-by-step setup

1

Install the Porter Metrics MCP server

Open Claude Desktop settings (⌘, on macOS) and add the Porter Metrics MCP server:

npx -y @portermetrics/mcp-google-ads

Or add it manually to your claude_desktop_config.json:

{
  "mcpServers": {
    "porter-google-ads": {
      "command": "npx",
      "args": ["-y", "@portermetrics/mcp-google-ads"]
    }
  }
}
2

Authenticate with Google Ads

When you first query Google Ads data, Claude will prompt you to authenticate. Click the OAuth link and grant permissions for:

  • View account performance data
  • View campaign and ad group details
  • View keyword and search term reports
warning
Scope warning: The MCP server uses read-only scopes. It cannot modify campaigns, bids, or budgets.
3

Test your first query

Ask Claude a simple question to verify the connection:

“Show me my top 5 campaigns by impressions last month.”

Claude will call the MCP server, fetch the data, and present it in a formatted table.

4

Explore advanced queries

Once connected, try more complex prompts:

“Compare CPA and conversion rate between Search and PMax campaigns for Q1 2025.”

“Which keywords have CTR below 1% but more than 1,000 impressions? Suggest negative keywords.”

5

Build reusable prompts

Save your most useful prompts as Claude projects or snippets. For example, a weekly performance summary prompt that pulls key metrics and formats them for Slack.

6

Enable auto-approval (optional)

For trusted workflows, enable auto-approval in Claude Desktop settings so the MCP server can fetch data without manual confirmation each time.

lightbulb
Security tip: Only auto-approve read-only tools. Keep write operations requiring manual confirmation.
7

Connect multiple accounts (optional)

If you manage multiple Google Ads accounts, configure separate MCP server instances for each MCC or individual account.

8

Integrate with other tools

Combine the Google Ads MCP with other servers (Slack, Notion, Google Sheets) to build end-to-end automation workflows.

Claude Code unlocks

terminal

Batch operations

Run scripts that query multiple accounts, aggregate data, and generate consolidated reports via CLI.

code

Custom integrations

Build Python/Node.js scripts that combine Google Ads data with your internal BI systems using Claude Code.

sync

CI/CD pipelines

Automate daily data pulls, anomaly detection, and alert generation as part of your deployment workflows.

group

Team collaboration

Share Claude Code sessions with teammates so they can run the same Google Ads queries without reconfiguring credentials.

Prompts you can copy

“Show me a summary of all active campaigns this month: impressions, clicks, CTR, CPC, conversions, CPA, and ROAS. Flag any campaign with CPA 20% above target.”

“Analyze my Search campaign keyword performance. Group by match type, show CTR and conversion rate, and suggest keywords to pause or add as negative.”

“Compare my Google Ads performance week-over-week for the last 4 weeks. Highlight trends in impressions, CTR, and conversion rate.”

“Build a budget pacing report: current spend vs. monthly budget by campaign, projected end-of-month spend, and recommendations for budget reallocation.”

“Pull my Google Ads auction insights report. Show impression share, overlap rate, and outranking share for my top 3 competitors.”

“Generate a Google Ads Quality Score analysis: break down by keyword, show landing page experience, ad relevance, and expected CTR. Identify low-QS keywords to optimize.”

“Create a weekly Google Ads performance summary for my team Slack. Include top-line metrics, biggest movers (up/down), and 3 actionable recommendations.”

“Find my Google Ads campaigns with declining performance: compare last 14 days vs. previous 14 days for CTR, conversion rate, and CPA. Flag campaigns needing attention.”

“Build a Google Ads audience analysis: show performance by demographic, device, and location. Suggest bid adjustments for underperforming segments.”

Troubleshooting

Authentication errors

If you see “Authentication failed” or “Token expired”:

  • Re-authenticate via the OAuth flow in Claude Desktop.
  • Check that your Google Cloud project has the Google Ads API enabled.
  • Verify your developer token is valid and not expired.

Rate limiting

The Google Ads API has rate limits per developer token. If you hit limits:

  • Reduce query frequency or batch multiple requests.
  • Upgrade your API access tier in Google Ads.
info
Token bucket: Google Ads API uses token bucket rate limiting. Check your current quota in the API Center.

Data discrepancies

If MCP data doesn’t match the Google Ads UI:

  • Ensure you’re querying the same date range and attribution model.
  • Check for data freshness delays — Google Ads data can lag 3–24 hours.
  • Verify account timezone settings match between API and UI.

Missing metrics

Some metrics require specific report types or segments:

  • Quality Score data requires KEYWORDS_PERFORMANCE_REPORT.
  • Conversion value requires conversion tracking setup.
  • Cross-account data requires MCC-level authentication.

FAQ

Can I modify campaigns via the MCP server?expand_more

No. The Porter Metrics Google Ads MCP server uses read-only OAuth scopes. It can query data but cannot create, edit, or delete campaigns, ad groups, or keywords.

Does it support multiple Google Ads accounts?expand_more

Yes. Authenticate with a Google Ads Manager Account (MCC) to access all linked child accounts. You can also configure multiple MCP server instances for separate accounts.

What data freshness can I expect?expand_more

Google Ads API data typically lags 3–6 hours behind the UI for click/impression data, and up to 24 hours for conversion data. Real-time bidding data is not available via API.

Is my data secure?expand_more

Yes. The MCP server uses OAuth 2.0 with read-only scopes. Your credentials are stored locally in Claude Desktop’s secure keychain. Porter Metrics does not store or access your Google Ads data.

Can I use this with Claude Code (CLI)?expand_more

Yes. The MCP server works with both Claude Desktop and Claude Code. In Claude Code, add the server to your .mcp.json or project configuration.

What Google Ads API version does it use?expand_more

The MCP server uses the latest stable Google Ads API version (v16 as of May 2025). It automatically upgrades as new versions are released.

Ready to connect Google Ads to Claude?

Install the Porter Metrics MCP server and start querying your campaigns with natural language.

rocket_launch Get Porter Metrics