AdlyseAdlyseMCP Docs
⌘K
Overview
adlyse-insights
list_ad_accountsget_dashboard_snapshotget_impact_analysislist_guidelinesget_guideline
adlyse-reports
list_report_templateslist_reportsget_reportgenerate_reportlist_report_targets
adlyse-ads
list_campaignsget_performancelist_adsget_ad_performancelist_change_eventsupdate_campaign_statusupdate_campaign_budget
adlyse-workflows
list_workflowsget_workflowrun_workflowget_run_status
  1. Overview/
  2. adlyse-ads

update_campaign_budget

Change a campaign’s daily budget (in the account’s currency, e.g. USD). Same preview / decision-log semantics as update_campaign_status.

Platform support: Meta Ads only in this release. Google Ads budgets require a separate budget-resource indirection that isn’t wired through MCP yet — calls for Google accounts return error_type="unsupported_for_platform". TikTok is unsupported for mutations in general.

Parameters#

NameTypeRequiredDefaultDescription
ad_account_idstringyesAd account id
campaign_idstringyesPlatform campaign id
daily_budgetnumberyesNew daily budget in dollars (must be > 0)
previewbooleannofalseLocal diff only; don’t call the platform

Budgets are always provided in dollars; Adlyse converts to the platform’s minor units (cents for USD) on the wire. Changes below $0.01 are treated as unchanged.

Returns#

json
{
  "ad_account_id": "ad_acct_abc",
  "campaign_id": "c1",
  "campaign_name": "Retargeting - Core",
  "platform": "meta_ads",
  "preview": false,
  "changed": true,
  "applied": true,
  "diff": { "daily_budget": { "before": 100.00, "after": 125.00 } },
  "decision_id": "decentry_xyz",
  "platform_response": { "id": "c1", "daily_budget": 12500 },
  "source": "adlyse.ads_writes@v1"
}

Field semantics are identical to update_campaign_status, but diff contains a daily_budget object instead of a status object.

Errors#

error_typeWhen
auth_errorMissing / invalid API key
validation_errordaily_budget not a number, ≤ 0
not_foundAd account doesn’t belong to your org, or campaign isn’t synced under this account
unsupported_for_platformGoogle Ads (budget-resource indirection not wired) or TikTok
credentials_missingMeta account has no linked credentials — reconnect it
platform_errorMeta API rejected the change; no decision is logged on failure

Idempotency#

Calling update_campaign_budget with a value equal to (or within ±$0.005 of) the current daily budget returns changed: false, applied: false, decision_id: null without contacting Meta.

Example#

Request:

json
{
  "ad_account_id": "ad_acct_abc",
  "campaign_id": "c1",
  "daily_budget": 125.00,
  "preview": false
}

Response: as shown above.

See also#

  • update_campaign_status — pause / resume
  • Decision Log — the auto-logged entry model
←Previous
update_campaign_status
Next→
adlyse-workflows