---
title: "Change a Google Ads campaign daily budget"
method: POST
path: "/api/v1/tools/google_update_campaign_budget/execute"
tags: ["Google Ads"]
---

# Change a Google Ads campaign daily budget

`POST /api/v1/tools/google_update_campaign_budget/execute`

## Request

- Base URL: `https://adako.ai`
- URL: `https://adako.ai/api/v1/tools/google_update_campaign_budget/execute`
- Auth: HTTP bearer

Changes the average daily budget attached to one campaign. The amount is a decimal in the account currency; Adako converts it for Google.
Before changing anything the tool reads the budget and detects whether it is a *shared* budget. A shared budget is used by several campaigns at once, so raising or lowering it changes all of them. When that is the case the call is refused until you have listed the affected campaigns to the user and they agree — then call again with confirm_shared_budget: true.
Use when: the user has stated a new daily amount.
Do not use when: the campaign uses a portfolio bidding strategy that manages spend centrally, or the user only wants a temporary change — say what will happen instead.
Google may spend up to twice the daily budget on a single day and balances it across the month, so the monthly figure is roughly the daily amount times 30.4. The amount is rounded to the smallest unit Google bills in the account currency (a whole yen or won, a cent for most others) and the preview shows the rounded figure.
If you are unsure which account, campaign or period the user means, ask them — do not guess ids or dates.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `arguments` object, required
    - `customer_id` string: Google Ads customer id (10 digits, dashes optional). Omit to use the primary account; list_connected_accounts shows the valid ids.
    - `campaign_id` string, required: Campaign id as returned by google_list_campaigns.
    - `daily_budget` number, required: New average daily budget as a decimal in the account currency (for example 75 for $75/day). Never micros. Rounded to the smallest amount Google bills in that currency.
    - `confirm_shared_budget` boolean: Set true only after telling the user which other campaigns share this budget and getting their agreement.
    - `idempotency_key` string: Optional caller-supplied key; identical keys never execute twice.

## Response `200`

The tool ran. A write returns proposal_id and approve_url while the change waits for approval.

- SuccessEnvelope
  - `success` unknown, required
  - `tool` string, required
  - `data` object, required: Machine-readable result.
  - `markdown` string, required: The same result written for a person or a model.
  - `quota` Quota: Task usage for the current billing period.
    - `plan` string
    - `used` integer
    - `limit` integer
    - `period_end` string
    - `upgrade_url` string
  - `proposal_id` string: Present for writes. Nothing changes on the ad platform until it is approved.
  - `approve_url` string: Where a person approves the proposal.
  - `request_id` string, required

## Other responses

- `400`: Invalid arguments, or the ad account could not be resolved.
- `401`: Missing, invalid, revoked or expired API key.
- `402`: Monthly task quota used up, or the plan does not include this tool.
- `403`: The connected ad account lacks the access level this tool needs.
- `404`: Unknown tool name.
- `409`: Not connected, reconnect needed, confirmation required, a proposal already pending or no longer pending, an identical create that failed earlier today (proposal_failed_before), a create that duplicates an approved one (duplicate_create), the ad-account limit of the plan reached (account_limit), or an Idempotency-Key reused with different arguments.
- `429`: Rate limited by Adako or by the ad platform. See Retry-After.
- `500`: Unexpected error inside Adako.
- `502`: The ad platform returned an error.

---

[API](https://skmtc.dev/adako/apis/adako-rest-api.md) · [All operations](https://skmtc.dev/adako/apis/adako-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adako/apis/adako-rest-api/revisions/59ee60d48a56?raw)
