AdWords API

Shared Budgets

What are Shared Budgets?

Prior to the introduction of Shared Budgets, each Campaign that you created would have an Individual Budget, one that was permanently assigned to the Campaign. You could change the Amount and the Delivery Method for the Budget but the Budget Object that it was associated with would always be the same.

Existing Campaigns, i.e. those created before the introduction of Shared Budgets will initially have Individual Budgets. When creating new Campaigns using the AdWords UI or AdWords API, you have the option to create an Individual Budget for the Campaign or to assign it to a Shared Budget.

A Shared Budget does not have to be associated with more than one Campaign in order to be considered shared. Think of them more as ‘Shareable Budgets’.

With the introduction of Shared Budgets are there now two types of Budget object in the API?

No, Individual Budgets and Shared Budgets use the same type of Budget object.

Using the API, how can I differentiate between Individual Budgets and Shared Budgets?

For the most part you should work on the basis that as far as the API is concerned, Individual Budgets and Shared Budgets are identical. You only need to be aware of the differences as you may want to manage/create/view Shared Budgets using the AdWords UI. Individual Budgets do not appear in an Account’s Shared Library in the AdWords UI.

You can distinguish between Individual and Shared budgets by looking at their isExplicitlyShared values.

Can a Campaign be associated with multiple Budgets?

No. This includes any combination of Shared/Individual Budgets.

When exactly does an Individual Budget become a Shared Budget?

An Individual Budget becomes a Shared Budget when you set its isExplicitlyShared field to true.

Can I share an Individual Budget across multiple campaigns?

No. But you can update an existing Individual budget to be a Shared budget.

How do I assign an Existing Shared Budget to a Campaign?

For a new Campaign, in the CampaignService.mutate ADD operation, send the BudgetId in place of the Budget object you would send if you were creating the Campaign with an Individual Budget.

For an existing Campaign, use a CampaignService.mutate SET operation, sending the Campaign’s ID and the BudgetId (along with any other Campaign fields that you might want to set). Note that this will replace the existing Budget assigned to the Campaign with the one specified by the BudgetId.

Can a Budget be created at the same time the Campaign that uses it is created?

No. You need to create a budget with BudgetService first and use the resulting budget ID in a subsequent call to CampaignService

Note, in this scenario if the campaign operation fails, an orphaned budget (a budget associated with no campaign) will be created. It is recommended to either re-use or remove such budgets.

How do I remove a Shared or Individual Budget?

An Individual Budget is automatically removed when the Campaign it is associated with is removed.

To remove a Shared Budget, first ensure that no Campaigns are using the Budget. There are Campaigns still using the Budget if its ReferenceCount field (retrieved as the ReferenceCount field in a BudgetService.get operation and BudgetReferenceCount field in a CampaignService.get operation) is not equal to 0. Next send a BudgetService mutate REMOVE request with the Id of the Budget. This does not remove the Budget from AdWords—it just sets its status to REMOVED.

How do I find out which Campaigns are using a given Budget?

Make a CampaignService.get operation requesting at minimum the Id field along with a Predicate of the form

BudgetId EQUALS <budget id>

where <budget id> is the ID of the Budget that you want to get the Campaigns for.

How do I remove Campaigns from a Shared Budget (say if I want to remove the Shared Budget)?

Move any Campaigns that are using the Shared Budget to other Shared Budgets in the Account. To identify Campaigns that are using the Shared Budget see the FAQ "How do I find out which Campaigns are using a given Budget?".

Note: Currently it's not enough to "remove" the Campaigns associated with a Shared Budget in order to be able to remove it, mostly because REMOVED Campaigns only involve a status change, and it's possible to unremove them. We are currently looking at possible options for better managing the removal of Shared Budgets.

How do I remove a Budget from a Campaign?

With the exception of Campaigns that use CPA Bids, a Campaign must always be associated with a Budget, you can remove a Budget from a Campaign by replacing it with another Budget (i.e. changing the ID of the Budget associated with the Campaign).

What happens to a Budget when I remove the Campaign(s) that uses it?

If it's an Individual Budget then it will be removed along with the Campaign. If it’s a Shared Budget, nothing changes, the removed Campaigns will still be associated with the Shared Budget and its ReferenceCount will remain the same (equal to the number of Campaigns associated with it regardless of their status).

Are there any restrictions on when Budgets can be shared?

Yes, Campaigns that use the Budget Optimizer or that have Campaign Experiments enabled must exclusively have their own Budget.

When I try to share a Budget with multiple campaigns I see the error: CampaignError.BUDGET_CANNOT_BE_SHARED. Why is this and what can I do to resolve it?

This error message indicates that the Budget is associated with a Campaign that is using the Budget Optimizer for its BiddingStrategy. Campaigns that use the BudgetOptimizer must have their own Budget.

If you want the Campaign to use a Shared Budget then do not use the BudgetOptimizer. If you want to use the BudgetOptimizer, assign the campaign to its own Budget.

When I try to assign a Budget to a Campaign I see the error: CampaignError.CANNOT_SET_BUDGET. Why is this and what can I do to resolve it?

This error indicates that the Campaign is using CPA Bids as its bidding strategy and therefore cannot have a Budget.

When I try to assign a Budget to a Campaign I see the error: CampaignError.CAMPAIGN_CANNOT_USE_SHARED_BUDGET. Why is this and what can I do to resolve it?

This error indicates that the Campaign you are trying to add the Budget to is using either Campaign Experiments or is using the Budget Optimizer and that the Budget is already being use by another Campaign.

When I try to modify a Budget I see the error: BudgetError.CANNOT_EDIT_SHARED_BUDGET. Why is this and what can I do to resolve it?

This error indicates that you are trying to modify the Budget associated with a Campaign using the CampaignService; you can only modify Budgets via the BudgetService.

Use the BudgetService to modify the Budget.