SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
AdWords API Workshops – All rights reserved
AdWords API Features Update
What’s new, out of beta, and noteworthy

Marc Wandschneider, Google Inc.
<SPEAKER>, Google, Inc.
AdWords API Workshops – All rights reserved
Latest Release Highlights
● Some new features
○ Offline conversions import & tracking
○ New reporting types and fields
○ Shared budget changes

AdWords API Workshops – All rights reserved
Latest Release Highlights (cont’d)
● Other noteworthy changes:
○ Names mandatory on Campaigns and AdGroups
○ Can no longer toggle search network for NetworkSetting
○ Stats objects are no longer available via services

AdWords API Workshops – All rights reserved
Latest Release Highlights (cont’d)
● Five features graduated from beta
○ Display criteria bid modifiers
○ Dynamic Search Ads
○ AdGroup level feeds (site links)
○ Flexible bidding strategies
○ Location bid modifiers

AdWords API Workshops – All rights reserved
New Features

AdWords API Workshops – All rights reserved
Offline Conversion Import
● Allows you to register conversions by hand
● Might have been manual conversion
● Maybe your conversion tracker works differently

● Can register conversions up to 90 days after the click
● Exact value is configurable

● Conversions can be used for
● Flexible bidding
● Conversion reporting (aka search funnels)

AdWords API Workshops – All rights reserved
Offline Conversion Import (cont’d)
● Basic procedure
a. Register to receive GCLID with auto-tagging
b. Store incoming click ID as lead in your database
c. When conversion occurs, mark as converted in DB
d. Periodically run code to upload these conversions to API

AdWords API Workshops – All rights reserved
Offline Conversion Import (cont’d)
● To Upload a conversion, two steps:
a. Create Import conversion type
■ via UI or ConversionTrackerService

b. Report (upload) the conversion

AdWords API Workshops – All rights reserved
Create Import Conversion Type (Code)
UploadConversion uc = new UploadConversion();
uc.setCategory(ConversionTrackerCategory.SIGNUP);
uc.setName("Freemium signup");
uc.setViewthroughLookbackWindow(30);
uc.setCtcLookbackWindow(90);

ConversionTrackerService.mutate(ADD, uc);
// NOTE: wait 6 hours after creating before uploading.
AdWords API Workshops – All rights reserved
Report Offline Conversion
OfflineConversionFeed feed = new OfflineConversionFeed();
feed.setConversionName("Freemium signup");
feed.setConversionTime(conversionTime);
feed.setGoogleClickId(gClid);
feed.setConversionValue(3.50);

// optional, > 0

OfflineConversionFeedService.mutate(ADD, feed);
// conversion can take up to 3 hours to be processed fully
AdWords API Workshops – All rights reserved
Other Noteworthy Changes

AdWords API Workshops – All rights reserved
Campaign and AdGroup Names
● Now mandatory field
● It’s up to you to guarantee unique
among your campaigns

● Not adding will cause an error
● (that’s it)

AdWords API Workshops – All rights reserved
NetworkSetting and Search
● Display only campaigns have evolved over time
● Can now no longer toggle search for NetworkSetting
● Will throw TargetError.TARGET_ERROR

● Can still toggle display network
● Only affects you if you’re changing NetworkSetting for
existing campaigns
AdWords API Workshops – All rights reserved
Stats Objects Going Away
● Many services (7) used to contain Stats objects
● i.e. AdGroupService ,CampaignService, MutateJobService

● No longer there, will return an error
● Use reporting instead to get statistics
● Reporting API is extremely easy to use
● You should already be using it!

AdWords API Workshops – All rights reserved
Individual Campaign Budgets Are Back...
● As of v201309, it is now possible to create ‘individual’
(non-shared) budgets
● As of v201302, a boolean field was added to the
Budget object to support this: isExplicitlyShared
● The isExplicitlyShared value is now honoured
● Set isExplicitlyShared = false to create an
individual budget
● Default value: isExplicitlyShared = true

AdWords API Workshops – All rights reserved
Why Create Individual Campaign Budgets?
● Individual budgets will not appear in the AdWords UI
‘Shared Library’
● They cannot be shared unless converted to a shared
budget by setting isExplicitlyShared = true
● Shared budgets cannot be converted to Individual
budgets
● Individual Budgets are automatically deleted when the
Campaign is deleted
○ BudgetService.mutate(REMOVE op) not required
AdWords API Workshops – All rights reserved
Why Create Individual Campaign Budgets?
● Campaigns using Budget Optimizer or Campaign
Experiments cannot share budgets
● Individual budgets enforce this

AdWords API Workshops – All rights reserved
Features graduated from beta

AdWords API Workshops – All rights reserved
1. Display Criteria Bid Modifiers
●

BiddableAdGroupCriterion.bidModifier

!!

● For modifying bids for certain Display Network segments
● Can modify bids for specific placements / audiences

● RLSAs too!
● Won’t work for keywords or other criterion types

AdWords API Workshops – All rights reserved
2. Dynamic Search Ads
● Ads that serve based on your sites’ content
● Don’t need to add headline, destination URL, or keywords
● You provide only descriptions, display URL

● Same ranking — performs same as other search ads
● Work within keyword-based campaigns
● Can provide DSAs as “catch-all” for non-matched keywords

● Can still use negative keywords, reporting, extensions

AdWords API Workshops – All rights reserved
Dynamic Search Ads (cont’d)
● Create Campaigns and AdGroups as before
● Feel free to add keyword criteria
● For DSAs, you need three things:
● DomainInfoExtension
● One or more Webpage Criteria
● DynamicSearchAds

AdWords API Workshops – All rights reserved
Dynamic Search Ads (cont’d)

● Create Ad of type DynamicSearchAd
● Provide description1, description2, displayUrl
● One trick: If you provide url must use parameterised
value
● Can update, change status, etc

AdWords API Workshops – All rights reserved
Dynamic Search Ads (cont’d)
● url parameter, if provided, needs a parameter
● One of the following values:
● {unescapedlpurl} — Used at beginning, replaces entire URL
● {unescapedlpurl}?lang=en
● {escapedlpurl} — UR- encoded version, i.e. for trackers
● http://www.3rdpartytracker.com/?lp={escapedlpurl}
● {lpurlpath} — Only path and query part of landing page URL
● http://www.mygoodbusiness.com/tracking/{lpurlpath}
●

If you don’t provide url, {unescapedlpurl} used

AdWords API Workshops – All rights reserved
Dynamic Search Ads (cont’d)
DynamicSearchAd dsa = new DynamicSearchAd();
dsa.url = "{unescapedlpurl}?source=dsa";
dsa.displayUrl = "amazingcarrepairs.com";
dsa.description1 = "We'll take good care of your car";
dsa.description2 = "Wash and wax service included.";
AdGroupAd aga = new AdGroupAd(_adgroupid);
aga.ad = dsa;
AdGroupService.mutate(ADD, aga);

AdWords API Workshops – All rights reserved
Dynamic Search Ads (cont’d)
● Add criteria of type Webpage
● Can target by title, content, URL, etc.
● Can also add negative Webpage criteria
● Don’t serve against these pages, etc.

AdWords API Workshops – All rights reserved
Dynamic Search Ads (cont’d)
WebpageCondition cond = new WebpageCondition();
cond.operand = URL; // filter on URLs, equal to "CONTAINS"
cond.argument = "/grandcherokee";
WebpageParameter param = new WebpageParameter();
param.criterionName = "Jeep Grand Cherokee";
param.conditions = [ cond ];
Webpage wp = new Webpage(); // the criterion
wp.parameter = param;
// can now put in AdGroupCriterion object and ADD!
AdWords API Workshops – All rights reserved
Dynamic Search Ads (cont’d)
● Caveat:
● DSAs depend on a DomainInfoExtension
●

These are Campaign Ad Extensions

● These are NOT creatable via API
●

Must use UI

● Can create DSAs against existing DomainInfoExtension
● Can get stats & update fields on existing DSAs

AdWords API Workshops – All rights reserved
3. AdGroup Level Feeds
● Can now use AdGroupFeedService
● Add site links to individual AdGroups
● (that’s about it, really)

AdWords API Workshops – All rights reserved
4. Flexible Bidding Strategies
● Currently bidding strategies are per campaign
● You create a new object and pass that to new campaign

● Would be nice if we could create a pool of them
● Be able to use same configuration across campaigns
● Try out different strategies in different situations

● Flexible Bidding Strategies to the rescue
● Think “shared”
AdWords API Workshops – All rights reserved
Flexible Bidding Strategies (cont’d)

AdWords API Workshops – All rights reserved
Flexible Bidding Strategies (cont’d)

AdWords API Workshops – All rights reserved
Flexible Bidding Strategies (cont’d)
● BiddingStrategyService is the pool
● Create a SharedBiddingStrategy object
● Contains biddingScheme as you’re used to
●

I.e. TargetSpendBiddingScheme

● For Campaign.biddingStrategyConfiguration
● You just use bidding strategy ID from the shared object

AdWords API Workshops – All rights reserved
Flexible Bidding Strategies (cont’d)
// 1. create the shared bidding
TargetSpendBiddingScheme tsbs =
tsbs.spendTarget = 250000000;
tsbs.bidCeiling = 2500000;

strategy.
new TargetSpendBiddingScheme();
// $250 a month
// max 2.50$ bid

SharedBiddingStrategy sbs = new SharedBiddingStrategy();
sbs.name = "Monthly targeted spend";
sbs.type = TARGET_SPEND;
sbs.biddingScheme = tsbs;
BiddingStrategyService.mutate(ADD, sbs); // extract result

AdWords API Workshops – All rights reserved
Flexible Bidding Strategies (cont’d)
// 2. add it to the campaign.
Campaign c = new Campaign();
// set up stuff on c
BiddingStrategyConfiguration bsc = new
BiddingStrategyConfiguration();
bsc.biddingStrategyId = sbs.id;
c.biddingStrategyConfiguration = bsc;

CampaignService.mutate(ADD, c);
AdWords API Workshops – All rights reserved
5. Location Bid Modifiers
● Set different bids for
different locations
● All within the comfort of one
campaign

AdWords API Workshops – All rights reserved
Location Bid Modifiers (cont’d)
// 1. normal location criterion.
LocationCriterion lc = new Location();
lc.id = 1002451; // Toronto, Ontario, Canada
lc.bidModifier = 1.0;
CampaignCriterion cc = new CampaignCriterion();
cc.campaignId = _campaignId;
cc.criterion = lc;
CampaignCriterionService.mutate(ADD, cc);

AdWords API Workshops – All rights reserved
Location Bid Modifiers (cont’d)
// 2. let's bid more for successful suburb
LocationCriterion lc = new Location();
lc.id = 1002350;
// Mississauga, Ont, Can
CampaignCriterion cc = new CampaignCriterion();
cc.campaignId = _campaignId;
cc.criterion = lc;
cc.bidModifier = 1.5;
// bid 50% more for here
CampaignCriterionService.mutate(ADD, cc);

AdWords API Workshops – All rights reserved
The Neglected
Don’t forget about these features

AdWords API Workshops – All rights reserved
A Couple of Frequently Unused Features
● Negative Keywords
● Site Links (now via Feed Services)
● Implementing these will help with QS, CTR, relevance
● A simple way to help you serve more effectively

AdWords API Workshops – All rights reserved
Negative Keywords
// Create keyword. We're creating ads for “Westminster dentist”.
Keyword keyword = new Keyword();
keyword.setText("reviews");
keyword.setMatchType(KeywordMatchType.BROAD);
// Create negative campaign criterion.
NegativeCampaignCriterion ncc = new NegativeCampaignCriterion();
ncc.setCampaignId(_campaignId);
ncc.setCriterion(keyword);
CampaignCriterionService.mutate(ADD, ncc);
AdWords API Workshops – All rights reserved
Site Links
● Now part of Feed Services
● Separate talk later today

AdWords API Workshops – All rights reserved
Helpful Links

Google Ads v201309 Blog Post - http://goo.gl/TvNQDx
v201309 Migration Guide - http://goo.gl/e4O7YZ
AdWords API Workshops – All rights reserved
Questions?

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved

Weitere ähnliche Inhalte

Ähnlich wie API Update Rundown

API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402marcwan
 
AdWords API - How to build a platform
AdWords API - How to build a platformAdWords API - How to build a platform
AdWords API - How to build a platformTimoBoz
 
07. feeds update
07. feeds update07. feeds update
07. feeds updatemarcwan
 
Google Adwords API
Google Adwords APIGoogle Adwords API
Google Adwords APIMrkt360 Inc.
 
Why use ad words api
Why use ad words apiWhy use ad words api
Why use ad words apisupergigas
 
Extension Setting Services
Extension Setting ServicesExtension Setting Services
Extension Setting Servicessupergigas
 
GMB API (Google My Business)
GMB API (Google My Business)GMB API (Google My Business)
GMB API (Google My Business)supergigas
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)marcwan
 
Mobile Landing Pages Talk
Mobile Landing Pages TalkMobile Landing Pages Talk
Mobile Landing Pages Talkmarcwan
 
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
 
Effective Reporting
Effective ReportingEffective Reporting
Effective Reportingsupergigas
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APImarcwan
 
Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratumarcwan
 
OAuth 2.0 refresher Talk
OAuth 2.0 refresher TalkOAuth 2.0 refresher Talk
OAuth 2.0 refresher Talkmarcwan
 
Bidding and Budgeting (SF)
Bidding and Budgeting (SF)Bidding and Budgeting (SF)
Bidding and Budgeting (SF)marcwan
 
Reporting Updates
Reporting UpdatesReporting Updates
Reporting Updatesmarcwan
 
New Bidding and Budgeting
New Bidding and BudgetingNew Bidding and Budgeting
New Bidding and Budgetingmarcwan
 
Adwords Seminar 3: PLAs - How to do and Optimise
Adwords Seminar 3: PLAs - How to do and OptimiseAdwords Seminar 3: PLAs - How to do and Optimise
Adwords Seminar 3: PLAs - How to do and Optimiseindiumonline
 
Mobile landing pages
Mobile landing pagesMobile landing pages
Mobile landing pagesmarcwan
 

Ähnlich wie API Update Rundown (20)

API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402
 
AdWords API - How to build a platform
AdWords API - How to build a platformAdWords API - How to build a platform
AdWords API - How to build a platform
 
07. feeds update
07. feeds update07. feeds update
07. feeds update
 
Google Adwords API
Google Adwords APIGoogle Adwords API
Google Adwords API
 
Why use ad words api
Why use ad words apiWhy use ad words api
Why use ad words api
 
Extension Setting Services
Extension Setting ServicesExtension Setting Services
Extension Setting Services
 
GMB API (Google My Business)
GMB API (Google My Business)GMB API (Google My Business)
GMB API (Google My Business)
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)
 
Mobile Landing Pages Talk
Mobile Landing Pages TalkMobile Landing Pages Talk
Mobile Landing Pages Talk
 
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
 
Effective Reporting
Effective ReportingEffective Reporting
Effective Reporting
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords API
 
Explaining AdWords Ad Customizers
Explaining AdWords Ad CustomizersExplaining AdWords Ad Customizers
Explaining AdWords Ad Customizers
 
Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratu
 
OAuth 2.0 refresher Talk
OAuth 2.0 refresher TalkOAuth 2.0 refresher Talk
OAuth 2.0 refresher Talk
 
Bidding and Budgeting (SF)
Bidding and Budgeting (SF)Bidding and Budgeting (SF)
Bidding and Budgeting (SF)
 
Reporting Updates
Reporting UpdatesReporting Updates
Reporting Updates
 
New Bidding and Budgeting
New Bidding and BudgetingNew Bidding and Budgeting
New Bidding and Budgeting
 
Adwords Seminar 3: PLAs - How to do and Optimise
Adwords Seminar 3: PLAs - How to do and OptimiseAdwords Seminar 3: PLAs - How to do and Optimise
Adwords Seminar 3: PLAs - How to do and Optimise
 
Mobile landing pages
Mobile landing pagesMobile landing pages
Mobile landing pages
 

Mehr von marcwan

Mcc scripts deck (日本語)
Mcc scripts deck (日本語)Mcc scripts deck (日本語)
Mcc scripts deck (日本語)marcwan
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)marcwan
 
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
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scriptingmarcwan
 
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
 
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
 
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
 
AdWords Scripts
AdWords ScriptsAdWords Scripts
AdWords Scriptsmarcwan
 

Mehr von marcwan (20)

Mcc scripts deck (日本語)
Mcc scripts deck (日本語)Mcc scripts deck (日本語)
Mcc scripts deck (日本語)
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scripting
 
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
 
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
 
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
 
AdWords Scripts
AdWords ScriptsAdWords Scripts
AdWords Scripts
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

API Update Rundown

  • 1. AdWords API Workshops – All rights reserved
  • 2. AdWords API Features Update What’s new, out of beta, and noteworthy Marc Wandschneider, Google Inc. <SPEAKER>, Google, Inc. AdWords API Workshops – All rights reserved
  • 3. Latest Release Highlights ● Some new features ○ Offline conversions import & tracking ○ New reporting types and fields ○ Shared budget changes AdWords API Workshops – All rights reserved
  • 4. Latest Release Highlights (cont’d) ● Other noteworthy changes: ○ Names mandatory on Campaigns and AdGroups ○ Can no longer toggle search network for NetworkSetting ○ Stats objects are no longer available via services AdWords API Workshops – All rights reserved
  • 5. Latest Release Highlights (cont’d) ● Five features graduated from beta ○ Display criteria bid modifiers ○ Dynamic Search Ads ○ AdGroup level feeds (site links) ○ Flexible bidding strategies ○ Location bid modifiers AdWords API Workshops – All rights reserved
  • 6. New Features AdWords API Workshops – All rights reserved
  • 7. Offline Conversion Import ● Allows you to register conversions by hand ● Might have been manual conversion ● Maybe your conversion tracker works differently ● Can register conversions up to 90 days after the click ● Exact value is configurable ● Conversions can be used for ● Flexible bidding ● Conversion reporting (aka search funnels) AdWords API Workshops – All rights reserved
  • 8. Offline Conversion Import (cont’d) ● Basic procedure a. Register to receive GCLID with auto-tagging b. Store incoming click ID as lead in your database c. When conversion occurs, mark as converted in DB d. Periodically run code to upload these conversions to API AdWords API Workshops – All rights reserved
  • 9. Offline Conversion Import (cont’d) ● To Upload a conversion, two steps: a. Create Import conversion type ■ via UI or ConversionTrackerService b. Report (upload) the conversion AdWords API Workshops – All rights reserved
  • 10. Create Import Conversion Type (Code) UploadConversion uc = new UploadConversion(); uc.setCategory(ConversionTrackerCategory.SIGNUP); uc.setName("Freemium signup"); uc.setViewthroughLookbackWindow(30); uc.setCtcLookbackWindow(90); ConversionTrackerService.mutate(ADD, uc); // NOTE: wait 6 hours after creating before uploading. AdWords API Workshops – All rights reserved
  • 11. Report Offline Conversion OfflineConversionFeed feed = new OfflineConversionFeed(); feed.setConversionName("Freemium signup"); feed.setConversionTime(conversionTime); feed.setGoogleClickId(gClid); feed.setConversionValue(3.50); // optional, > 0 OfflineConversionFeedService.mutate(ADD, feed); // conversion can take up to 3 hours to be processed fully AdWords API Workshops – All rights reserved
  • 12. Other Noteworthy Changes AdWords API Workshops – All rights reserved
  • 13. Campaign and AdGroup Names ● Now mandatory field ● It’s up to you to guarantee unique among your campaigns ● Not adding will cause an error ● (that’s it) AdWords API Workshops – All rights reserved
  • 14. NetworkSetting and Search ● Display only campaigns have evolved over time ● Can now no longer toggle search for NetworkSetting ● Will throw TargetError.TARGET_ERROR ● Can still toggle display network ● Only affects you if you’re changing NetworkSetting for existing campaigns AdWords API Workshops – All rights reserved
  • 15. Stats Objects Going Away ● Many services (7) used to contain Stats objects ● i.e. AdGroupService ,CampaignService, MutateJobService ● No longer there, will return an error ● Use reporting instead to get statistics ● Reporting API is extremely easy to use ● You should already be using it! AdWords API Workshops – All rights reserved
  • 16. Individual Campaign Budgets Are Back... ● As of v201309, it is now possible to create ‘individual’ (non-shared) budgets ● As of v201302, a boolean field was added to the Budget object to support this: isExplicitlyShared ● The isExplicitlyShared value is now honoured ● Set isExplicitlyShared = false to create an individual budget ● Default value: isExplicitlyShared = true AdWords API Workshops – All rights reserved
  • 17. Why Create Individual Campaign Budgets? ● Individual budgets will not appear in the AdWords UI ‘Shared Library’ ● They cannot be shared unless converted to a shared budget by setting isExplicitlyShared = true ● Shared budgets cannot be converted to Individual budgets ● Individual Budgets are automatically deleted when the Campaign is deleted ○ BudgetService.mutate(REMOVE op) not required AdWords API Workshops – All rights reserved
  • 18. Why Create Individual Campaign Budgets? ● Campaigns using Budget Optimizer or Campaign Experiments cannot share budgets ● Individual budgets enforce this AdWords API Workshops – All rights reserved
  • 19. Features graduated from beta AdWords API Workshops – All rights reserved
  • 20. 1. Display Criteria Bid Modifiers ● BiddableAdGroupCriterion.bidModifier !! ● For modifying bids for certain Display Network segments ● Can modify bids for specific placements / audiences ● RLSAs too! ● Won’t work for keywords or other criterion types AdWords API Workshops – All rights reserved
  • 21. 2. Dynamic Search Ads ● Ads that serve based on your sites’ content ● Don’t need to add headline, destination URL, or keywords ● You provide only descriptions, display URL ● Same ranking — performs same as other search ads ● Work within keyword-based campaigns ● Can provide DSAs as “catch-all” for non-matched keywords ● Can still use negative keywords, reporting, extensions AdWords API Workshops – All rights reserved
  • 22. Dynamic Search Ads (cont’d) ● Create Campaigns and AdGroups as before ● Feel free to add keyword criteria ● For DSAs, you need three things: ● DomainInfoExtension ● One or more Webpage Criteria ● DynamicSearchAds AdWords API Workshops – All rights reserved
  • 23. Dynamic Search Ads (cont’d) ● Create Ad of type DynamicSearchAd ● Provide description1, description2, displayUrl ● One trick: If you provide url must use parameterised value ● Can update, change status, etc AdWords API Workshops – All rights reserved
  • 24. Dynamic Search Ads (cont’d) ● url parameter, if provided, needs a parameter ● One of the following values: ● {unescapedlpurl} — Used at beginning, replaces entire URL ● {unescapedlpurl}?lang=en ● {escapedlpurl} — UR- encoded version, i.e. for trackers ● http://www.3rdpartytracker.com/?lp={escapedlpurl} ● {lpurlpath} — Only path and query part of landing page URL ● http://www.mygoodbusiness.com/tracking/{lpurlpath} ● If you don’t provide url, {unescapedlpurl} used AdWords API Workshops – All rights reserved
  • 25. Dynamic Search Ads (cont’d) DynamicSearchAd dsa = new DynamicSearchAd(); dsa.url = "{unescapedlpurl}?source=dsa"; dsa.displayUrl = "amazingcarrepairs.com"; dsa.description1 = "We'll take good care of your car"; dsa.description2 = "Wash and wax service included."; AdGroupAd aga = new AdGroupAd(_adgroupid); aga.ad = dsa; AdGroupService.mutate(ADD, aga); AdWords API Workshops – All rights reserved
  • 26. Dynamic Search Ads (cont’d) ● Add criteria of type Webpage ● Can target by title, content, URL, etc. ● Can also add negative Webpage criteria ● Don’t serve against these pages, etc. AdWords API Workshops – All rights reserved
  • 27. Dynamic Search Ads (cont’d) WebpageCondition cond = new WebpageCondition(); cond.operand = URL; // filter on URLs, equal to "CONTAINS" cond.argument = "/grandcherokee"; WebpageParameter param = new WebpageParameter(); param.criterionName = "Jeep Grand Cherokee"; param.conditions = [ cond ]; Webpage wp = new Webpage(); // the criterion wp.parameter = param; // can now put in AdGroupCriterion object and ADD! AdWords API Workshops – All rights reserved
  • 28. Dynamic Search Ads (cont’d) ● Caveat: ● DSAs depend on a DomainInfoExtension ● These are Campaign Ad Extensions ● These are NOT creatable via API ● Must use UI ● Can create DSAs against existing DomainInfoExtension ● Can get stats & update fields on existing DSAs AdWords API Workshops – All rights reserved
  • 29. 3. AdGroup Level Feeds ● Can now use AdGroupFeedService ● Add site links to individual AdGroups ● (that’s about it, really) AdWords API Workshops – All rights reserved
  • 30. 4. Flexible Bidding Strategies ● Currently bidding strategies are per campaign ● You create a new object and pass that to new campaign ● Would be nice if we could create a pool of them ● Be able to use same configuration across campaigns ● Try out different strategies in different situations ● Flexible Bidding Strategies to the rescue ● Think “shared” AdWords API Workshops – All rights reserved
  • 31. Flexible Bidding Strategies (cont’d) AdWords API Workshops – All rights reserved
  • 32. Flexible Bidding Strategies (cont’d) AdWords API Workshops – All rights reserved
  • 33. Flexible Bidding Strategies (cont’d) ● BiddingStrategyService is the pool ● Create a SharedBiddingStrategy object ● Contains biddingScheme as you’re used to ● I.e. TargetSpendBiddingScheme ● For Campaign.biddingStrategyConfiguration ● You just use bidding strategy ID from the shared object AdWords API Workshops – All rights reserved
  • 34. Flexible Bidding Strategies (cont’d) // 1. create the shared bidding TargetSpendBiddingScheme tsbs = tsbs.spendTarget = 250000000; tsbs.bidCeiling = 2500000; strategy. new TargetSpendBiddingScheme(); // $250 a month // max 2.50$ bid SharedBiddingStrategy sbs = new SharedBiddingStrategy(); sbs.name = "Monthly targeted spend"; sbs.type = TARGET_SPEND; sbs.biddingScheme = tsbs; BiddingStrategyService.mutate(ADD, sbs); // extract result AdWords API Workshops – All rights reserved
  • 35. Flexible Bidding Strategies (cont’d) // 2. add it to the campaign. Campaign c = new Campaign(); // set up stuff on c BiddingStrategyConfiguration bsc = new BiddingStrategyConfiguration(); bsc.biddingStrategyId = sbs.id; c.biddingStrategyConfiguration = bsc; CampaignService.mutate(ADD, c); AdWords API Workshops – All rights reserved
  • 36. 5. Location Bid Modifiers ● Set different bids for different locations ● All within the comfort of one campaign AdWords API Workshops – All rights reserved
  • 37. Location Bid Modifiers (cont’d) // 1. normal location criterion. LocationCriterion lc = new Location(); lc.id = 1002451; // Toronto, Ontario, Canada lc.bidModifier = 1.0; CampaignCriterion cc = new CampaignCriterion(); cc.campaignId = _campaignId; cc.criterion = lc; CampaignCriterionService.mutate(ADD, cc); AdWords API Workshops – All rights reserved
  • 38. Location Bid Modifiers (cont’d) // 2. let's bid more for successful suburb LocationCriterion lc = new Location(); lc.id = 1002350; // Mississauga, Ont, Can CampaignCriterion cc = new CampaignCriterion(); cc.campaignId = _campaignId; cc.criterion = lc; cc.bidModifier = 1.5; // bid 50% more for here CampaignCriterionService.mutate(ADD, cc); AdWords API Workshops – All rights reserved
  • 39. The Neglected Don’t forget about these features AdWords API Workshops – All rights reserved
  • 40. A Couple of Frequently Unused Features ● Negative Keywords ● Site Links (now via Feed Services) ● Implementing these will help with QS, CTR, relevance ● A simple way to help you serve more effectively AdWords API Workshops – All rights reserved
  • 41. Negative Keywords // Create keyword. We're creating ads for “Westminster dentist”. Keyword keyword = new Keyword(); keyword.setText("reviews"); keyword.setMatchType(KeywordMatchType.BROAD); // Create negative campaign criterion. NegativeCampaignCriterion ncc = new NegativeCampaignCriterion(); ncc.setCampaignId(_campaignId); ncc.setCriterion(keyword); CampaignCriterionService.mutate(ADD, ncc); AdWords API Workshops – All rights reserved
  • 42. Site Links ● Now part of Feed Services ● Separate talk later today AdWords API Workshops – All rights reserved
  • 43. Helpful Links Google Ads v201309 Blog Post - http://goo.gl/TvNQDx v201309 Migration Guide - http://goo.gl/e4O7YZ AdWords API Workshops – All rights reserved
  • 44. Questions? AdWords API Workshops – All rights reserved
  • 45. AdWords API Workshops – All rights reserved