---
name: google-ads-budget-pacing
description: Checks month-to-date Google Ads spend against the monthly budget or target, projects where each campaign will land by month end, diagnoses under- and over-spend, and suggests safe budget moves - from live data via the Caybl.ai connector. Use for "are we on pace", "budget pacing", "will we overspend this month", "why are we underspending", or a mid-month budget check.
license: MIT
compatibility: Requires the Caybl.ai MCP connector (https://api.caybl.ai/mcp) with Google Ads connected.
metadata:
  author: Caybl.ai
  version: "1.0"
  adapted-from: eliasmalmsandberg/google-ads-skills (google-ads-budget-management), MIT
---

# Google Ads budget pacing

## Requires

The Caybl.ai MCP connector with Google Ads connected (https://caybl.ai/google-ads-mcp).

## Inputs

Ask for the monthly spend target (account or per campaign). If there isn't one, use daily budget x 30.4 - that's the most Google will aim to spend in an average month.

## Workflow

1. `get_campaigns` - daily budgets, status, bidding strategy.
2. `run_gaql_report` - daily cost by campaign this month:
   `SELECT campaign.name, segments.date, metrics.cost_micros, metrics.conversions FROM campaign WHERE segments.date DURING THIS_MONTH`
3. For each campaign:
   - **Pace** = month-to-date spend / (monthly target x share of the month elapsed). Above 1.0 = overpacing, below 1.0 = underpacing.
   - **Projected month-end spend** = MTD spend + (average of the last 7 days x days left). Allow for weekday/weekend patterns (B2B often spends 20-30% less at weekends) rather than a flat average when the pattern is clear.
   - **Daily budget needed to hit target** = (target - MTD spend) / days left.
4. For underpacing campaigns, diagnose before adding money: `get_impression_share` - lost to rank above ~30% means bids, Quality Score or a too-tight tCPA, not budget. A tCPA set well below actual CPA throttles spend; raising it 15-20% is the usual fix.
5. For reallocation, look for campaigns with lost-to-budget above ~20% and a CPA on target - they can absorb more. Brand campaigns at 90%+ impression share usually can't.

## Output

- One line: projected account spend vs target ("on track", "$X over", "$X under").
- Table: | Campaign | Daily budget | MTD spend | Pace | Projected month end | Target | Daily budget needed | Status |
- Recommended moves, each within a 20% step so Smart Bidding learning isn't reset.

Offer to apply budget changes with `update_campaign_budget`, **always with `validateOnly: true` first**, and only apply after an explicit yes.

## Guardrails
- Google can spend up to 2x the daily budget on a single day; one high day isn't overspend.
- Don't recommend adding budget to campaigns that are rank-limited or over target CPA.
