AdWords Scripts

2,216 views

Published on

AdWords API Workshops Q4 2013 AdWords Scripts talks

Published in: Technology

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

×