Files
marketingskills/tools/integrations/google-ads.md
Corey Haines edcc34aa6d feat: add marketing tools registry for agent discovery
Create centralized tools/ directory with REGISTRY.md index and 29
integration guides covering analytics, SEO, CRM, payments, referral,
email, ads, automation, and commerce platforms.

Each guide includes API endpoints, authentication, common operations,
and links to relevant skills. Updated AGENTS.md and key skills
(referral-program, analytics-tracking, email-sequence, paid-ads)
with tool integration references.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 18:33:51 -08:00

160 lines
3.8 KiB
Markdown

# Google Ads
Pay-per-click advertising platform for search, display, and video campaigns.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | Google Ads API for campaign management |
| MCP | ✓ | Available via Google Ads MCP server |
| CLI | - | Use gcloud or API scripts |
| SDK | ✓ | Client libraries for multiple languages |
## Authentication
- **Type**: OAuth 2.0
- **Scopes**: `https://www.googleapis.com/auth/adwords`
- **Setup**: Create credentials in Google Cloud Console, link to Google Ads account
- **Headers**: `developer-token`, `login-customer-id` (for MCC)
## Common Agent Operations
### Get account info
```bash
POST https://googleads.googleapis.com/v14/customers/{customer_id}/googleAds:searchStream
{
"query": "SELECT customer.id, customer.descriptive_name FROM customer"
}
```
### List campaigns
```bash
POST https://googleads.googleapis.com/v14/customers/{customer_id}/googleAds:searchStream
{
"query": "SELECT campaign.id, campaign.name, campaign.status, campaign_budget.amount_micros FROM campaign ORDER BY campaign.id"
}
```
### Get campaign performance
```bash
POST https://googleads.googleapis.com/v14/customers/{customer_id}/googleAds:searchStream
{
"query": "SELECT campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM campaign WHERE segments.date DURING LAST_30_DAYS"
}
```
### Get ad group performance
```bash
POST https://googleads.googleapis.com/v14/customers/{customer_id}/googleAds:searchStream
{
"query": "SELECT ad_group.name, metrics.impressions, metrics.clicks, metrics.conversions FROM ad_group WHERE segments.date DURING LAST_7_DAYS"
}
```
### Get keyword performance
```bash
POST https://googleads.googleapis.com/v14/customers/{customer_id}/googleAds:searchStream
{
"query": "SELECT ad_group_criterion.keyword.text, metrics.impressions, metrics.clicks, metrics.average_cpc FROM keyword_view WHERE segments.date DURING LAST_30_DAYS ORDER BY metrics.clicks DESC LIMIT 50"
}
```
### Pause campaign
```bash
POST https://googleads.googleapis.com/v14/customers/{customer_id}/campaigns:mutate
{
"operations": [{
"update": {
"resourceName": "customers/{customer_id}/campaigns/{campaign_id}",
"status": "PAUSED"
},
"updateMask": "status"
}]
}
```
### Update budget
```bash
POST https://googleads.googleapis.com/v14/customers/{customer_id}/campaignBudgets:mutate
{
"operations": [{
"update": {
"resourceName": "customers/{customer_id}/campaignBudgets/{budget_id}",
"amountMicros": "50000000"
},
"updateMask": "amountMicros"
}]
}
```
## Key Metrics
| Metric | Description |
|--------|-------------|
| `metrics.impressions` | Ad impressions |
| `metrics.clicks` | Clicks |
| `metrics.cost_micros` | Cost in micros (divide by 1M) |
| `metrics.conversions` | Conversions |
| `metrics.conversions_value` | Conversion value |
| `metrics.average_cpc` | Average cost per click |
| `metrics.ctr` | Click-through rate |
| `metrics.conversion_rate` | Conversion rate |
## Campaign Types
- `SEARCH` - Search network text ads
- `DISPLAY` - Display network
- `SHOPPING` - Product shopping ads
- `VIDEO` - YouTube video ads
- `PERFORMANCE_MAX` - AI-optimized across channels
- `DEMAND_GEN` - Discovery/Demand Gen
## GAQL (Google Ads Query Language)
```sql
SELECT
campaign.name,
metrics.clicks,
metrics.conversions
FROM campaign
WHERE
campaign.status = 'ENABLED'
AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.conversions DESC
LIMIT 10
```
## When to Use
- Managing search advertising campaigns
- Analyzing campaign performance
- Adjusting budgets and bids
- Keyword research and management
- Conversion tracking analysis
## Rate Limits
- 15,000 operations per day (basic)
- Higher limits with developer token levels
## Relevant Skills
- paid-ads
- analytics-tracking
- page-cro