google_ads_budget_update
Sets the daily or total amount on an existing Google Ads campaign budget and returns the updated budget. Check reference_count first, since shared budgets change for all linked campaigns.
Instructions
Sets the daily and/or total amount on an existing campaign budget. Mutating — not automatically reversible; record before-state with mureo_state_action_log_append if you may need to roll back. Returns the updated budget. If the budget is shared across multiple campaigns, the change affects all of them — call google_ads_budget_get first to check reference_count. The amount parameter is in the account's currency unit (JPY / USD / etc.), not micros. The budget's period (DAILY / CUSTOM_PERIOD) is immutable in the Google Ads API — total amounts only apply to budgets created with period='CUSTOM_PERIOD'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | New daily budget in the account's currency (JPY / USD / etc.). Not micros — e.g. pass 5000 for ¥5,000 / day. Mutually exclusive with amount_micros. | |
| reason | No | Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session. | |
| approval | No | External approval this change carries out (recorded and shown, never verified) | |
| expected | No | Expected effects [{metric, direction, target?, horizon_days?, primary?}], exactly one primary:true when several; metric cpa/cpc/cpl/cpm/conversions/cvr/ctr/roas/cost/spend/clicks/impressions; direction up/down/hold. | |
| budget_id | Yes | Budget ID as returned by google_ads_budget_get. | |
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. | |
| decision_id | No | A proposed decision this change carries out. | |
| total_amount | No | New total (lifetime) amount in the account's currency. Only applies to CUSTOM_PERIOD budgets — the API rejects it on DAILY budgets. Mutually exclusive with total_amount_micros. | |
| amount_micros | No | New daily budget in micros (currency unit × 1,000,000). Use this for an exact value with no float rounding (e.g. when restoring a prior amount on rollback). Mutually exclusive with amount. | |
| total_amount_micros | No | New total (lifetime) amount in micros. Only applies to CUSTOM_PERIOD budgets — the API rejects it on DAILY budgets. Use for an exact value with no float rounding. Mutually exclusive with total_amount. |