# Google Ads MCP

> Google Ads MCP Server connects your AI client directly to your ad account data. Audit campaigns, analyze keyword efficiency, and retrieve performance reports across your entire account using natural language. It lets you run complex analyses—like correlating budget depletion with specific ad group underperformance—without leaving your chat window. It's your PPC specialist, built into your workflow.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** campaign-management, keyword-analysis, performance-metrics, ad-spend, roi-tracking, marketing-intelligence

## Description

You connect your AI client to your Google Ads account, and you get real-time visibility into your ad spend and performance. Your agent lets you audit campaigns, analyze keyword efficiency, and pull performance reports across your whole account using nothing but natural language. You can run complex analyses—like correlating budget depletion with specific ad group underperformance—without ever leaving your chat window. This is your PPC specialist, built right into your workflow.

**Client Account Management**
You can use `list_accessible_customers` to see every Google Ads account your agent can report on. You can also use `list_campaigns` to list every active and paused campaign in your account. `list_ad_groups` shows you all the ad groups within a selected campaign, and `list_ads` lists every individual ad that exists in a specified ad group.

**Account Health and Structure**
To get a high-level overview of how your Google Ads account's performing, you call `get_account_summary`. You can check the current spending limits and budget caps for your campaigns using `list_budgets`. To see if anything changed recently in the account's structure or settings, run `get_change_status`. 

**Performance Analysis**
Need performance metrics for an ad group? You use `get_ad_performance`. If you want to analyze specific keywords inside an ad group, you run `get_keyword_performance` or search for keywords generally using `search_keywords`. You can pull detailed performance metrics—clicks, cost, conversions—for groups of campaigns over a date range by calling `get_campaign_report`. To see the setup and configuration for a single campaign, you use `get_campaign_details`.

**Workflow**
You subscribe to this server, give your AI client your Google Ads Customer ID and Developer Token, and you complete the secure Google OAuth flow. Then, you start analyzing your ad performance from your AI client, whatever it is.

## Tools

### get_account_summary
Gets a high-level summary of your entire Google Ads account performance.

### get_ad_performance
Gets performance metrics specifically for ads within a defined ad group.

### get_campaign_details
Retrieves detailed settings and configuration for a specific campaign.

### get_campaign_report
Fetches detailed performance metrics (clicks, cost, conversions) for groups of campaigns.

### get_change_status
Checks and reports on any recent structural or setting changes made to the account.

### get_keyword_performance
Gets detailed performance metrics for specific keywords within an ad group.

### list_accessible_customers
Lists all Google Ads customer accounts that your agent can access and report on.

### list_ad_groups
Lists all the ad groups contained within a selected campaign.

### list_ads
Lists all the individual ads that exist within a specified ad group.

### list_budgets
Lists the current spending limits and budget caps for your campaigns.

### list_campaigns
Lists every active and paused Google Ads campaign in your account.

### search_keywords
Searches for keywords and returns their corresponding performance metrics.

## Prompt Examples

**Prompt:** 
```
List all my active campaigns and their current status.
```

**Response:** 
```
Fetching campaigns... You have 5 active campaigns. 'Summer Sale 2024' is currently 'ENABLED', while 'Retargeting - Q2' is 'PAUSED'. Would you like the performance report for the 'Summer Sale' campaign?
```

**Prompt:** 
```
How many clicks and conversions did we get in the last 7 days?
```

**Response:** 
```
Running account summary... In the last 7 days, your account recorded 1,240 clicks and 45 conversions across all campaigns. The total cost was approximately $850.30.
```

**Prompt:** 
```
Show me the top performing keywords in ad group 93021.
```

**Response:** 
```
Analyzing keyword performance... In ad group 93021, the keyword 'best running shoes' has the highest CTR at 5.2%, followed by 'lightweight trainers' at 4.8%. Would you like to see the average CPC for these keywords?
```

## Capabilities

### Get account health summary
Retrieves a high-level overview of your Google Ads performance metrics.

### Analyze ad group performance
Pulls performance metrics for ads within a specific ad group.

### View campaign settings
Retrieves the detailed setup and configuration for any single campaign.

### Generate campaign performance reports
Fetches detailed performance metrics (clicks, cost, conversions) for multiple campaigns over a date range.

### Check account change history
Retrieves a log of recent changes made across your Google Ads account.

### Analyze keyword effectiveness
Gets performance data and metrics for specific keywords within an ad group.

### List client accounts
Identifies and lists all Google Ads customer accounts you have access to.

## Use Cases

### Diagnosing a sudden performance drop
The ads are underperforming, but nobody knows why. You start by asking your agent to run `get_account_summary` to confirm the scope. Next, you use `list_campaigns` and `get_campaign_report` to narrow it down to the worst-performing campaign. Finally, you run `get_keyword_performance` on that campaign's keywords to find the failure point (e.g., low CTR).

### Creating a client performance comparison
You manage three client accounts. Instead of logging into three different portals, you use `list_accessible_customers` to see all IDs. Then, you run `get_campaign_report` specifying the date range and the client IDs, getting a single, unified performance comparison.

### Auditing budget exhaustion
You suspect a campaign is failing because it ran out of money. You first use `list_budgets` to check the spending limits. If the budget looks fine, you check `get_campaign_details` to see if there are other constraints—like ad disapprovals—that are causing the drop.

### Mapping a campaign structure
You need to know exactly how a campaign is built. You start by listing all campaigns using `list_campaigns`. Then, for a specific campaign, you call `list_ad_groups`, and finally `list_ads` to map the full hierarchy of every single ad.

## Benefits

- See the full account picture immediately. Use `get_account_summary` to get a high-level snapshot of clicks, cost, and conversions across your entire account without clicking through tabs.
- Deep-dive into structure and performance. Use `list_campaigns` followed by `list_ad_groups` to map out your account structure, then `get_ad_performance` to see which ad groups are tanking.
- Stop guessing about keywords. Run `get_keyword_performance` to analyze specific keywords and see which ones actually drive conversions, helping you adjust your bidding strategy.
- Track budget limits easily. Use `list_budgets` to check spending caps, and `get_campaign_details` to confirm if the budget is the root cause of low performance.
- Get reports for multiple clients. Use `list_accessible_customers` to see all linked accounts, then run `get_campaign_report` to pull comparative metrics for different clients in one query.
- Understand changes at a glance. Use `get_change_status` to quickly audit what changed in the account—did a setting get flipped that broke the ads?

## How It Works

The bottom line is, your AI client treats the Google Ads platform like a conversational expert, running complex API calls in the background.

1. Subscribe to the server, then provide your Google Ads Customer ID and Developer Token.
2. Complete the secure Google OAuth flow to grant the AI client access to your data.
3. Ask your agent a natural language question (e.g., 'What were the clicks last week?') and get the results instantly.

## Frequently Asked Questions

**How do I use the `get_account_summary` tool to check overall performance?**
The `get_account_summary` tool gives you a top-level view of your account's health. It immediately returns total clicks, total cost, and total conversions across all active campaigns, giving you a quick baseline without any navigation.

**Can I use `get_keyword_performance` to find my best keywords?**
Yes. `get_keyword_performance` analyzes keywords within a specific ad group. It returns performance metrics like CTR and cost per click, letting you identify the exact keywords that are driving the most conversions.

**What is the difference between `get_campaign_report` and `get_ad_performance`?**
The difference is scope. `get_campaign_report` fetches metrics across multiple, separate campaigns. `get_ad_performance` focuses only on the ads and performance within one specific ad group.

**How do I check if my account has recently changed using `get_change_status`?**
Running `get_change_status` provides a log of recent changes. This is useful for auditing, especially if performance dropped suddenly, as it tells you exactly what settings were modified.

**Can I use `list_accessible_customers` to check multiple client accounts?**
Yes. `list_accessible_customers` shows all linked customer IDs. After that, you can use `get_campaign_report` to pull comparable data across all those client accounts in one go.

**How do I list all the campaigns and ad groups using `list_campaigns` and `list_ad_groups`?**
You run `list_campaigns` first to get all available campaigns. Then, you pass a campaign ID to `list_ad_groups` to get the ad groups inside it.

**What is the function of `get_ad_performance`? **
This tool fetches metrics for ads within a specific ad group. You need the ad group ID and date range to get the ad-level performance data.

**Can I check account budgets using the `list_budgets` tool?**
Yes, `list_budgets` retrieves a list of account budgets. You can use this to see spending limits and monitor which campaigns are approaching their caps.

**Can I pause or enable campaigns directly through the AI agent?**
Currently, the tools focus on investigative queries and performance analysis. To change the status of a campaign or ad group, please use the Google Ads UI to ensure full budget and policy compliance.

**How can I check which keywords are driving the most conversions?**
You can use the `getKeywordPerformance` tool for a specific ad group. It will return metrics like clicks, impressions, and CTR for each keyword, allowing the AI to identify your top contributors.

**Does this integration support multiple client accounts under a manager account?**
Yes! Use the `list_accessible_customers` tool to see all accounts your credentials have access to. You can then specify the target Customer ID when running performance queries.