google_ads_list_campaigns
List Google Ads Campaigns
GoogleDescription
List campaigns for a Google Ads account. Supports status filtering, search, and pagination. Results are cached; pass refresh=true for latest data. Use include_criteria to control audience/schedule detail: "none" (fastest), "summary" (default, capped), or "full" (uncapped, requires campaign_id/campaign_ids).
Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "google_ads_list_campaigns",
"arguments": {
"customer_id": "1234567890",
"reason": "List campaigns"
}
}
}
hopkin google campaigns list
| Flag | Type | Required | Description |
|---|---|---|---|
--customer-id | string | Required | The Google Ads Customer ID (10 digits, with or without dashes) |
--login-customer-id | string | Optional | MCC (Manager) Customer ID; required for managed accounts |
--campaign | string | Optional | Get a specific campaign by ID. When provided, returns only that campaign and ignores other filters/pagination. |
--campaign-ids | array | Optional | Get multiple campaigns by ID. Mutually exclusive with campaign_id. When provided, ignores other filters/pagination. |
--search | string | Optional | Search campaigns by name (case-insensitive partial match) |
--status | array | Optional | Filter by campaign status: ENABLED, PAUSED, REMOVED |
--limit | integer | Optional | Number of campaigns per page (default: 20, max: 100) |
--cursor | string | Optional | Pagination cursor from previous response |
--refresh | boolean | Optional | Force fresh data from Google Ads API instead of using cache. Defaults to false (cache-first). Only set to true when you need real-time data. |
--include-criteria | string | Optional | Controls campaign criteria detail level. "none" omits criteria (fastest). "summary" (default) returns capped criteria with total counts. "full" returns all criteria uncapped — requires campaign_id or campaign_ids (max 10). |
--label-filter | array | Optional | Filter by labels. Accepts an array whose entries are any of: label name (e.g. "Big Boom"), bare label ID (e.g. "9876543210"), or full label resource name (e.g. "customers/1234567890/labels/9876543210"). Names are resolved against cached labels for the relevant customer scope. Unknown names return an empty result with a warning rather than an error. |
{
"mcpServers": {
"google-ads": {
"url": "https://google.mcp.hopkin.ai",
"transport": "sse"
}
}
}
- List all
- Filter by status
- Get by ID
- Search
- Get multiple by ID
- MCC child
- Full criteria for campaign
- Fast listing (no criteria)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
customer_id |
string |
Required | The Google Ads Customer ID (10 digits, with or without dashes)pattern: ^[\d-]+$ |
reason |
string |
Required | Why this tool call is neededminLength: 1, maxLength: 500 |
Optional parameters (10)
| Name | Type | Required | Description |
|---|---|---|---|
login_customer_id |
string |
Optional | MCC (Manager) Customer ID; required for managed accountspattern: ^[\d-]+$ |
campaign_id |
string |
Optional | Get a specific campaign by ID. When provided, returns only that campaign and ignores other filters/pagination.pattern: ^\d+$ |
campaign_ids |
array |
Optional | Get multiple campaigns by ID. Mutually exclusive with campaign_id. When provided, ignores other filters/pagination. |
search |
string |
Optional | Search campaigns by name (case-insensitive partial match)minLength: 1 |
status |
array |
Optional | Filter by campaign status: ENABLED, PAUSED, REMOVED |
limit |
integer |
Optional | Number of campaigns per page (default: 20, max: 100)min: 1, max: 100 |
cursor |
string |
Optional | Pagination cursor from previous responseminLength: 1 |
refresh |
boolean |
Optional | Force fresh data from Google Ads API instead of using cache. Defaults to false (cache-first). Only set to true when you need real-time data. |
include_criteria |
string |
Optional | Controls campaign criteria detail level. "none" omits criteria (fastest). "summary" (default) returns capped criteria with total counts. "full" returns all criteria uncapped — requires campaign_id or campaign_ids (max 10).none summary full |
label_filter |
array |
Optional | Filter by labels. Accepts an array whose entries are any of: label name (e.g. "Big Boom"), bare label ID (e.g. "9876543210"), or full label resource name (e.g. "customers/1234567890/labels/9876543210"). Names are resolved against cached labels for the relevant customer scope. Unknown names return an empty result with a warning rather than an error. |
Examples
List all
{
"customer_id": "1234567890",
"reason": "List campaigns"
}
hopkin google campaigns list --customer-id 1234567890
Filter by status
{
"customer_id": "1234567890",
"status": [
"ENABLED"
],
"reason": "List enabled campaigns"
}
hopkin google campaigns list --customer-id 1234567890 --status ENABLED
Get by ID
{
"customer_id": "1234567890",
"campaign_id": "9876543210",
"reason": "Get campaign details"
}
hopkin google campaigns list --customer-id 1234567890 --campaign 9876543210
Search
{
"customer_id": "1234567890",
"search": "brand",
"reason": "Find brand campaigns"
}
hopkin google campaigns list --customer-id 1234567890 --search brand
Get multiple by ID
{
"customer_id": "1234567890",
"campaign_ids": [
"111",
"222",
"333"
],
"reason": "Get details for specific campaigns"
}
hopkin google campaigns list --customer-id 1234567890 --campaign-ids 111,222,333
MCC child
{
"customer_id": "1234567890",
"login_customer_id": "9999999999",
"reason": "List campaigns for MCC child"
}
hopkin google campaigns list --customer-id 1234567890 --login-customer-id 9999999999
Full criteria for campaign
{
"customer_id": "1234567890",
"campaign_id": "9876543210",
"include_criteria": "full",
"reason": "Get all audiences for campaign"
}
hopkin google campaigns list --customer-id 1234567890 --campaign 9876543210 --include-criteria full
Fast listing (no criteria)
{
"customer_id": "1234567890",
"include_criteria": "none",
"reason": "Quick campaign overview"
}
hopkin google campaigns list --customer-id 1234567890 --include-criteria none