google_ads_budget_update
Update an existing Google Ads campaign budget's daily or total amount, including shared budgets affecting all linked campaigns. Pass exact amounts in currency or micros to adjust spend limits.
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. | |
| 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. | |
| 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. |