Installation
$npx skills add TheMattBerman/google-ads-copilot --skill google-ads-budgetSummary
The agent can audit campaign budgets against signal quality, intent clarity, tracking confidence, and structural health, then produce targeted reallocation drafts. Invoke this when budget decisions need to be informed by data integrity and impression-share diagnostics, not just raw spend.
SKILL.MD
Google Ads Budget
Read first:
google-ads/references/operator-thesis.mdgoogle-ads/references/intent-map.mdgoogle-ads/references/tracking-playbook.mdgoogle-ads/references/structure-playbook.mdgoogle-ads/references/budget-playbook.mdgoogle-ads/references/deliverable-templates.md
Read workspace if available:
workspace/ads/account.mdworkspace/ads/goals.mdworkspace/ads/intent-map.mdworkspace/ads/winners.mdworkspace/ads/findings.mdworkspace/ads/change-log.mdworkspace/ads/learnings.mdworkspace/ads/drafts/_index.md— check if tracking fixes are pending (gates scaling)
Data Acquisition
Connected Mode (MCP available)
Pull via the search tool on google-ads-mcp:
Primary: Campaign budgets and spend:
SELECT
campaign.name,
campaign.status,
campaign_budget.amount_micros,
campaign_budget.delivery_method,
campaign.bidding_strategy_type,
metrics.cost_micros,
metrics.conversions,
metrics.cost_per_conversion,
metrics.impressions,
metrics.search_impression_share
FROM campaign
WHERE campaign.status = 'ENABLED'
AND segments.date DURING LAST_30_DAYS
Primary: Impression share and budget-limited detection:
SELECT
campaign.name,
metrics.search_impression_share,
metrics.search_budget_lost_impression_share,
metrics.search_rank_lost_impression_share,
metrics.cost_micros,
metrics.conversions
FROM campaign
WHERE campaign.status = 'ENABLED'
AND campaign.advertising_channel_type = 'SEARCH'
AND segments.date DURING LAST_7_DAYS
Supplementary: Tracking confidence check:
SELECT
conversion_action.name,
conversion_action.type,
conversion_action.counting_type,
conversion_action.include_in_conversions_metric,
metrics.conversions
FROM conversion_action
WHERE conversion_action.status = 'ENABLED'
AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.conversions DESC
See data/gaql-recipes.md for additional queries.
Date Range Fallback
If LAST_30_DAYS returns 0 rows, fall back to LAST_90_DAYS. For budget analysis, older data is less useful — if 90 days is also empty, note "Account dormant: no activity to base budget decisions on" and recommend a plan or audit instead. Always state the date range used.
Export Mode (no MCP)
Ask the user for:
- Campaign budget report: Budget, Spend, Conversions, Search IS%, Budget Lost IS%
- Last 30 days preferred
Process
- Announce mode (connected/export).
- Check tracking confidence first — from workspace findings or quick tracking check.
- If tracking confidence is Low/Broken, flag that budget decisions are provisional.
- Check
workspace/ads/drafts/_index.mdfor pending tracking fix drafts.
- Identify which buckets are buying clean signal vs. noisy traffic.
- Assess impression share — where is budget the constraint vs. where is it quality?
- Distinguish between budget constraints and structural/intent problems.
- Recommend:
- Scale — clean signal, budget-limited, good CPA
- Protect — working well, don't starve it
- Reduce — noisy traffic, poor signal, overfunded
- Hold — needs more data or structural fix before budget decision
- Fix-before-scaling — blocked by tracking, structure, or intent problems
Draft Output
Budget Reallocation Draft
Trigger: Analysis identifies campaigns where budget is clearly misallocated (strong campaign starved while weak campaign overfunded), AND tracking confidence is at least Medium.
Create using drafts/templates/budget-draft.md:
- Write to
workspace/ads/drafts/YYYY-MM-DD-[account-slug]-budget-realloc.md - Include: current daily budget, proposed daily budget, change amount, reason, expected impact
- Show net budget change (budget-neutral reallocation vs. total spend change)
- Note tracking confidence gate
- Update
workspace/ads/drafts/_index.md
Blocking conditions
Do not produce a budget draft if:
- Tracking confidence is Low or Broken (recommend tracking fix instead)
- A pending tracking fix draft exists that hasn't been applied
Instead, note: "Budget decisions are blocked until tracking fix draft [X] is resolved."
Always update workspace memory:
workspace/ads/findings.md— budget observationsworkspace/ads/learnings.md— what we learned about spend efficiency
Rules
- Do not scale ambiguous traffic just because volume is available.
- Do not mistake structure problems for budget problems.
- If tracking confidence is low, say that budget decisions are provisional.
- Budget scaling is the highest-risk action in the system. Gate it behind tracking trust.