Monthly budget

A monthly budget turns "spend so far" into "where will we end up?" – the cockpit and Pulse show "96 % · forecast 16,320 € on 31 Oct" and raise an alert when the month runs over or under.

Set and read

PUT /v1/projects/{project}/budget
{
  "month": "2026-11",
  "amount": 18000,
  "byPlatform": { "meta_ads": 12000, "google_ads": 6000 },
  "source": "manual",
  "thresholds": { "over": 1.03, "under": 0.85 },
  "repeat": true
}
  • GET needs ads:read, PUT needs ads:write. MCP: budget_get, budget_set.
  • byPlatform is optional; its sum must not exceed amount.
  • repeat: true carries the amount into the following months.
  • Amounts are in the project currency.

The answer adds spentToDate, forecast, share (forecast ÷ budget), forecastDate and accountsBudgetAvailable.

Forecast

forecast = spend this month up to yesterday + average daily spend of the last 7 days × remaining days (incl. today)

Days follow the project time zone. In the first two days of a month the average comes from the last 7 days of the previous month.

Budget from the ad accounts

With "source": "accounts" the budget is the sum of the campaigns' daily budgets × days in the month, read from the ad accounts during the sync (Meta campaign and ad set budgets, Google campaign budgets, LinkedIn and TikTok campaign budgets). The option is available once budgets are known for at least 80 % of the last 7 days' spend; otherwise accountsBudgetAvailable is false and the dashboard asks you to enter the budget yourself.

Alerts

From day 7 of the month: budget_over when the forecast is above thresholds.over (default 103 %), budget_under when it is below thresholds.under (default 85 %). Both are agency-internal – clients and viewers do not see them (Recommendations and alerts).