Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AdWords Scripts

AdWords API Workshops Q4 2013 AdWords Scripts talks

AdWords Scripts

  1. 1. AdWords API Workshops – All rights reserved
  2. 2. AdWords Scripts Automate AdWords activities using JavaScript Anash P. Oommen, Google, Inc. AdWords API Workshops – All rights reserved
  3. 3. Table of contents ● Introduction ● Your first script + demo ● Getting help ● Questions ● Resources AdWords API Workshops – All rights reserved
  4. 4. Introduction AdWords API Workshops – All rights reserved
  5. 5. Introduction ● Way to programmatically access AdWords data ● Write your code in JavaScript ● Embedded IDE in AdWords UI AdWords API Workshops – All rights reserved
  6. 6. Common use cases ● Quick one-time tools ● Highly customized reporting ● Account alerts ● External feed-based triggers AdWords API Workshops – All rights reserved
  7. 7. Requirements ● Entry-level familiarity with JavaScript ● An AdWords account to start writing your script! AdWords API Workshops – All rights reserved
  8. 8. Capabilities ● Can access important AdWords types ○ Campaigns, Ad groups, Keywords, Ads, ad extensions, reports… ● API-specific types ○ Ad Params ● Types not yet available in AdWords API ○ Labels ● No beta restriction AdWords API Workshops – All rights reserved
  9. 9. Capabilities (cont’d) ● IDE with autocomplete and syntax highlighting ● Run normally or in preview mode ○ Preview mode won’t make any changes to your accounts ○ Will perform actions like sending email, updating spreadsheets, etc. ● Uses OAuth 2.0 for authentication ○ Up to 250 scripts per login email. AdWords API Workshops – All rights reserved
  10. 10. Capabilities (cont’d) ● Scripts can be automated ○ Can be scheduled to execute periodically on your behalf ○ As frequently as every hour. ● Can talk to external data sources ○ ○ ○ ○ Fetch arbitrary URLs Interact with Google Drive Interact with Google Spreadsheets Send emails AdWords API Workshops – All rights reserved
  11. 11. Capabilities (cont’d) ● Simplified APIs ● Requires lesser amount of code than AdWords API. ● E.g. simplified feed services… AdWords API Workshops – All rights reserved
  12. 12. Demo AdWords API Workshops – All rights reserved
  13. 13. Creating your first script AdWords API Workshops – All rights reserved
  14. 14. Creating your first script (cont’d) AdWords API Workshops – All rights reserved
  15. 15. First script - retrieve all campaigns function main() { // Get all campaigns. var campaignIterator = AdWordsApp.campaigns().get(); // iterate the list and print names to logger window. while (campaignIterator.hasNext()) { var campaign = campaignIterator.next(); Logger.log(campaign.getName()); } } AdWords API Workshops – All rights reserved AW SCRIPT
  16. 16. Retrieving and updating objects function main() { // Retrieve campaign by name using AWQL. var demoCampaign = AdWordsApp.campaigns(). withCondition("Name='Demo campaign'").get().next(); // Retrieve child adgroup using AWQL. var demoAdGroup = demoCampaign.adGroups(). withCondition("Name='Demo adgroup'").get().next(); // Modify the adgroup properties. demoAdGroup.setKeywordMaxCpc(1.2); } AdWords API Workshops – All rights reserved AW SCRIPT
  17. 17. Reporting function main() { AW SCRIPT // Run an account performance report var report = AdWordsApp.report("SELECT Clicks, Impressions, " + "Cost, AverageCpc, Date FROM ACCOUNT_PERFORMANCE_REPORT " + "DURING LAST_WEEK"); // Retrieve the spreadsheet to export values to. var SPREADSHEET_URL = "xxx"; var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL); var sheet = spreadsheet.getSheetByName( "Account performance report"); AdWords API Workshops – All rights reserved
  18. 18. Reporting - cont’d // Export the report to spreadsheet report.exportToSheet(sheet); // Send out an email with the spreadsheet link MailApp.sendEmail("john_hancock@google.com", "Account performance report is ready!", "Access it at " + SPREADSHEET_URL); } AdWords API Workshops – All rights reserved AW SCRIPT
  19. 19. Getting help AdWords API Workshops – All rights reserved
  20. 20. Documentation and code snippets ● Refer to the documentation ○ https://developers.google.com/adwords/scripts/ ● Refer to our code snippets ○ Accessible from the IDE ○ Also available on documentation site AdWords API Workshops – All rights reserved
  21. 21. Ask on our forum! ● Ask on our forum ○ https://groups.google.com/forum/#!forum/adwords-scripts ○ Ask for general questions, code snippets, complete solutions, feature requests… ○ Lots of helpful developers and Scripts team members! AdWords API Workshops – All rights reserved
  22. 22. Complete solutions ● Ready-to-use complete solutions ○ ○ ○ ○ https://developers.google.com/adwords/scripts/docs/solutions/ Ready-to-use as provided Customize if required Multiple categories - customized reporting, bidding tools… ● Scripts from third party developers ○ http://www.freeadwordsscripts.com/ AdWords API Workshops – All rights reserved
  23. 23. Questions? AdWords API Workshops – All rights reserved
  24. 24. Resources Documentation: http://goo.gl/77ACP Forum: http://goo.gl/QsxCz5 AdWords API Workshops – All rights reserved
  25. 25. AdWords API Workshops – All rights reserved
  26. 26. Appendix 1 - Create sitelinks var sitelink = AdWordsApp.extensions() .newSitelinkBuilder() .withLinkText("Hello world") .withLinkUrl("http://www.example.com") .create(); AdWordsApp.campaigns() .withIds(['178532656']) .get().next() .addSitelink(sitelink); AdWords API Workshops – All rights reserved AW SCRIPT
  27. 27. Appendix 2 - Read AdParams //interator on keywords var kwIter = AdWordsApp.keywords().get(); //this is long, select campaign first while (kwIter.hasNext()) { //iterator on parameter of the current keyword var adParamIter = kwIter.next().adParams().get(); while (adParamIter.hasNext()) { var adParam = adParamIter.next(); Logger.log("campaign="+ adParam.getAdGroup().getCampaign().getName()+ " AdGroup="+ adParam.getAdGroup().getName()+ " KW=" + adParam.getKeyword().getText() + " idx=" + adParam.getIndex() + " value=" + adParam.getInsertionText()); } } AdWords API Workshops – All rights reserved AW SCRIPT

×