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. Use include_criteria to control audience/schedule detail: "none" (fastest), "summary" (default, capped), or "full" (uncapped, requires campaign_id/campaign_ids).

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"
    }
  }
}

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 (10)
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.
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