Bulk update Google Ads campaign budgets

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Changes the daily budget on several campaigns in one call.

Send one entry per campaign in updates, each with a campaign_id and a daily_budget_micros. Budgets are absolute, not deltas, and are in micros of the account currency.

Each entry is applied on its own and this is not atomic. The response lists the campaigns that were updated in succeeded and the ones that were not in failed, each with a reason. A partially applied call still returns a 200, so check failed rather than relying on the status code. Re-sending an entry is safe, because the budget is set to the value you send rather than added to it.

<Warning>An entry in failed usually means the budget did not change, but it can also mean Google accepted the new budget and only Base44's own record of it failed to save. In that case the campaign is already spending at the new budget. Read the campaign back with Get campaign before you treat a failed entry as unchanged.</Warning>

Each reason is free text meant for a person to read. Do not branch on it.

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>

patch/api/apps/{app_id}/google-ads/campaigns/bulk-budget

Path parameters

app_idstring required

ID of the app whose Google Ads campaigns to manage.

ID of the app whose Google Ads campaigns to manage.

Request body

Response

Successful Response

succeededstring[] required

IDs of the campaigns whose budget was updated.

Example response

{
  "succeeded": [
    "68b1c0d4e7b91d003c45a1f2"
  ],
  "failed": [
    {
      "campaign_id": "68b1c0d4e7b91d003c45a1f4",
      "reason": "Budget below the minimum for this currency"
    }
  ]
}

Changes

Changed in 1 of the 11 revisions of this API.1