Caution: You are viewing documentation for the API's REST interface. Most of our official client libraries use gRPC. See the REST Introduction for details.

REST Resource: customers.accountBudgets

Resource: AccountBudget

An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pendingProposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (e.g. spending limit), these differences are juxtaposed via 'proposed_', 'approved_', and possibly 'adjusted_' fields.

This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pendingProposal.

Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical.

JSON representation
{
  "resourceName": string,
  "status": enum (AccountBudgetStatus),
  "totalAdjustmentsMicros": string,
  "amountServedMicros": string,
  "pendingProposal": {
    object (PendingAccountBudgetProposal)
  },
  "id": string,
  "billingSetup": string,
  "name": string,
  "proposedStartDateTime": string,
  "approvedStartDateTime": string,
  "purchaseOrderNumber": string,
  "notes": string,

  // Union field proposed_end_time can be only one of the following:
  "proposedEndDateTime": string,
  "proposedEndTimeType": enum (TimeType)
  // End of list of possible types for union field proposed_end_time.

  // Union field approved_end_time can be only one of the following:
  "approvedEndDateTime": string,
  "approvedEndTimeType": enum (TimeType)
  // End of list of possible types for union field approved_end_time.

  // Union field proposed_spending_limit can be only one of the following:
  "proposedSpendingLimitMicros": string,
  "proposedSpendingLimitType": enum (SpendingLimitType)
  // End of list of possible types for union field proposed_spending_limit.

  // Union field approved_spending_limit can be only one of the following:
  "approvedSpendingLimitMicros": string,
  "approvedSpendingLimitType": enum (SpendingLimitType)
  // End of list of possible types for union field approved_spending_limit.

  // Union field adjusted_spending_limit can be only one of the following:
  "adjustedSpendingLimitMicros": string,
  "adjustedSpendingLimitType": enum (SpendingLimitType)
  // End of list of possible types for union field adjusted_spending_limit.
}
Fields
resourceName

string

Output only. The resource name of the account-level budget. AccountBudget resource names have the form:

customers/{customerId}/accountBudgets/{account_budget_id}

status

enum (AccountBudgetStatus)

Output only. The status of this account-level budget.

totalAdjustmentsMicros

string (int64 format)

Output only. The total adjustments amount.

An example of an adjustment is courtesy credits.

amountServedMicros

string (int64 format)

Output only. The value of Ads that have been served, in micros.

This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see totalAdjustmentsMicros).

pendingProposal

object (PendingAccountBudgetProposal)

Output only. The pending proposal to modify this budget, if applicable.

id

string (int64 format)

Output only. The ID of the account-level budget.

billingSetup

string

Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form:

customers/{customerId}/billingSetups/{billing_setup_id}

name

string

Output only. The name of the account-level budget.

proposedStartDateTime

string

Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request.

approvedStartDateTime

string

Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format.

For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval.

purchaseOrderNumber

string

Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.

notes

string

Output only. Notes associated with the budget.

Union field proposed_end_time. The proposed end time of the account-level budget. proposed_end_time can be only one of the following:
proposedEndDateTime

string

Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format.

proposedEndTimeType

enum (TimeType)

Output only. The proposed end time as a well-defined type, e.g. FOREVER.

Union field approved_end_time. The approved end time of the account-level budget.

For example, if a budget's end time is updated and the proposal is approved after the proposed end time, the approved end time is the time of approval. approved_end_time can be only one of the following:

approvedEndDateTime

string

Output only. The approved end time in yyyy-MM-dd HH:mm:ss format.

approvedEndTimeType

enum (TimeType)

Output only. The approved end time as a well-defined type, e.g. FOREVER.

Union field proposed_spending_limit. The proposed spending limit. proposed_spending_limit can be only one of the following:
proposedSpendingLimitMicros

string (int64 format)

Output only. The proposed spending limit in micros. One million is equivalent to one unit.

proposedSpendingLimitType

enum (SpendingLimitType)

Output only. The proposed spending limit as a well-defined type, e.g. INFINITE.

Union field approved_spending_limit. The approved spending limit.

For example, if the amount already spent by the account exceeds the proposed spending limit at the time the proposal is approved, the approved spending limit is set to the amount already spent. approved_spending_limit can be only one of the following:

approvedSpendingLimitMicros

string (int64 format)

Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit.

approvedSpendingLimitType

enum (SpendingLimitType)

Output only. The approved spending limit as a well-defined type, e.g. INFINITE. This will only be populated if the approved spending limit is INFINITE.

Union field adjusted_spending_limit. The spending limit after adjustments have been applied. Adjustments are stored in total_adjustments_micros.

This value has the final say on how much the account is allowed to spend. adjusted_spending_limit can be only one of the following:

adjustedSpendingLimitMicros

string (int64 format)

Output only. The adjusted spending limit in micros. One million is equivalent to one unit.

If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable.

The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323

For example, a debit adjustment reduces how much the account is allowed to spend.

adjustedSpendingLimitType

enum (SpendingLimitType)

Output only. The adjusted spending limit as a well-defined type, e.g. INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE.

AccountBudgetStatus

The possible statuses of an AccountBudget.

Enums
UNSPECIFIED Not specified.
UNKNOWN Used for return value only. Represents value unknown in this version.
PENDING The account budget is pending approval.
APPROVED The account budget has been approved.
CANCELLED The account budget has been cancelled by the user.

PendingAccountBudgetProposal

A pending proposal associated with the enclosing account-level budget, if applicable.

JSON representation
{
  "proposalType": enum (AccountBudgetProposalType),
  "accountBudgetProposal": string,
  "name": string,
  "startDateTime": string,
  "purchaseOrderNumber": string,
  "notes": string,
  "creationDateTime": string,

  // Union field end_time can be only one of the following:
  "endDateTime": string,
  "endTimeType": enum (TimeType)
  // End of list of possible types for union field end_time.

  // Union field spending_limit can be only one of the following:
  "spendingLimitMicros": string,
  "spendingLimitType": enum (SpendingLimitType)
  // End of list of possible types for union field spending_limit.
}
Fields
proposalType

enum (AccountBudgetProposalType)

Output only. The type of this proposal, e.g. END to end the budget associated with this proposal.

accountBudgetProposal

string

Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form:

customers/{customerId}/accountBudgetProposals/{account_budget_proposal_id}

name

string

Output only. The name to assign to the account-level budget.

startDateTime

string

Output only. The start time in yyyy-MM-dd HH:mm:ss format.

purchaseOrderNumber

string

Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.

notes

string

Output only. Notes associated with this budget.

creationDateTime

string

Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss.

Union field end_time. The end time of the account-level budget. end_time can be only one of the following:
endDateTime

string

Output only. The end time in yyyy-MM-dd HH:mm:ss format.

endTimeType

enum (TimeType)

Output only. The end time as a well-defined type, e.g. FOREVER.

Union field spending_limit. The spending limit. spending_limit can be only one of the following:
spendingLimitMicros

string (int64 format)

Output only. The spending limit in micros. One million is equivalent to one unit.

spendingLimitType

enum (SpendingLimitType)

Output only. The spending limit as a well-defined type, e.g. INFINITE.

Methods

get

Returns an account-level budget in full detail.