Get Google Ads budget boundaries
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Reads the daily budget range Google accepts for a campaign type and currency, so you can validate a budget before you create a campaign.
The numbers come from a fixed table rather than from Google, because Google does not publish them as a queryable resource. They change rarely. min_daily_budget_micros is the same floor the create, update, and bulk-budget endpoints enforce, so a budget that passes here is accepted there.
clicks_per_unit_min and clicks_per_unit_max are always present, and are measured rather than forecast whenever clicks_per_unit_scope is campaign or fleet: the middle half of what one unit of currency_code in daily budget has actually bought across recent Base44 campaigns billing in that currency. Multiply a daily budget by them directly. Pass campaign_id to get the same pair for one campaign's own delivery once it has enough of a record to speak for itself. A scope of unavailable still returns a usable pair, but a stored one rather than a current measurement — read the scope before presenting these as live figures.
You do not need a connected Google Ads account to call this, which is what lets you show a budget slider before the account exists. An unrecognized currency_code or campaign_type is not rejected: you get the US dollar and Smart campaign defaults back, with the values you sent echoed in currency_code and campaign_type. Compare those two fields against what you sent if you need to know that happened.
<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>
Path parameters
ID of the app you are planning a Google Ads campaign for.
ID of the app you are planning a Google Ads campaign for.
Query parameters
Currency to report the bounds in, as an ISO 4217 code. An unrecognized code falls back to USD.
Currency to report the bounds in, as an ISO 4217 code. An unrecognized code falls back to USD.
Campaign type to report bounds for: SMART or PERFORMANCE_MAX. Anything else falls back to SMART.
Campaign type to report bounds for: SMART or PERFORMANCE_MAX. Anything else falls back to SMART.
An existing campaign to quote the click rate for. With it, clicks_per_unit_min / clicks_per_unit_max describe that campaign's own recent delivery instead of the platform-wide range, and clicks_per_unit_scope reads campaign. A campaign without enough delivery, or one whose budget currency differs from currency_code, still answers from the platform-wide range.
An existing campaign to quote the click rate for. With it, clicks_per_unit_min / clicks_per_unit_max describe that campaign's own recent delivery instead of the platform-wide range, and clicks_per_unit_scope reads campaign. A campaign without enough delivery, or one whose budget currency differs from currency_code, still answers from the platform-wide range.
Response
The accepted daily budget range.
Example response
{
"currency_code": "USD",
"campaign_type": "SMART",
"min_daily_budget_micros": 10000000,
"max_daily_budget_micros": 1000000000,
"recommended_daily_budget_micros": 30000000,
"preset_daily_budget_micros": [
15000000,
30000000,
60000000
],
"usd_to_currency_rate": 1,
"clicks_per_unit_min": 1.9,
"clicks_per_unit_max": 21.2,
"clicks_per_unit_scope": "fleet"
}Changes
Changed in 1 of the 14 revisions of this API.4
- ○
added the new optional
queryrequest parametercampaign_idnew-optional-request-parameter
- ○
added the required property
to the response with the statusresponse-required-property-added
- ○
added the required property
to the response with the statusresponse-required-property-added
- ○
added the required property
to the response with the statusresponse-required-property-added
- ○