new bidding and budgeting
TRANSCRIPT
Google Confidential and Proprietary
New Bidding and Budgeting in theAdwords API
Tell us about the money....
Google Confidential and Proprietary
New Bidding and Budgeting
Google Confidential and Proprietary
Topics
Shared Budgets:
History
Objective
Interface
Migration from v201206
Examples
Bidding:
Objectives
New Bidding System
Interface
Migration from v201209
Examples
Summary
Resources
Google Confidential and Proprietary
The New Bidding System
Objectives:
Provide a flexible framework for:
● Creating new bidding strategies for Campaigns
● Allowing transitions between strategies
● Report on strategy performance and optimize them
The goal is to do all of this while simplifying the existing workflows.
Google Confidential and Proprietary
The New Bidding System
Overview:
● Select your Strategy for how you want to bid○ by clicks, conversions, views, etc○ using an Optimizer?○ using Enhanced Bidding?
● Select the Type or Scheme○ Type is just a simple enum of available options○ Scheme lets you configure more detail
● Apply your choices to your Campaign hierarchy
Google Confidential and Proprietary
The New Bidding System
Bidding Strategies Bidding Schemes Bidding Type
Manual CPC ManualCpcBiddingScheme MANUAL_CPC
eCPC ManualCpcBiddingScheme with .enhancedCpcEnabled set to true.
Budget Optimizer BudgetOptimizerBiddingScheme BUDGET_OPTIMIZER
Budget Optimizer with eCPC
BudgetOptimizerBiddingSchemewith .enhancedCpcEnabled set to true.
Manual CPM ManualCpmBiddingScheme MANUAL_CPM
Conversion Optimizer (Target/Max CPA)
ConversionOptimizerBiddingScheme CONVERSION_OPTIMIZER
Percent CPA PercentCpaBiddingScheme PERCENT_CPA
Google Confidential and Proprietary
The New Bidding System
Bids:● PercentCpaBid
● CpaBid
● CpcBid
● CpmBid
Bid Adjustments/Modifiers:
These Bids are then acted upon by the various Bid Adjustments coming from the Enhanced Campaigns work and a future API update. Adjustments as +/-% in the UI are bidModifiers as multipliers in the API.
Google Confidential and Proprietary
The New Bidding System
Interfaces:
● Campaign / AdGroup / AdGroupCriterion○ Now contain a BiddingStrategyConfiguration attribute
● Their Services have also changed to take advantage of them
● Bidding Strategy Transitions○ Moving from one Bidding Strategy to another is now much simpler -
just change the Configuration.
Google Confidential and Proprietary
The New Bidding System
Interfaces:
● Specify a biddingScheme and/or a biddingType in the BiddingStrategyConfiguration
● biddingScheme is most useful when scheme-specific settings need to be provided (e.g. enabling Enhanced)
● biddingType is just an enum, so provides simpler control
● If you set both, they need to match, so the API can understand your intentions.
Google Confidential and Proprietary
The New Bidding System
For Display Only Campaigns, the Content Bid Dimension can have the following Types:
● KEYWORD for targeting keywords● USER_INTEREST_AND_LIST for targeting lists of users ● VERTICAL for targeting similar categories of placements● GENDER for targeting gender.● AGE_RANGE for targeting age ranges.● PLACEMENT for targeting placements.
And rather than the correct Dimension being selected for you, you will get to set which one takes priority in each AdGroup via the contentBidCriterionTypeGroup attribute.
Google Confidential and Proprietary
The New Bidding System
Migration from v201209:
● For the Content Network, specify the dimension that should be used for bids in the contentBidCriterionTypeGroup field.
● Ads on the Search Network will always use keyword bids.
● The implicit ordering used before to select which bid to use for an AdGroupCriterion has been replaced with explicit bid selection○ contentBidCriterionTypeGroup○ BiddingStrategyConfiguration
Google Confidential and Proprietary
The New Bidding System
Migration from v201209:
● Automatic migration of bid ordering will use the old prioritization, so should have minimal effect. After this you will have to set the Bid Dimension manually, however.
● Reports have been altered to cover these changes, and so you need to alter your code to allow for them, too○ See the Reporting talk
Google Confidential and Proprietary
The New Bidding System
Examples: Setting Bids
// Create ad group bid.BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration();
CpmBid bid = new CpmBid();bid.setBid(new Money(null, 10000000L));
biddingStrategyConfiguration.setBids(new Bids[] {bid});adGroup.setBiddingStrategyConfiguration(
biddingStrategyConfiguration);
// Create operation, as usual...
Google Confidential and Proprietary
The New Bidding System
Examples: Bidding Strategy Transitions
// Create a new local Campaign object.Campaign campaign = new Campaign();campaign.setId(campaignId);
// Create a new biddingStrategyConfiguration.BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration();
// You can specify either type or scheme, or both.biddingStrategyConfiguration.setBiddingScheme( new ManualCpcBiddingScheme());campaign.setBiddingStrategyConfiguration(
biddingStrategyConfiguration);
// Do the usual Operation set and mutate steps...
Google Confidential and Proprietary
Shared Budgets
Google Confidential and Proprietary
Shared Budgets
History:
Budgets pre-v201209 were each linked to a specific Campaign, and managed through the CampaignService.
AdWords allowed one separate Budget per Campaign, but that wasn't necessarily how advertisers wanted to manage their spend.
Google Confidential and Proprietary
Shared Budgets
Objective:
Advertisers wanted Campaigns to reference a Budget that can be theirs alone, or shared among a number of other Campaigns in the same Account.
This makes it easier to match your AdWords spending with how your business allocates marketing budget.
Google Confidential and Proprietary
Shared Budgets
Interface:
● Budget○ Has a name and ID○ Holds a list and count of Campaigns attached to it○ Can't be Deleted while Campaigns still reference it
● BudgetService○ GET and MUTATE Budgets
● Campaign○ Now has a Budget field to reference its Budget
Google Confidential and Proprietary
Shared Budgets
Migration from v201206:
● You have to start using the BudgetService to manage Budgets○ even if the Budget won't be shared
● Create the Budget before you create a new Campaign○ use the returned Budget in the Mutate call to the CampaignService
● Remember to include BudgetId and BudgetName in Selectors
● Don't include Fields in Selectors or Predicates that don't exist○ these will now fail with INVALID_FIELD_NAME errors
● Shared Budgets are not compatible with Experiments○ unless the Budget is only used by one Campaign
Google Confidential and Proprietary
Shared Budgets
Examples - Budget Creation:
// Get the BudgetService.BudgetServiceInterface budgetService = adWordsServices.get(session,BudgetServiceInterface.class);
// Create a shared budget Budget sharedBudget = new Budget();sharedBudget.setName("My Budget");Money budgetAmount = new Money();budgetAmount.setMicroAmount(50000000L);sharedBudget.setAmount(budgetAmount);sharedBudget.setDeliveryMethod(
BudgetBudgetDeliveryMethod.STANDARD);sharedBudget.setPeriod(BudgetBudgetPeriod.DAILY);
Google Confidential and Proprietary
Shared Budgets
Examples - Add the Budget:
BudgetOperation budgetOperation = new BudgetOperation();budgetOperation.setOperand(sharedBudget);budgetOperation.setOperator(Operator.ADD);
// Add the Budget and keep its IdLong budgetId = budgetService.mutate( new BudgetOperation[]{budgetOperation}) .getValue(0) .getBudgetId();
// Get the CampaignService.CampaignServiceInterface campaignService =
adWordsServices.get(session, CampaignServiceInterface.class);
Google Confidential and Proprietary
Shared Budgets
Examples - Campaign Creation:
// Create campaign.Campaign campaign = new Campaign();campaign.setName("My Campaign");campaign.setStatus(CampaignStatus.PAUSED);campaign.setAdServingOptimizationStatus(
AdServingOptimizationStatus.ROTATE);campaign.setFrequencyCap( new FrequencyCap(5L, TimeUnit.DAY, Level.ADGROUP));
Budget budget = new Budget();budget.setBudgetId(budgetId);campaign.setBudget(budget);
// Create operations and call mutate() to add as usual...
Google Confidential and Proprietary
Summary
● Enhanced Campaigns meet Enhanced Bidding
● Bidding Management has started down the road to a more
powerful future, with more to come
● Bidding Transitions are easier now
● New Services help you to get better results
● Budgets can now be shared between Campaigns
Google Confidential and Proprietary
Resources
● Release notes○ https://developers.google.com/adwords/api/docs/reference/
● Migration Guide (v201302)○ https://developers.google.com/adwords/api/docs/guides/migration-v201302
● Bidding (v201302)○ https://developers.google.com/adwords/api/docs/guides/bidding
● Enhanced Campaigns○ https://developers.google.com/adwords/api/docs/guides/enhanced-campaigns
● Shared Budgets○ https://developers.google.com/adwords/api/docs/guides/shared-budgets
Q&A