AdWords API Workshops – All rights reserved
AdWords API Features Update
What’s new, out of beta, and noteworthy

Marc Wandschneider, Google Inc.
<SPEAKER>, Google, In...
Latest Release Highlights
● Some new features
○ Offline conversions import & tracking
○ New reporting types and fields
○ S...
Latest Release Highlights (cont’d)
● Other noteworthy changes:
○ Names mandatory on Campaigns and AdGroups
○ Can no longer...
Latest Release Highlights (cont’d)
● Five features graduated from beta
○ Display criteria bid modifiers
○ Dynamic Search A...
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 co...
Offline Conversion Import (cont’d)
● Basic procedure
a. Register to receive GCLID with auto-tagging
b. Store incoming clic...
Offline Conversion Import (cont’d)
● To Upload a conversion, two steps:
a. Create Import conversion type
■ via UI or Conve...
Create Import Conversion Type (Code)
UploadConversion uc = new UploadConversion();
uc.setCategory(ConversionTrackerCategor...
Report Offline Conversion
OfflineConversionFeed feed = new OfflineConversionFeed();
feed.setConversionName("Freemium signu...
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 w...
NetworkSetting and Search
● Display only campaigns have evolved over time
● Can now no longer toggle search for NetworkSet...
Stats Objects Going Away
● Many services (7) used to contain Stats objects
● i.e. AdGroupService ,CampaignService, MutateJ...
Individual Campaign Budgets Are Back...
● As of v201309, it is now possible to create ‘individual’
(non-shared) budgets
● ...
Why Create Individual Campaign Budgets?
● Individual budgets will not appear in the AdWords UI
‘Shared Library’
● They can...
Why Create Individual Campaign Budgets?
● Campaigns using Budget Optimizer or Campaign
Experiments cannot share budgets
● ...
Features graduated from beta

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

BiddableAdGroupCriterion.bidModifier

!!

● For modifying bids for certain Display Ne...
2. Dynamic Search Ads
● Ads that serve based on your sites’ content
● Don’t need to add headline, destination URL, or keyw...
Dynamic Search Ads (cont’d)
● Create Campaigns and AdGroups as before
● Feel free to add keyword criteria
● For DSAs, you ...
Dynamic Search Ads (cont’d)

● Create Ad of type DynamicSearchAd
● Provide description1, description2, displayUrl
● One tr...
Dynamic Search Ads (cont’d)
● url parameter, if provided, needs a parameter
● One of the following values:
● {unescapedlpu...
Dynamic Search Ads (cont’d)
DynamicSearchAd dsa = new DynamicSearchAd();
dsa.url = "{unescapedlpurl}?source=dsa";
dsa.disp...
Dynamic Search Ads (cont’d)
● Add criteria of type Webpage
● Can target by title, content, URL, etc.
● Can also add negati...
Dynamic Search Ads (cont’d)
WebpageCondition cond = new WebpageCondition();
cond.operand = URL; // filter on URLs, equal t...
Dynamic Search Ads (cont’d)
● Caveat:
● DSAs depend on a DomainInfoExtension
●

These are Campaign Ad Extensions

● These ...
3. AdGroup Level Feeds
● Can now use AdGroupFeedService
● Add site links to individual AdGroups
● (that’s about it, really...
4. Flexible Bidding Strategies
● Currently bidding strategies are per campaign
● You create a new object and pass that to ...
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
● Contai...
Flexible Bidding Strategies (cont’d)
// 1. create the shared bidding
TargetSpendBiddingScheme tsbs =
tsbs.spendTarget = 25...
Flexible Bidding Strategies (cont’d)
// 2. add it to the campaign.
Campaign c = new Campaign();
// set up stuff on c
Biddi...
5. Location Bid Modifiers
● Set different bids for
different locations
● All within the comfort of one
campaign

AdWords A...
Location Bid Modifiers (cont’d)
// 1. normal location criterion.
LocationCriterion lc = new Location();
lc.id = 1002451; /...
Location Bid Modifiers (cont’d)
// 2. let's bid more for successful suburb
LocationCriterion lc = new Location();
lc.id = ...
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 ...
Negative Keywords
// Create keyword. We're creating ads for “Westminster dentist”.
Keyword keyword = new Keyword();
keywor...
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 ...
Questions?

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved
Upcoming SlideShare
Loading in …5
×

API Update Rundown

1,140
-1

Published on

AdWords API Workshops Q4 2013 API Update Rundown slides.

Published in: Technology, Design
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,140
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
35
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

API Update Rundown

  1. 1. AdWords API Workshops – All rights reserved
  2. 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. 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. 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. 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. 6. New Features AdWords API Workshops – All rights reserved
  7. 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. 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. 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. 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. 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. 12. Other Noteworthy Changes AdWords API Workshops – All rights reserved
  13. 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. 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. 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. 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. 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. 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. 19. Features graduated from beta AdWords API Workshops – All rights reserved
  20. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 31. Flexible Bidding Strategies (cont’d) AdWords API Workshops – All rights reserved
  32. 32. Flexible Bidding Strategies (cont’d) AdWords API Workshops – All rights reserved
  33. 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. 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. 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. 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. 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. 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. 39. The Neglected Don’t forget about these features AdWords API Workshops – All rights reserved
  40. 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. 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. 42. Site Links ● Now part of Feed Services ● Separate talk later today AdWords API Workshops – All rights reserved
  43. 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. 44. Questions? AdWords API Workshops – All rights reserved
  45. 45. AdWords API Workshops – All rights reserved
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×