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.

A Three Man Approach to Mastering AdWords Scripts By Steve Hammer, Russell Savage, & Frederick Vallaeys

3,202 views

Published on

"From the SMX East 2014 Conference in New York City, NY. SESSION: Mastering AdWords & Scripts. PRESENTATION: A Three Man Approach to Mastering AdWords Scripts
- Given by Steve Hammer, @ArmondHammer, President - Rank Hammer. #SMX #32B"

Published in: Marketing

A Three Man Approach to Mastering AdWords Scripts By Steve Hammer, Russell Savage, & Frederick Vallaeys

  1. 1. A Three Man Approach to Mastering AdWords Scripts SMX East Steve Hammer Russell Savage Frederick Vallaeys
  2. 2. A family restaurant with a huge sandbox Steve Hammer, @armondhammer Rankhammer.com 2
  3. 3. Looks like this when it rains Steve Hammer, @armondhammer Rankhammer.com 3
  4. 4. Ads via XML Steve Hammer, @armondhammer Rankhammer.com 4
  5. 5. Pricing that changes, hourly Steve Hammer, @armondhammer Rankhammer.com 5
  6. 6. A marketers dream Steve Hammer, @armondhammer Rankhammer.com 6
  7. 7. But a Warning: Scripts can’t fix bad Steve Hammer, @armondhammer Rankhammer.com 7
  8. 8. 8 About Me FAMILY What it’s all about FOOD AND WINE Ea8ng as an art form? HOCKEY Go Stars RANKHAMMER Dallas Based Internet Marke8ng Agency Steve Hammer, @armondhammer Rankhammer.com
  9. 9. Our Agenda • Use Cases for Scripts – Frederick Vallaeys • The Language of Scrip8ng – Russell Savage • Modifying Scripts – Steve Hammer • Advanced Performance of Scripts – Russell Savage 9
  10. 10. +Frederick Vallaeys @SiliconVallaeys @SiliconVallaeys OPTMYZR.com
  11. 11. What Can AdWords Scripts Do? AW Scripts can create reports and make changes in accounts. Supported en88es: • Shopping Product Groups (NEW!) • Ad extensions (NEW!) • Budgets (NEW!) • Labels • Keywords • Bids • Ads • Ad Groups • Campaigns • Targe8ng • Bid modifiers @SiliconVallaeys OPTMYZR.com
  12. 12. AdWords Scripts vs API Scripts API Hos.ng Hosted by AdWords, just like Google Docs You need a server Skills needed Copy-­‐and-­‐Paste Install the code, some SDKs or libraries, … Scheduling Set your schedule inside AdWords Maintain cron jobs on your server Capabili.es Can’t manage everything Almost everything in AW Strengths Quick to test something out Beber for large accounts Bo;om Line: With Scripts, you don’t need to be an engineer to automate AdWords @SiliconVallaeys OPTMYZR.com
  13. 13. AdWords Scripts vs Automated Rules Scripts Automated Rules Scheduling As ocen as hourly As ocen as daily Capabili.es Highly customizable Limited predefined rules Bo;om Line: Scripts are more flexible than Automated Rules @SiliconVallaeys OPTMYZR.com
  14. 14. Use Case Examples @SiliconVallaeys OPTMYZR.com
  15. 15. Scripts Work In MCC Accounts • Benefits • Maintain fewer copies of scripts • Hide scripts from clients Script for All accounts Script for Auto accounts @SiliconVallaeys OPTMYZR.com
  16. 16. MCC Example Get all anomaly alerts in one place VS @SiliconVallaeys OPTMYZR.com
  17. 17. More MCC Script Ideas • Add the same nega8ve keyword lists to all accounts in a par8cular ver8cal • Create aggregated reports across mul8ple accounts @SiliconVallaeys OPTMYZR.com
  18. 18. Scripts Talk With Your Data • Scripts can talk to external data sources • Google Sheets, Google Drive, Gmail, arbitrary URLs (APIs). Weather Data Movie Data Company API Data @SiliconVallaeys OPTMYZR.com
  19. 19. External Data Example Automa8cally create ads when adding a new product to a spreadsheet @SiliconVallaeys OPTMYZR.com
  20. 20. Save Reports To Your Computer • Save reports to your computer automa8cally @SiliconVallaeys OPTMYZR.com
  21. 21. More Examples Of Using External Data • Pause ads for an ice cream shop when temperature goes below 70 degrees • Pause ads when the landing page is not working (404 error) @SiliconVallaeys OPTMYZR.com
  22. 22. Scripts Can Access All Reports Account Performance Account Reach Frequency Ad Performance Ad Extensions Performance Ad Group Performance Ad Group Reach Frequency Age Range Performance Audience Performance Automa8c Placements Performance Bid Goal Performance Budget Performance Call Metrics Call Details Campaign Performance Campaign Ad Schedule Target Campaign Loca8on Target Campaign Nega8ve Keywords Performance Campaign Nega8ve Loca8ons Campaign Nega8ve Placements Performance Campaign Plaiorm Target Campaign Reach Frequency Campaign Shared Set Click Performance Crea8ve Conversion Criteria Performance Des8na8on URL Display Keyword Performance Display Topics Performance Gender Performance Geo Performance Keywordless Category Keywordless Query Keywords Performance Paid and Organic Query Placeholder Feed Item Placement Performance Product Par88on Search Query Performance Shared Set Criteria Shared Set Shopping Performance URL Performance @SiliconVallaeys OPTMYZR.com
  23. 23. Scripts Can Merge Data Any Way You Want Iden8fy a trend before your client does VS @SiliconVallaeys OPTMYZR.com
  24. 24. Scripts Make Aggrega8ng Data Easy • Performance by keyword match type @SiliconVallaeys OPTMYZR.com
  25. 25. Ad Template Performance • What is the best text for Descrip8on Line 1? @SiliconVallaeys OPTMYZR.com
  26. 26. More Repor8ng Ideas For Scripts • Calculate account level Quality Score • Report performance of 1 word, 2 word, 3 word keywords, etc. • Find the best ad text for each keyword @SiliconVallaeys OPTMYZR.com
  27. 27. Scripts Can Send Emails @SiliconVallaeys OPTMYZR.com
  28. 28. Scripts Can Add Results to Google Sheets @SiliconVallaeys OPTMYZR.com
  29. 29. Scripts Can Add Results to Dashboards • Push data into dashboard widgets, e.g. Cyfe.com @SiliconVallaeys OPTMYZR.com
  30. 30. Some Notes About Javascript Russ Savage, FreeAdWordsScripts.com 30
  31. 31. Russ Savage, FreeAdWordsScripts.com 31 About Me Free AdWords Scripts
  32. 32. Why Does This Javascript Look Different? VS Russ Savage, FreeAdWordsScripts.com 32
  33. 33. Sever Side vs Client Side • What Won’t Work • Anything with the Window object • Any web libraries like jQuery or Prototype • Ajax, alert(), popups, anything involving UI • Event handling (click events, loading, etc.) • What Will Work • Standard Javascript constructs such as Arrays, Maps, Loops, Func8ons • Special Google Objects (AdWordsApp, SreadsheetApp, MccApp, UrlFetchApp) • Javascript eval • JSON object Russ Savage, FreeAdWordsScripts.com 33
  34. 34. Style Is Important Russ Savage, FreeAdWordsScripts.com 34
  35. 35. Choose a Style and Stick With It • Google Javascript Coding Style • hbps://google-­‐styleguide.googlecode.com/svn/trunk/javascriptguide.xml Russ Savage, FreeAdWordsScripts.com 35
  36. 36. Arrays and Maps • Access elements of an Array using an index • Access elements of an Object using a key • Elements of Arrays or Maps can be anything, even func8ons Russ Savage, FreeAdWordsScripts.com 36
  37. 37. Functions • Use func8ons to execute the same code mul8ple 8mes • Don’t Repeat Yourself (D.R.Y.) • Each func8on does one thing, and one thing only Russ Savage, FreeAdWordsScripts.com 37
  38. 38. Where to Learn More • Intros to Javascript • hbp://autotelicum.github.io/Smooth-­‐CoffeeScript/literate/js-­‐intro.html • hbp://www.tutorialspoint.com/javascript/ • Code Academy Course for Beginners • hbp://www.codecademy.com/tracks/javascript • StackOverflow Javascript • hbp://stackoverflow.com/ques8ons/tagged/javascript Russ Savage, FreeAdWordsScripts.com 38
  39. 39. Programming? Steve Hammer, @armondhammer Rankhammer.com 39
  40. 40. 40 Steve Hammer, @armondhammer Rankhammer.com
  41. 41. Getting Started in the Interface Steve Hammer, @armondhammer Rankhammer.com 41
  42. 42. A first simple script – Bid changes 42 Log “Hello World” • Had a CTR greater than 0.01 • For all dates Find Keywords that • While iterates one at a 8me Go through the keywords • Based Set a new CPC on Maximum CPC * 1.01 Go broke Steve Hammer, @armondhammer Rankhammer.com
  43. 43. Tweaking the script – to something almost useful 43 Log “Hello World” • Had a CTR greater than 0.01 • For all dates Find Keywords that • While iterates one at a 8me Go through the keywords • Based on Maximum CPC * 1.01 Set a new CPC Go broke Log “Raise on Conversion” • Had conversion rate > 10% • With more than 10 clicks • Over the last 30 days Find Keywords that • While iterates one at a 8me Go through the keywords • Based Set a new CPC on Max CPC * 1.05 Go slightly less broke Steve Hammer, @armondhammer Rankhammer.com
  44. 44. End Result Steve Hammer, @armondhammer Rankhammer.com 44
  45. 45. Snippets and functions build the building Steve Hammer, @armondhammer Rankhammer.com 45
  46. 46. A simple framework – talk your idea 46 Metric When bounce rate Target Exceeds 50% Ac8on Reduce bid 10% Steve Hammer, @armondhammer Rankhammer.com
  47. 47. What can be changed? Easy • Ready made snippets • Methods used, especially same type • Condi8ons • Outputs (stats) Moderate • Output type • Data Sources Hard • Repor8ng + En88es (But beber to do) • Large Accounts Steve Hammer, @armondhammer Rankhammer.com 47
  48. 48. Code Snippets 48 Func8ons • Any published script • Freeadwordsscripts.com Google • hbps://developers.google.com/adwords/scripts/docs/examples/ Steve Hammer, @armondhammer Rankhammer.com
  49. 49. Code Snippets - Example Steve Hammer, @armondhammer Rankhammer.com 49
  50. 50. Method List hbps://developers.google.com/adwords/scripts/docs/reference/adwordsapp/adwordsapp 50 Steve Hammer, @armondhammer Rankhammer.com
  51. 51. Selector Conditions hbps://developers.google.com/adwords/scripts/docs/reference/adwordsapp/adwordsapp_labelselector#withCondi8on_1 51 Steve Hammer, @armondhammer Rankhammer.com
  52. 52. Stats hbps://developers.google.com/adwords/scripts/docs/reference/adwordsapp/adwordsapp_stats 52 Steve Hammer, @armondhammer Rankhammer.com
  53. 53. Output Type 53 hbps://developers.google.com/adwords/scripts/docs/examples/reports Steve Hammer, @armondhammer Rankhammer.com
  54. 54. Changing Data Source hbps://developers.google.com/apps-­‐script/reference/url-­‐fetch/ hbps://developers.google.com/adwords/scripts/docs/solu8ons/bid-­‐by-­‐weather @armondhammer 54
  55. 55. Live Twitter Followers – same idea, new source hbp://www.rankhammer.com/blog/1261/adwords-­‐scripts-­‐twiber-­‐followers Steve Hammer, @armondhammer Rankhammer.com
  56. 56. Advanced Optimizations Russ Savage, FreeAdWordsScripts.com 56
  57. 57. If You Can Pull It From A Report, Do It Russ Savage, FreeAdWordsScripts.com 57
  58. 58. Read and Write All Related Entities Together Russ Savage, FreeAdWordsScripts.com 58
  59. 59. Logging Is Slow Russ Savage, FreeAdWordsScripts.com 59
  60. 60. Logging Is Slow Russ Savage, FreeAdWordsScripts.com 60
  61. 61. Thank you

×