Ad Accounts

Set up ad account billing (monthly invoicing)

Changed on

Bills a Google Ads account to a monthly invoicing payments account of a manager above it, and proposes its account budget, so the account can serve without anyone opening Google Ads.

Monthly invoicing only. Google's API cannot add a card or other payment method, so paymentsAccountId must be one of the manager's monthly invoicing (consolidated billing) payments accounts listed by GET /v1/ads/accounts/billing. A manager without monthly invoicing has none, and billing has to be added in Google Ads instead.

Creates a billing setup (Google's BillingSetupService) that starts now on that payments account, then an account budget proposal that starts now and never ends: unlimited by default, or capped at spendingLimit in the account currency. Google reviews the budget offline, usually within an hour; until then the setup reads APPROVED_HELD and ads do not serve. A customer whose current billing setup already has a budget is refused with 409, and so is one billed to another payments account: this call never replaces existing billing. A current setup on the same payments account without a budget (for example after a budget rejection) is reused, so resending the same request finishes it.

Not idempotent and never retried: after a 502 with details.creationStatus=unknown, read GET /v1/ads/accounts/billing before retrying. Google has no dry run for billing setups, so validateOnly: true checks the payments account and the existing billing without creating anything (and asks Google to validate the budget when a setup would be reused).

post/v1/ads/accounts/billing

Request

  • Base URL: https://zernio.com/api
  • URL: https://zernio.com/api/v1/ads/accounts/billing
  • Auth: HTTP bearer

Request body

accountIdstring required

Google ads SocialAccount id.

adAccountIdstring required

Google Ads customer id to bill, digits only.

paymentsAccountIdstring required

Monthly invoicing payments account from GET /v1/ads/accounts/billing.

spendingLimitnumber

Account budget cap in the account currency. Omit for an unlimited budget.

budgetNamestring
purchaseOrderNumberstring

Printed on the invoice. No effect on delivery.

validateOnlyboolean

Response

validateOnly: checks passed, nothing created. billingSetupId is set when an existing setup would be reused.

customerIdstring
paymentsAccountIdstring
paymentsAccountNamestring nullable
billingSetupIdstring nullable
reusedBillingSetupboolean
accountBudgetProposalIdstring nullable

Always null for validateOnly.

validateOnlyboolean

Changes