# Build a monthly budget pacing dashboard in Claude

> Tier: recipe. Operating recipe: real tool sequence, core rules, known traps.

Builds the Get MCP Ads Budget pacing template as a Claude dashboard for Meta, Google Ads, TikTok, Pinterest, Snapchat and LinkedIn: spend to date in each account's own time zone and currency with today kept apart as partial, against the client's monthly budget from its shared memory and the budgets set on the platforms (daily and lifetime, campaign or ad set level, shared budgets, schedules, paused and ended campaigns); the projected landing with its range, the spend a day needs from today to land on budget, the same days of last month and its landing, and every campaign with its budget, run rate, pace and days left.

**Intent.** A live page for the month in progress: how much each platform, account and campaign has spent against the budget, where the month will land, and what to change today.

## When to use

- Someone asks whether they will hit, miss or overshoot the month's budget, how much is left to spend, how much to spend a day from now, or for a pacing report they can keep in Claude.
- Mid-month and end-of-month budget checks the team opens every day without asking again.

## When not to use

- A closed month's spend for finance: use executive-spend-summary.
- One campaign's budget change: preview it with change_campaigns, the dashboard reads only.
- Hosts without Claude's Dashboard artifact type: answer in the conversation with the matching reports instead.

## Sources

Required: any connected source
Optional: Meta Ads, Google Ads, TikTok Ads, Pinterest Ads, Snapchat Ads, LinkedIn Ads

## Preconditions

- The organisation is on Team or Enterprise: ready-made dashboards are not offered on Free or Pro.
- The account is ticked in the dashboard, confirmed via list_accounts.

## Inputs

- `monthly_budget`: Only when the person gives one and none is saved: remember it first as a budget_month target (whole client, one platform or one account) so every reader paces against it.

## Procedure

1. Resolve the client's workspace and its ad accounts, one per platform (Meta, Google Ads, TikTok, Pinterest, Snapchat, LinkedIn), with list_accounts; it also shows the client memory's targets.
2. When the person names a monthly budget that the memory does not hold, save it as a budget_month target before building. — tools: `remember`
3. Fetch the budget-pacing template with every account (accounts, one per platform). — tools: `get_dashboard_template`
4. Create a Dashboard artifact, write every document exactly as given in one batch, read its check, hand over with the lines given.

## Decision rules

- **When** The template is refused with PLAN_REQUIRED → **conclude** Say the dashboards come with Team and Enterprise and that only the account owner changes the plan; answer the question in the conversation meanwhile.
- **When** The client memory holds no budget_month target → **conclude** Build the dashboard anyway: it paces against the platforms' own budgets. Say so, and offer to remember the monthly budget (for the client, a platform or an account) so the page shows the gap and the spend a day needs.
- **When** The accounts use different currencies → **conclude** Spend is added up only within one currency: say the page shows a total per currency, and that a client budget in one currency is compared with the accounts in that currency only.
- **When** A campaign's budget cannot be read (TikTok Smart+, a Google campaign total budget that started before last month, an unreadable ad set budget) → **conclude** Its run rate is kept without a cap and the page says how much spend that is: never fill in a budget.
- **When** The person asks what to change → **conclude** Point to the campaigns held by their budget (they take more spend at once; on Google, the search impression share they lose to budget says how much more there is to buy) and to those under-delivering (more budget will not help them); any change goes through change_campaigns with preview and confirmation.
- **When** A reader sees a source fail to load → **conclude** Their own Get MCP Ads access decides: check that their connection covers this client's workspace and that their plan includes dashboards before changing the dashboard.

## Evidence requirements

- Every figure carries its account, metric and window.
- Anything below a readable sample size is reported as unjudged, not as zero.

## Human approval boundary

- The readout changes nothing. Any change it motivates goes through Safe Writes: preview, human confirmation, then apply.

## Failure modes

- Editing the template's page or queries by hand loses the provenance of each figure: ask for changes by name instead.
- Reading the projection as a promise: it is the last seven days carried forward within the budgets, and a promotion or a budget change moves it; the range is the spread of the last three weeks, not a confidence interval.
- Comparing today's partial spend with a full day, or this month's days with a different number of last month's days.

## Output

- **Readout**: The figures, with windows and accounts named.
- **Flags**: What deserves a deeper skill or a human decision.

## Related

- Skill: [google-ads-budget-pacing](https://www.getmcpads.com/skills/google-ads-budget-pacing.md)
- Skill: [scorecard-dashboard](https://www.getmcpads.com/skills/scorecard-dashboard.md)
- Skill: [executive-spend-summary](https://www.getmcpads.com/skills/executive-spend-summary.md)
