Skip to content
AdlyseMCP Docs
Product guideMCP reference
⌘K
Open Adlyse
⌘K
Overview
QuickstartAuthentication
adlyse-insights
adlyse-reports
adlyse-ads
list_campaignsget_performancelist_adsget_ad_performancelist_change_eventsupdate_campaign_statusupdate_campaign_budget
adlyse-workflows
adlyse-adminadlyse-all
  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: Google Ads (the campaign’s CampaignBudget resource is resolved via GAQL automatically — note shared budgets affect every campaign using them), Meta Ads, Microsoft Ads, and ChatGPT Ads (amounts in integer micros). 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_platformPlatform has no write adapter (e.g. 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
  • Home — the decision queue these changes are recorded against
Previousupdate_campaign_statusNextadlyse-workflows