# Google Ads — how to use (mcp.ai)

Gestão completa de Google Ads: leitura (campanhas, performance, ROAS, keywords, termos de busca) e escrita (pausar/ativar/remover campanhas, ad groups, ads e keywords, ajustar orçamento e lance, criar budget, campanha, ad group, keywords positivas/negativas e RSAs). Você fornece developer token, OAuth client_id/secret, refresh_token e MCC, sem etapa OAuth no servidor.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_google_ads?ms=1788960180000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `google_ads_list_accounts`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/google_ads`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/google_ads/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/google_ads/accounts` — Listar MCCs e TODOS os customer accounts acessíveis pelo OAuth token
- `POST https://api.mcp.ai/api/google_ads/status` — Overview de MCCs e customer_ids (sem account). Detalhes do escopo (com account).
  - body: { account?: string, customer_id?: string }
- `POST https://api.mcp.ai/api/google_ads/customers/info` — Info do customer: nome, moeda, timezone
  - body: { account?: string, customer_id?: string }
- `POST https://api.mcp.ai/api/google_ads/customers/campaigns` — Listar campanhas com status e orçamentos
  - body: { account?: string, customer_id?: string, status?: string }
- `POST https://api.mcp.ai/api/google_ads/customers/today` — Performance de hoje: custo, impressões, cliques, conversões, ROAS por campanha + _summary
  - body: { account?: string, customer_id?: string }
- `POST https://api.mcp.ai/api/google_ads/customers/roas` — ROAS por período (default mês corrente). Por campanha + _summary.
  - body: { account?: string, customer_id?: string, since?: string, until?: string }
- `POST https://api.mcp.ai/api/google_ads/customers/ads` — Listar ads habilitados com tipo, status, nome da campanha e policy_summary (approval/review status)
  - body: { account?: string, customer_id?: string }
- `POST https://api.mcp.ai/api/google_ads/customers/keywords` — Keywords: métricas, search terms, status/policy (action=status), diagnóstico de leilão / Quality Score (action=diagnostics) ou GAQL raw
  - body: { account?: string, customer_id?: string, action?: string, query?: string, campaign_id?: string, ad_group_id?: string, days?: number }
- `POST https://api.mcp.ai/api/google_ads/customers/changes` — Histórico de alterações (quem mudou o quê): campanhas, anúncios, lances, URLs, headlines, keywords, orçamentos
  - body: { account?: string, customer_id?: string, since?: string, until?: string, days?: number, limit?: number }
- `POST https://api.mcp.ai/api/google_ads/customers/performance` — Performance diária: custo, impressões, cliques, conversões, revenue por dia
  - body: { account?: string, customer_id?: string, days?: number }
- `POST https://api.mcp.ai/api/google_ads/campaigns/update-status` — Pausar, ativar ou remover campanhas (REMOVED é irreversível)
  - body: { account?: string, customer_id?: string, campaign_ids: array, status: string, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/campaigns/update-budget` — Ajustar o orçamento diário de uma campanha (na unidade da moeda da conta)
  - body: { account?: string, customer_id?: string, campaign_id: string, amount: number }
- `POST https://api.mcp.ai/api/google_ads/ad-groups/update-status` — Pausar, ativar ou remover ad groups
  - body: { account?: string, customer_id?: string, ad_group_ids: array, status: string, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/ads/update-status` — Pausar, ativar ou remover anúncios (precisa de ad_group_id + ad_id)
  - body: { account?: string, customer_id?: string, ads: array, status: string, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/keywords/update-status` — Pausar, ativar ou remover keywords (precisa de ad_group_id + criterion_id)
  - body: { account?: string, customer_id?: string, keywords: array, status: string, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/keywords/update-bid` — Ajustar max CPC de keywords (na unidade da moeda da conta)
  - body: { account?: string, customer_id?: string, keywords: array, cpc_bid: number, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/campaign-budgets/create` — Criar um campaign_budget (pré-requisito de toda campanha)
  - body: { account?: string, customer_id?: string, name: string, amount: number, delivery_method?: string }
- `POST https://api.mcp.ai/api/google_ads/campaigns/create` — Criar uma campanha (default SEARCH, PAUSED, MANUAL_CPC). budget_id obrigatório.
  - body: { account?: string, customer_id?: string, name: string, budget_id: string, channel_type?: string, bidding_strategy?: string, status?: string, merchant_id?: string, feed_label?: string, campaign_priority?: number }
- `POST https://api.mcp.ai/api/google_ads/ad-groups/create` — Criar um ad group dentro de uma campanha
  - body: { account?: string, customer_id?: string, campaign_id: string, name: string, type?: string, status?: string, cpc_bid?: number }
- `POST https://api.mcp.ai/api/google_ads/keywords/add` — Adicionar keywords positivas a um ad group
  - body: { account?: string, customer_id?: string, ad_group_id: string, keywords: array, status?: string, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/negative-keywords/add` — Adicionar keywords negativas (campaign ou ad group)
  - body: { account?: string, customer_id?: string, scope: string, target_id: string, keywords: array, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/ads/responsive-search/create` — Criar um Responsive Search Ad (RSA) num ad group
  - body: { account?: string, customer_id?: string, ad_group_id: string, headlines: array, descriptions: array, final_urls: array, path1?: string, path2?: string, status?: string }
- `POST https://api.mcp.ai/api/google_ads/sitelinks/list` — Listar sitelinks e onde estão linkados (campanha / conta / ad group)
  - body: { account?: string, customer_id?: string }
- `POST https://api.mcp.ai/api/google_ads/sitelinks/create` — Criar sitelinks e linkar numa campanha (default), na conta ou num ad group
  - body: { account?: string, customer_id?: string, scope?: string, target_id?: string, sitelinks: array, partial_failure?: boolean }
- `POST https://api.mcp.ai/api/google_ads/sitelinks/remove` — Desligar sitelinks (remove só a associação; o asset fica na biblioteca)
  - body: { account?: string, customer_id?: string, link_resource_names: array, partial_failure?: boolean }

## Example prompts
- "Liste minhas contas Google Ads acessíveis pela MCC"
- "Quanto gastei hoje em Google Ads e qual o ROAS por campanha?"
- "Top 10 palavras-chave por custo nos últimos 7 dias"

## More
- Page: https://mcp.ai/google_ads
- Agent spec (llms.txt): https://mcp.ai/google_ads/llms.txt
- Postman collection: https://mcp.ai/google_ads/postman.json
