Bid Estimation with the AdWords API (v2)

2,253 views
2,083 views

Published on

Published in: Technology, News & Politics
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,253
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
53
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Bid Estimation with the AdWords API (v2)

  1. 1. Google Inc. - All Rights Reserved
  2. 2. Bid Estimation with the API Maintaining highly performing AdWords ads Joel Toby, Google, Inc.
  3. 3. Agenda ● Bid Estimation Objectives ● Achieving These Objectives ● Services Available Via the API ● Utilizing Estimates for a New Campaign ● Optimizing Existing Campaigns
  4. 4. Google Inc. - All Rights Reserved Bid Estimation Objectives
  5. 5. Google Inc. - All Rights Reserved 1. Create relevant ad campaigns that drive high volumes of quality traffic 2. Maximise ROI by minimizing CPC 3. Maintain and constantly improve these campaigns 4. Achieve all of the above efficiently and scalably Bid Estimation Objectives
  6. 6. Google Inc. - All Rights Reserved Achieving these objectives
  7. 7. Google Inc. - All Rights Reserved 1. Relevant campaigns, high traffic volumes 2. Maximise ROI by minimizing CPC 3. Maintain and improve campaigns 4. Efficiently and scalably The Importance of Quality Score Directly affected by Quality Score
  8. 8. Google Inc. - All Rights Reserved What does Quality Score influence? Eligibility Determines whether an ad is eligible to enter the auction for that query Position Determines relative position of an ad in relation to other ads on that result page Price A better Quality Score reduces the price you need to bid to maintain a given position Top Slot Only high quality ads are eligible to appear above the natural search results
  9. 9. Google Inc. - All Rights Reserved What contributes to Quality Score? Quality Score range: 1 - 10 Quality Score Clickthrough rate * Relevance Landing Page * Clickthrough rate (CTR) is the most important factor
  10. 10. Google Inc. - All Rights Reserved ● Some of the useful data exposed by the API ○ Keyword Ideas ○ Keyword historic stats data ○ Traffic estimate data ○ Cost and clickthrough rate estimates ○ Keyword search volume estimates The Available Data
  11. 11. Google Inc. - All Rights Reserved API Estimation Data Services
  12. 12. Google Inc. - All Rights Reserved ● TargetingIdeaService (TIS) ○ Generate new keyword ideas based on parameters ○ Retrieve historic statistics for existing keywords based on parameters ● TrafficEstimatorService (TES) ○ Retrieve traffic estimates for proposed or existing campaigns, ad groups, and keywords ● Report data ○ Often combined with estimates data when optimizing campaigns Targeting Idea and Traffic Estimator Service
  13. 13. Google Inc. - All Rights Reserved TargetingIdeaService Requests TargetingIdeaSelector - Key components SearchParameters[] RelatedToQuerySearchParameter LocationSearchParameter RelatedToUrlSearchParameter ExcludedKeywordSearchParamete r RequestedAttributeTypes SEARCH_VOLUME AVERAGE_CPC COMPETITION KEYWORD_TEXT RequestType IDEAS STATS IdeaType CurrencyCode
  14. 14. Google Inc. - All Rights Reserved TrafficEstimatorService Requests TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests
  15. 15. Google Inc. - All Rights Reserved CampaignEstimateRequest TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests campaignId dailyBudget criteria networkSetting
  16. 16. Google Inc. - All Rights Reserved AdGroupEstimateRequest TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests adGroupId maxCpc
  17. 17. Google Inc. - All Rights Reserved KeywordEstimateRequest TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests isNegative maxCpc
  18. 18. Google Inc. - All Rights Reserved Building a new campaign An real-world example
  19. 19. Google Inc. - All Rights Reserved Example: A New Campaign ● The business ○ A bakery ○ Based in New York ○ Has a website ● Use the TargetingIdeaService to ○ Get some good keyword ideas ○ Evaluate some existing keyword ideas ● Use the TrafficEstimateService to ○ Plug keywords into a complete campaign and estimate traffic volumes and cost
  20. 20. HTML Google Inc. - All Rights Reserved // Building the request, first the Selector TargetingIdeaSelector selector = new TargetingIdeaSelector(); selector.setRequestType(RequestType.IDEAS); selector.setIdeaType(IdeaType.KEYWORD); selector.setRequestedAttributeTypes(new AttributeType[] { AttributeType.KEYWORD_TEXT, AttributeType.SEARCH_VOLUME, AttributeType.AVERAGE_CPC, AttributeType.COMPETITION }); JAVA TargetingIdeaService: Get Keyword Ideas
  21. 21. HTML Google Inc. - All Rights Reserved // Paging is required for the targeting idea service. Paging paging = new Paging(); paging.setStartIndex(0); paging.setNumberResults(15); selector.setPaging(paging); JAVA TargetingIdeaService: Get Keyword Ideas
  22. 22. HTML Google Inc. - All Rights Reserved // Get ideas related to query search parameter. RelatedToQuerySearchParameter relatedToQuerySearchParameter = new RelatedToQuerySearchParameter(); relatedToQuerySearchParameter.setQueries(new String[] {"bakery", "pastries", "birthday cake"}); JAVA TargetingIdeaService: Get Keyword Ideas
  23. 23. HTML Google Inc. - All Rights Reserved LocationSearchParameter locationParameter = new LocationSearchParameter(); Location newYork = new Location(); newYork.setId(1023191l); // code for New York * locationParameter.setLocations(new Location[] {newYork}); CategoryProductsAndServicesSearchParameter categoryParameter = new CategoryProductsAndServicesSearchParameter(); categoryParameter.setCategoryId(13693); // Cat ID for ‘Bakeries’* JAVA * See ‘Appendix A: Criteria Codes’ in API docs: https://developers.google.com/adwords/api/docs/appendix/productsservices TargetingIdeaService: Get Keyword Ideas
  24. 24. HTML Google Inc. - All Rights Reserved // Sending the Request RelatedToUrlSearchParameter urlParameter = new RelatedToUrlSearchParameter(); urlParameter.setUrls(new String[] {"http://newyorkbakery. com/"}); selector.setSearchParameters( new SearchParameter[] {relatedToQuerySearchParameter, locationParameter, categoryParameter}); // Get keywords ideas. TargetingIdeaPage page = targetingIdeaService.get(selector); JAVA TargetingIdeaService: Get Keyword Ideas
  25. 25. HTML Google Inc. - All Rights Reserved // Parsing the results // Parse keyword ideas data. if (page.getEntries() != null && page.getEntries().length > 0) { for (TargetingIdea targetingIdea : page.getEntries()) { Map<AttributeType, Attribute> data = Maps.toMap(targetingIdea.getData()); StringAttribute keyword = (StringAttribute) data.get(AttributeType. KEYWORD_TEXT); JAVA TargetingIdeaService: Get Keyword Ideas
  26. 26. HTML Google Inc. - All Rights Reserved JAVA long averageMonthlySearches = ((LongAttribute) data.get(AttributeType.SEARCH_VOLUME)) .getValue(); Money averageCpc = ((MoneyAttribute) data.get(AttributeType.AVERAGE_CPC)) .getValue(); double competition = ((DoubleAttribute) data.get(AttributeType.COMPETITION)) .getValue(); TargetingIdeaService: Get Keyword Ideas
  27. 27. Google Inc. - All Rights Reserved Keyword text Avg monthly search volume Average CPC Competition cake bakery 170 0.485384 0.41 bakery story 390 0.069918 0.12 specialty cakes 90 0.510527 0.8 local bakeries 40 0.187052 0.41 online bakery 70 0.652462 0.8 bakery names 70 0.074779 0.19 creative cakes 210 1.009925 0.15 french pastries 260 0.231775 0.16 bakery cakes 70 0.405006 0.51 TargetingIdeaService: Get Keyword Ideas
  28. 28. Google Inc. - All Rights Reserved TargetingIdeaService: Get stats for existing keywords Stats request differences ● RequestType = STATS ● Some SearchParameters are not compatible with STATS requests and cannot be used ● CategoryProductsAndServicesSearchParameter Stats results differences ● No new keyword ideas will be returned ● Result contains stats for the request keywords
  29. 29. Google Inc. - All Rights Reserved Keyword text Avg monthly search volume Average CPC Competition birthday cakes nyc 390 0.507404 0.65 TIS: Keyword Stats Results
  30. 30. Google Inc. - All Rights Reserved Traffic Estimates for a New Campaign ● The business ○ A bakery ○ Based in New York ○ Has a website ● Use the TargetingIdeaService to ○ Get some good keyword ideas ○ Evaluate some existing keyword ideas ● Use the TrafficEstimatorService to ○ Plug keywords into a complete campaign and estimate traffic volumes and cost
  31. 31. HTML Google Inc. - All Rights Reserved JAVA// Create an Keyword estimate request. List<KeywordEstimateRequest> keywordEstimateRequests = new ArrayList<KeywordEstimateRequest>(); for(String keywordText : candidateKeywords) { Keyword keyword = new Keyword(null, null, null, keywordText, KeywordMatchType.BROAD); KeywordEstimateRequest keywordEstimateRequest = new KeywordEstimateRequest(); keywordEstimateRequest.setKeyword(keyword); keywordEstimateRequests.add(keywordEstimateRequest); } TrafficEstimatorService
  32. 32. HTML Google Inc. - All Rights Reserved JAVA // Create an AdGroup estimate request. List<AdGroupEstimateRequest> adGroupEstimateRequests = new ArrayList<AdGroupEstimateRequest>(); AdGroupEstimateRequest adGroupEstimateRequest = new AdGroupEstimateRequest(); adGroupEstimateRequest.setKeywordEstimateRequests( keywordEstimateRequests.toArray( new KeywordEstimateRequest[] {})); adGroupEstimateRequest.setMaxCpc(new Money(null, 600000L)); adGroupEstimateRequests.add(adGroupEstimateRequest); TrafficEstimatorService
  33. 33. HTML Google Inc. - All Rights Reserved JAVA // Create a campaign estimate request. List<CampaignEstimateRequest> campaignEstimateRequests = new ArrayList<CampaignEstimateRequest>(); CampaignEstimateRequest campaignEstimateRequest = new CampaignEstimateRequest(); campaignEstimateRequest.setAdGroupEstimateRequests( adGroupEstimateRequests .toArray(new AdGroupEstimateRequest[] {})); TrafficEstimatorService
  34. 34. HTML Google Inc. - All Rights Reserved JAVA // Build the CampaignEstimateRequests Location newYork = new Location(); newYork.setId(1023191l); Language english = new Language(); english.setId(1000L); campaignEstimateRequest.setCriteria(new Criterion[] {newYork, english}); campaignEstimateRequests.add(campaignEstimateRequest); TrafficEstimatorService
  35. 35. HTML Google Inc. - All Rights Reserved JAVA // Create Selector. TrafficEstimatorSelector selector = new TrafficEstimatorSelector(); selector.setCampaignEstimateRequests( campaignEstimateRequests.toArray( new CampaignEstimateRequest[] {})); // Get traffic estimates. TrafficEstimatorResult result = trafficEstimatorService.get(selector); TrafficEstimatorService
  36. 36. Google Inc. - All Rights Reserved TrafficEstimatorResult ● TrafficEstimatorResult is a nest of objects that reflects the request ● StatsEstimates are contained only within the KeywordEstimates returned. ● Each KeywordEstimate contains two StatsEstimates: upper and lower bound estimates
  37. 37. Google Inc. - All Rights Reserved The StatsEstimate object StatsEstimate averageCpc averagePosition clicksPerDay impressionsPerDay clickThroughRate totalCost
  38. 38. Google Inc. - All Rights Reserved Campaign Optimization
  39. 39. Google Inc. - All Rights Reserved Optimizing the new campaign ● Once campaigns have been serving for a while, they should be optimized. ● Reports provide ‘actual’ performance data including data not available in estimates ○ QualityScore ○ Conversions KeywordPerfReport SearchQueryReport CriteriaPerfReport
  40. 40. Google Inc. - All Rights Reserved A simple, effective way to optimize ● Use report data to remove low QualityScore keywords ● This will improve the performance of your campaigns Click volume increase of 26% with a 62% improvement in CTR 290 real accounts were recently optimized in this way with great results:
  41. 41. Google Inc. - All Rights Reserved You might then use the TES and TIS to replace keywords with new ones Back To Estimates... Estimate Data Report Data Remove Keywords New Keywords
  42. 42. Google Inc - All Rights Reserved Resources Guides Using Keyword Planner to get keyword ideas and traffic estimates - https://support.google.com/adwords/answer/2999770?rd=1 Understanding your Keyword Planner statistics and traffic estimates - https://support.google.com/adwords/answer/3022575
  43. 43. Google Inc. - All Rights Reserved Questions?
  44. 44. Google Inc. - All Rights Reserved

×