- What are Shared Budgets?
- With the introduction of Shared Budgets are there now two types of Budget object in the API?
- Using the API, how can I differentiate between Individual Budgets and Shared Budgets?
- Can a Campaign be associated with multiple Budgets?
- When exactly does an Individual Budget become a Shared Budget?
- Can I share an Individual Budget across multiple campaigns?
- How do I assign an Existing Budget to a Campaign?
- Can existing v201206/v201109 CampaignService code be used unchanged with v201209?
- Can a Budget be created at the same time the Campaign that uses it is created?
- How do I delete a Shared or Individual Budget?
- How do I find out which Campaigns are using a given Budget?
- How do I remove Campaigns from a Shared Budget (say if I want to delete the Shared Budget)?
- How do I remove a Budget from a Campaign?
- What happens to a Budget when I delete the Campaign(s) that use it?
- Are there any restrictions on when Budgets can be shared?
- 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?
- 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?
- 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?
- 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?
- 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 the AdWords API v201209, you have the option to implicitly create an Individual Budget when creating 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.
Budget objects that have a
ReferenceCount > 1are Shared, but it cannot be assumed that aReferenceCount <= 1is not Shared. If you are keeping track of Campaign Budgets in a local datastore, it's recommended that you add a flag to indicate if the Budget is Shared or Individual.- 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 Shared as soon as you associate its ID with a second campaign.
In API releases beyond v201209, all new Budgets created via the AdWords API are Shared.
Yes, but this is not recommended. It’s much tidier to create a new Shared Budget and explicitly associate Campaigns with that Budget.
- How do I assign an Existing Shared Budget to a Campaign?
For a new Campaign, in the
CampaignService.mutateADD operation, send theBudgetIdin 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.mutateSET operation, sending the Campaign’s ID and theBudgetId(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 theBudgetId.- Can existing v201206/v201109 CampaignService code be used unchanged with v201209?
In v201209, for the most part you can continue to use your CampaignService code unchanged, details for get and mutate requests are listed below.
For API releases beyond v201209 you will need to update your CampaignService code regardless of whether you actually want to share Campaign Budgets. Therefore it is highly recommended that you start to think about making those changes as soon as possible.
For
CampaignService.getoperations it will depend on which Fields that you request. v201209 introduced validation for all Fields supplied in Selectors and Predicates. In v201206 and earlier releases, certain Fields that had previously been sunset would fail silently. In v201209 sending these Fields will cause INVALID_FIELD_NAME errors.For
CampaignService.mutateADD and SET operations, there is no requirement to update your CampaignService code at this time.In API releases beyond v201209,
CampaignService.mutateADD operations require that you provide the Id of an existing Budget Object in place of the Budget Object that you would have used in releases prior to v201209.- Can a Budget be created at the same time the Campaign that uses it is created?
Yes, but this will no longer be possible in API releases beyond v201209.
In v201209 you can still send the Budget in a mutate ADD/SET operation on the CampaignService. This will create an Individual Budget for the Campaign.
Note: This option was added back to v201209 in order to allow you to deal with the migration to v201209 separately from the move to Shared Budgets. You will have to move to Shared Budgets in releases beyond v201209.
- How do I delete a Shared or Individual Budget?
An Individual Budget is automatically deleted when the Campaign it is associated with is deleted.
To delete 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.getoperation and BudgetReferenceCount field in aCampaignService.getoperation) is not equal to 0. Next send a BudgetService mutate REMOVE request with the Id of the Budget. This does not delete the Budget from AdWords—it just sets its status to DELETED.- How do I find out which Campaigns are using a given Budget?
Make a
CampaignService.getoperation requesting at minimum theIdfield along with a Predicate of the formBudgetId EQUALS <budget id>
where <budget id> is the ID of the Budget that you want to get the Campaigns for.
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 is not enough to ‘delete’ the Campaigns associated with a Shared Budget in order to be able to delete it, mostly because for Campaigns being
Deletedis just a status change and it’s possible to ‘undelete’ them. We are currently looking at possible options for better managing the deletion 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 delete the Campaign(s) that uses it?
If it's an Individual Budget then it will be deleted along with the Campaign. If it’s a Shared Budget, nothing changes, the deleted 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.
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 it to it’s own Budget (in v201209 you can continue to use Individual Budgets).
- 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 but that the Budget is actually a Shared Budget. You can only modify Individual Budgets via the CampaignService.
Use the BudgetService to modify the Budget.