google_ads_list_campaigns

List Google Ads Campaigns

Google

Description

List campaigns for a Google Ads account. Supports status filtering, search, and pagination. Results are cached; pass refresh=true for latest data.

Read-onlyOpen-world

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
FlagTypeRequiredDescription
--customer-idstringRequiredThe Google Ads Customer ID (10 digits, with or without dashes)
--login-customer-idstringOptionalMCC (Manager) Customer ID; required for managed accounts
--campaignstringOptionalGet a specific campaign by ID. When provided, returns only that campaign and ignores other filters/pagination.
--campaign-idsarrayOptionalGet multiple campaigns by ID. Mutually exclusive with campaign_id. When provided, ignores other filters/pagination.
--searchstringOptionalSearch campaigns by name (case-insensitive partial match)
--statusarrayOptionalFilter by campaign status: ENABLED, PAUSED, REMOVED
--limitintegerOptionalNumber of campaigns per page (default: 20, max: 100)
--cursorstringOptionalPagination cursor from previous response
--refreshbooleanOptionalForce 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.
{
  "mcpServers": {
    "google-ads": {
      "url": "https://mcp.hopkin.ai/google-ads/mcp",
      "transport": "sse"
    }
  }
}
  • List all
  • Filter by status
  • Get by ID
  • Search
  • Get multiple by ID
  • MCC child

Parameters

NameTypeRequiredDescription
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 (8)
NameTypeRequiredDescription
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.

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