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


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 2
  3. 3. Looks like this when it rains Steve Hammer, @armondhammer 3
  4. 4. Ads via XML Steve Hammer, @armondhammer 4
  5. 5. Pricing that changes, hourly Steve Hammer, @armondhammer 5
  6. 6. A marketers dream Steve Hammer, @armondhammer 6
  7. 7. But a Warning: Scripts can’t fix bad Steve Hammer, @armondhammer 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
  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
  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
  12. 12. AdWords Scripts vs API Scripts API 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 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
  13. 13. AdWords Scripts vs Automated Rules Scripts Automated Rules Scheduling As ocen as hourly As ocen as daily Highly customizable Limited predefined rules Bo;om Line: Scripts are more flexible than Automated Rules @SiliconVallaeys
  14. 14. Use Case Examples @SiliconVallaeys
  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
  16. 16. MCC Example Get all anomaly alerts in one place VS @SiliconVallaeys
  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
  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
  19. 19. External Data Example Automa8cally create ads when adding a new product to a spreadsheet @SiliconVallaeys
  20. 20. Save Reports To Your Computer • Save reports to your computer automa8cally @SiliconVallaeys
  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
  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
  23. 23. Scripts Can Merge Data Any Way You Want Iden8fy a trend before your client does VS @SiliconVallaeys
  24. 24. Scripts Make Aggrega8ng Data Easy • Performance by keyword match type @SiliconVallaeys
  25. 25. Ad Template Performance • What is the best text for Descrip8on Line 1? @SiliconVallaeys
  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
  27. 27. Scripts Can Send Emails @SiliconVallaeys
  28. 28. Scripts Can Add Results to Google Sheets @SiliconVallaeys
  29. 29. Scripts Can Add Results to Dashboards • Push data into dashboard widgets, e.g. @SiliconVallaeys
  30. 30. Some Notes About Javascript Russ Savage, 30
  31. 31. Russ Savage, 31 About Me Free AdWords Scripts
  32. 32. Why Does This Javascript Look Different? VS Russ Savage, 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, 33
  34. 34. Style Is Important Russ Savage, 34
  35. 35. Choose a Style and Stick With It • Google Javascript Coding Style • hbps://google-­‐ Russ Savage, 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, 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, 37
  38. 38. Where to Learn More • Intros to Javascript • hbp://­‐CoffeeScript/literate/js-­‐intro.html • hbp:// • Code Academy Course for Beginners • hbp:// • StackOverflow Javascript • hbp:// Russ Savage, 38
  39. 39. Programming? Steve Hammer, @armondhammer 39
  40. 40. 40 Steve Hammer, @armondhammer
  41. 41. Getting Started in the Interface Steve Hammer, @armondhammer 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
  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
  44. 44. End Result Steve Hammer, @armondhammer 44
  45. 45. Snippets and functions build the building Steve Hammer, @armondhammer 45
  46. 46. A simple framework – talk your idea 46 Metric When bounce rate Target Exceeds 50% Ac8on Reduce bid 10% Steve Hammer, @armondhammer
  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 47
  48. 48. Code Snippets 48 Func8ons • Any published script • Google • hbps:// Steve Hammer, @armondhammer
  49. 49. Code Snippets - Example Steve Hammer, @armondhammer 49
  50. 50. Method List hbps:// 50 Steve Hammer, @armondhammer
  51. 51. Selector Conditions hbps:// 51 Steve Hammer, @armondhammer
  52. 52. Stats hbps:// 52 Steve Hammer, @armondhammer
  53. 53. Output Type 53 hbps:// Steve Hammer, @armondhammer
  54. 54. Changing Data Source hbps://­‐script/reference/url-­‐fetch/ hbps://­‐by-­‐weather @armondhammer 54
  55. 55. Live Twitter Followers – same idea, new source hbp://­‐scripts-­‐twiber-­‐followers Steve Hammer, @armondhammer
  56. 56. Advanced Optimizations Russ Savage, 56
  57. 57. If You Can Pull It From A Report, Do It Russ Savage, 57
  58. 58. Read and Write All Related Entities Together Russ Savage, 58
  59. 59. Logging Is Slow Russ Savage, 59
  60. 60. Logging Is Slow Russ Savage, 60
  61. 61. Thank you