SlideShare a Scribd company logo
1 of 44
Download to read offline
Google Inc. - All Rights Reserved
Bid Estimation with the API
Maintaining highly performing AdWords ads
Joel Toby, Google, Inc.
Agenda
● Bid Estimation Objectives
● Achieving These Objectives
● Services Available Via the API
● Utilizing Estimates for a New Campaign
● Optimizing Existing Campaigns
Google Inc. - All Rights Reserved
Bid Estimation Objectives
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
Google Inc. - All Rights Reserved
Achieving these objectives
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
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
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
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
Google Inc. - All Rights Reserved
API Estimation Data Services
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
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
Google Inc. - All Rights Reserved
TrafficEstimatorService Requests
TrafficEstimatorSelector
campaignEstimateRequests
adGroupEstimateRequests
keywordEstimateRequests
Google Inc. - All Rights Reserved
CampaignEstimateRequest
TrafficEstimatorSelector
campaignEstimateRequests
adGroupEstimateRequests
keywordEstimateRequests
campaignId
dailyBudget
criteria
networkSetting
Google Inc. - All Rights Reserved
AdGroupEstimateRequest
TrafficEstimatorSelector
campaignEstimateRequests
adGroupEstimateRequests
keywordEstimateRequests
adGroupId
maxCpc
Google Inc. - All Rights Reserved
KeywordEstimateRequest
TrafficEstimatorSelector
campaignEstimateRequests
adGroupEstimateRequests
keywordEstimateRequests
isNegative
maxCpc
Google Inc. - All Rights Reserved
Building a new campaign
An real-world example
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Google Inc. - All Rights Reserved
The StatsEstimate object
StatsEstimate
averageCpc
averagePosition
clicksPerDay
impressionsPerDay
clickThroughRate
totalCost
Google Inc. - All Rights Reserved
Campaign Optimization
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
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:
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
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
Google Inc. - All Rights Reserved
Questions?
Google Inc. - All Rights Reserved

More Related Content

Similar to Bid Estimation with the AdWords API (v2)

Adwords Implementation
Adwords ImplementationAdwords Implementation
Adwords Implementationtgr3gory
 
Reporting tips & tricks
Reporting tips & tricks  Reporting tips & tricks
Reporting tips & tricks marcwan
 
Real Estate Lead Generation (Google Ads) Case Study
Real Estate Lead Generation (Google Ads) Case StudyReal Estate Lead Generation (Google Ads) Case Study
Real Estate Lead Generation (Google Ads) Case StudySachin Selvaraj
 
Innovations of Digital Marketing in Engineering & Technology
Innovations of Digital Marketing in Engineering & TechnologyInnovations of Digital Marketing in Engineering & Technology
Innovations of Digital Marketing in Engineering & Technologyiicecollege
 
Reporting tips & tricks
Reporting tips & tricksReporting tips & tricks
Reporting tips & tricksmarcwan
 
Novo K PPC Proposal
Novo K  PPC ProposalNovo K  PPC Proposal
Novo K PPC ProposalPush Monster
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analyticsmarcwan
 
The Building Blocks of Paid Search - WooCommerce Developers Conference
The Building Blocks of Paid Search - WooCommerce Developers ConferenceThe Building Blocks of Paid Search - WooCommerce Developers Conference
The Building Blocks of Paid Search - WooCommerce Developers ConferenceElizabeth Marsten
 
Effective Reporting
Effective ReportingEffective Reporting
Effective Reportingsupergigas
 
PPC Service Proposal PowerPoint Presentation Slides
PPC Service Proposal PowerPoint Presentation SlidesPPC Service Proposal PowerPoint Presentation Slides
PPC Service Proposal PowerPoint Presentation SlidesSlideTeam
 
LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)
LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)
LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)Localogy
 
SEO Reporting and Analytics - Tea-Time SEO Series of Daily SEO Talks from SE...
SEO Reporting and Analytics  - Tea-Time SEO Series of Daily SEO Talks from SE...SEO Reporting and Analytics  - Tea-Time SEO Series of Daily SEO Talks from SE...
SEO Reporting and Analytics - Tea-Time SEO Series of Daily SEO Talks from SE...Authoritas
 
Sem Presentation
Sem PresentationSem Presentation
Sem Presentationguest0a273a
 
Alpha Consulting Proposal
Alpha Consulting ProposalAlpha Consulting Proposal
Alpha Consulting ProposalPush Monster
 
Lewis ginter presentation
Lewis ginter presentationLewis ginter presentation
Lewis ginter presentationMike Kaplan
 
Essential Tools For Digital Marketing
Essential Tools For Digital MarketingEssential Tools For Digital Marketing
Essential Tools For Digital MarketingFriday Explorer
 
Baidu sem introduction in english
Baidu sem introduction in englishBaidu sem introduction in english
Baidu sem introduction in englishvictorialj
 

Similar to Bid Estimation with the AdWords API (v2) (20)

Adwords Implementation
Adwords ImplementationAdwords Implementation
Adwords Implementation
 
Reporting tips & tricks
Reporting tips & tricks  Reporting tips & tricks
Reporting tips & tricks
 
Google Keyword Planner Tool
Google Keyword Planner ToolGoogle Keyword Planner Tool
Google Keyword Planner Tool
 
Real Estate Lead Generation (Google Ads) Case Study
Real Estate Lead Generation (Google Ads) Case StudyReal Estate Lead Generation (Google Ads) Case Study
Real Estate Lead Generation (Google Ads) Case Study
 
Dat credentials 04 11-2016
Dat credentials 04 11-2016Dat credentials 04 11-2016
Dat credentials 04 11-2016
 
Innovations of Digital Marketing in Engineering & Technology
Innovations of Digital Marketing in Engineering & TechnologyInnovations of Digital Marketing in Engineering & Technology
Innovations of Digital Marketing in Engineering & Technology
 
Reporting tips & tricks
Reporting tips & tricksReporting tips & tricks
Reporting tips & tricks
 
Novo K PPC Proposal
Novo K  PPC ProposalNovo K  PPC Proposal
Novo K PPC Proposal
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analytics
 
The Building Blocks of Paid Search - WooCommerce Developers Conference
The Building Blocks of Paid Search - WooCommerce Developers ConferenceThe Building Blocks of Paid Search - WooCommerce Developers Conference
The Building Blocks of Paid Search - WooCommerce Developers Conference
 
Effective Reporting
Effective ReportingEffective Reporting
Effective Reporting
 
PPC Service Proposal PowerPoint Presentation Slides
PPC Service Proposal PowerPoint Presentation SlidesPPC Service Proposal PowerPoint Presentation Slides
PPC Service Proposal PowerPoint Presentation Slides
 
LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)
LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)
LSA Bootcamp Charlotte: Beyond SEO - Paid Search Best Practices (Google)
 
SEO Reporting and Analytics - Tea-Time SEO Series of Daily SEO Talks from SE...
SEO Reporting and Analytics  - Tea-Time SEO Series of Daily SEO Talks from SE...SEO Reporting and Analytics  - Tea-Time SEO Series of Daily SEO Talks from SE...
SEO Reporting and Analytics - Tea-Time SEO Series of Daily SEO Talks from SE...
 
Sem Presentation
Sem PresentationSem Presentation
Sem Presentation
 
Alpha Consulting Proposal
Alpha Consulting ProposalAlpha Consulting Proposal
Alpha Consulting Proposal
 
Lewis ginter presentation
Lewis ginter presentationLewis ginter presentation
Lewis ginter presentation
 
iSpionage
iSpionageiSpionage
iSpionage
 
Essential Tools For Digital Marketing
Essential Tools For Digital MarketingEssential Tools For Digital Marketing
Essential Tools For Digital Marketing
 
Baidu sem introduction in english
Baidu sem introduction in englishBaidu sem introduction in english
Baidu sem introduction in english
 

More from marcwan

07. feeds update
07. feeds update07. feeds update
07. feeds updatemarcwan
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced marcwan
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Updatemarcwan
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords APImarcwan
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402marcwan
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Optionsmarcwan
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)marcwan
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)marcwan
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)marcwan
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)marcwan
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)marcwan
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)marcwan
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)marcwan
 
Mobile landing pages (Spanish)
Mobile landing pages (Spanish)Mobile landing pages (Spanish)
Mobile landing pages (Spanish)marcwan
 
Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performancemarcwan
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refreshermarcwan
 
Mobile landing pages
Mobile landing pagesMobile landing pages
Mobile landing pagesmarcwan
 
End to-end how to build a platform
End to-end how to build a platformEnd to-end how to build a platform
End to-end how to build a platformmarcwan
 
AwReporting Tool
AwReporting ToolAwReporting Tool
AwReporting Toolmarcwan
 
Api update rundown
Api update rundownApi update rundown
Api update rundownmarcwan
 

More from marcwan (20)

07. feeds update
07. feeds update07. feeds update
07. feeds update
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Update
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords API
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Options
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)
 
Mobile landing pages (Spanish)
Mobile landing pages (Spanish)Mobile landing pages (Spanish)
Mobile landing pages (Spanish)
 
Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performance
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refresher
 
Mobile landing pages
Mobile landing pagesMobile landing pages
Mobile landing pages
 
End to-end how to build a platform
End to-end how to build a platformEnd to-end how to build a platform
End to-end how to build a platform
 
AwReporting Tool
AwReporting ToolAwReporting Tool
AwReporting Tool
 
Api update rundown
Api update rundownApi update rundown
Api update rundown
 

Recently uploaded

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Bid Estimation with the AdWords API (v2)

  • 1. Google Inc. - All Rights Reserved
  • 2. Bid Estimation with the API Maintaining highly performing AdWords ads Joel Toby, Google, Inc.
  • 3. Agenda ● Bid Estimation Objectives ● Achieving These Objectives ● Services Available Via the API ● Utilizing Estimates for a New Campaign ● Optimizing Existing Campaigns
  • 4. Google Inc. - All Rights Reserved Bid Estimation Objectives
  • 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. Google Inc. - All Rights Reserved Achieving these objectives
  • 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. 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. 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. 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. Google Inc. - All Rights Reserved API Estimation Data Services
  • 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. 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. Google Inc. - All Rights Reserved TrafficEstimatorService Requests TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests
  • 15. Google Inc. - All Rights Reserved CampaignEstimateRequest TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests campaignId dailyBudget criteria networkSetting
  • 16. Google Inc. - All Rights Reserved AdGroupEstimateRequest TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests adGroupId maxCpc
  • 17. Google Inc. - All Rights Reserved KeywordEstimateRequest TrafficEstimatorSelector campaignEstimateRequests adGroupEstimateRequests keywordEstimateRequests isNegative maxCpc
  • 18. Google Inc. - All Rights Reserved Building a new campaign An real-world example
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Google Inc. - All Rights Reserved The StatsEstimate object StatsEstimate averageCpc averagePosition clicksPerDay impressionsPerDay clickThroughRate totalCost
  • 38. Google Inc. - All Rights Reserved Campaign Optimization
  • 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. 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. 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. 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. Google Inc. - All Rights Reserved Questions?
  • 44. Google Inc. - All Rights Reserved