Skip to Content
Tool referenceList Google Ads campaigns

List Google Ads campaigns (adsap_google_list_campaigns)

Platform: Google Ads · Read or write: Read · Plan: All plans · Consumes a task: No · Preview supported: No

What it does

Lists the campaigns in one Google Ads account with status, channel type, bidding strategy and daily budget. It reads from the Adsap cache first and refreshes from Google when the cache is older than one hour. You can filter by status or force a fresh pull.

When to use it

  • Use it to find a campaign and its id before you read results or change anything in a Google Ads account.
  • It needs the 10-digit customer ID from adsap_google_list_ad_accounts.
  • status_filter takes ACTIVE, PAUSED, REMOVED or ALL. The default is ALL.
  • daily_budget is an amount in the account currency. Google budgets are daily.
  • It returns no spend or results. For those, use adsap_google_get_insights.

Worked example

You ask

“List the active campaigns in Google Ads account 1234567890.”

The assistant calls adsap_google_list_campaigns

{ "ad_account_id": "1234567890", "status_filter": "ACTIVE" }

Adsap returns

The field names are the ones Adsap returns. The values are examples.

{ "ok": true, "data": [ { "id": "21000000001", "ad_account_id": "1234567890", "name": "Spring sale", "display_name": "Spring sale (21000000001)", "platform": "google", "status": "ACTIVE", "google_status": "ENABLED", "channel_type": "SEARCH", "bidding_strategy_type": "MAXIMIZE_CONVERSIONS", "daily_budget": 50, "last_synced_at": "2026-09-18T08:05:00+00:00" }, { "id": "21000000002", "ad_account_id": "1234567890", "name": "Summer collection", "display_name": "Summer collection (21000000002)", "platform": "google", "status": "ACTIVE", "google_status": "ENABLED", "channel_type": "PERFORMANCE_MAX", "bidding_strategy_type": "MAXIMIZE_CONVERSION_VALUE", "daily_budget": 80, "last_synced_at": "2026-09-18T08:05:00+00:00" } ], "meta": { "is_stale": false, "last_refreshed_at": "2026-09-18T08:05:00+00:00", "next_cursor": null, "total_count": 2, "ad_account_id": "1234567890" } }

How to read it

status uses the same wording as the Meta tools, so Google’s ENABLED shows as ACTIVE. google_status keeps Google’s own value. channel_type and bidding_strategy_type are Google’s names for the campaign type and the bidding strategy.

meta.is_stale is true when the cache is over one hour old and could not be refreshed. In that case meta.refresh_error says why. When meta.next_cursor is set, pass it as cursor for the next page. The id of a row feeds adsap_google_set_entity_status and adsap_google_update_entity.

Parameters

Descriptions are shortened from the tool schema. Your assistant sees the full text.

NameTypeRequiredDescription
ad_account_idstringYesBare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix.
status_filterone of ACTIVE, PAUSED, REMOVED, ALLNo
refreshbooleanNoForce a refresh from the Google Ads API even if the cache is fresh. Spends Google API budget: use only when the user needs up-to-the-minute data.
limitnumberNo
cursorstringNo

Example prompts

  • “List my Google Ads campaigns.”
  • “Which Performance Max campaigns are active in my Google account?”
  • “Refresh my Google campaigns and show me the paused ones.”

Notes

A forced refresh spends Google API quota. Ask for it only when you need up-to-the-minute data.

Guide

Read Google Ads for the workflow around this tool, and the Tool reference for every tool.

The Google Ads MCP server  page shows how to connect Google Ads to Claude, ChatGPT or Perplexity.

Last updated on