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.

#StateofSearch Deck - Custom Marketing Dashboards in Google Sheets

4,521 views

Published on

A presentation on teaching you how to use Google Sheets and APIs together to manage, monitor, and visualize all of your marketing data in one place.

Published in: Data & Analytics

#StateofSearch Deck - Custom Marketing Dashboards in Google Sheets

  1. 1. November 17th, 2015 RIISE.co @RIISE
  2. 2. RIISE -- @RIISE - RIISE.co - twitter.com/RIISE - facebook.com/RIISE Ryan McLaughlin -- @recal1brate - twitter.com/recal1brate - linkedin.com/in/recal1brate - instagram.com/recal1brate - soundcloud.com/recal1brate
  3. 3. Why report via Google Sheets? @recal1brate #StateofSearch
  4. 4. The goal is to take reporting from this… @recal1brate #StateofSearch
  5. 5. … to this! @recal1brate #StateofSearch
  6. 6. No matter how good your work is… if you’re not watching the right stuff at the right time, you lose. @recal1brate #StateofSearch
  7. 7. And if you’re watching the wrong metrics… … your execution will miss the mark. @recal1brate #StateofSearch
  8. 8. Benefits to Google Sheets Custom Reporting & Tools @recal1brate #StateofSearch
  9. 9. It’s not necessary to know how to code @recal1brate #StateofSearch
  10. 10. In times of internal conflict, you can always point to the scoreboard. @recal1brate #StateofSearch
  11. 11. You won’t have to walk into meetings looking like this. @recal1brate #StateofSearch
  12. 12. Good planning leads to good results. @recal1brate #StateofSearch
  13. 13. @recal1brate #StateofSearch
  14. 14. Step 1: Install the add-on to Google Sheets https://chrome.google.com/webstore/detail/google-analytics/fefimfimnhjjkomigakinmjileehfopp?hl=en @recal1brate #StateofSearch
  15. 15. Step 2: Create new report @recal1brate #StateofSearch
  16. 16. @recal1brate #StateofSearch
  17. 17. @recal1brate #StateofSearch
  18. 18. Step 3: Run reports @recal1brate #StateofSearch
  19. 19. Change dimension to: “Date”
  20. 20. @recal1brate #StateofSearch
  21. 21. @recal1brate #StateofSearch
  22. 22. @recal1brate #StateofSearch
  23. 23. @recal1brate #StateofSearch
  24. 24. @recal1brate #StateofSearch
  25. 25. @recal1brate #StateofSearch
  26. 26. @recal1brate #StateofSearch
  27. 27. @recal1brate #StateofSearch
  28. 28. @recal1brate #StateofSearch
  29. 29. @recal1brate #StateofSearch
  30. 30. AlchemyAPI uses natural language processing techniques to analyze your content and add high-level semantic information. @recal1brate #StateofSearch
  31. 31. AlchemyAPI Language Demo http://www.alchemyapi.com/products/demo/alchemylanguage @recal1brate #StateofSearch
  32. 32. AlchemyAPI Language Demo
  33. 33. AlchemyAPI Language Demo
  34. 34. =BLOCKSPRING("identify-keywords-from-url- with-alchemyapi", "url", "http://www.imdb.com/title/tt0070992/", "get_top", true, "keywords_only", true) @recal1brate #StateofSearch
  35. 35. =BLOCKSPRING("identify-keywords-from-url- with-alchemyapi", "url", "http://www.imdb.com/title/tt0070992/", "get_top", true, "keywords_only", true) @recal1brate #StateofSearch
  36. 36. =BLOCKSPRING ("identify-keywords-from-url-with-alchemyapi", "url", "http://www.imdb.com/title/tt0070992/", "get_top", true, "keywords_only", true)
  37. 37. =BLOCKSPRING ("identify-keywords-from-url-with-alchemyapi", "url", "http://www.imdb.com/title/tt0070992/", "get_top", true, "keywords_only", true) -- block_id -- key -- data range -- only top kw -- only get kw
  38. 38. =BLOCKSPRING ("identify-keywords-from-url-with-alchemyapi", "url", ANY CELL, "get_top", true, "keywords_only", true) -- block_id -- key -- data range -- only top kw -- only get kw
  39. 39. =BLOCKSPRING ("identify-keywords-from-url-with-alchemyapi", "url", A2, "get_top", true, "keywords_only", true) -- block_id -- key -- data range -- only top kw -- only get kw
  40. 40. @recal1brate #StateofSearch
  41. 41. @recal1brate #StateofSearch
  42. 42. SEMrush.com @recal1brate #StateofSearch
  43. 43. http://us.api.semrush.com/?action=report&type= phrase_this&key=XXXXXXXX&display_limit=1&ex port=api&export_columns=Nq&phrase= @recal1brate #StateofSearch
  44. 44. http://us.api.semrush.com/ ?action=report &type=phrase_this &key=XXXXXXXX &display_limit=1 &export=api &export_columns=Nq &phrase= @recal1brate #StateofSearch
  45. 45. http://us.api.semrush.com/ ?action=report &type=phrase_this &key=XXXXXXXX &display_limit=1 &export=api &export_columns=Nq &phrase= -- action -- report type -- key -- only top kw -- search vol. @recal1brate #StateofSearch
  46. 46. http://us.api.semrush.com/?action=report&type=phrase_this&key=XX XXXXXX&display_limit=1&export=api&export_columns=Nq&phrase= @recal1brate #StateofSearch
  47. 47. =importdata(“http://us.api.semrush.com/?action=report&type=phrase _this&key=XXXXXXXX&display_limit=1&export=api&export_columns=N q&phrase=“ & A2) @recal1brate #StateofSearch
  48. 48. =importdata(“http://us.api.semrush.com/?action=report&type=phrase _this&key=XXXXXXXX&display_limit=1&export=api&export_columns=N q&phrase=“ & A2) @recal1brate #StateofSearch
  49. 49. =query(importdata(“http://us.api.semrush.com/?action=report&type= phrase_this&key=XXXXXXXX&display_limit=1&export=api&export_colu mns=Nq&phrase=“ & A2) ,"SELECT Col1 LABEL Col1 ''") @recal1brate #StateofSearch
  50. 50. =query(importdata(“http://us.api.semrush.com/?action=report&type= phrase_this&key=XXXXXXXX&display_limit=1&export=api&export_colu mns=Nq&phrase=“ & A2) ,"SELECT Col1 LABEL Col1 ''") @recal1brate #StateofSearch
  51. 51. =query(importdata(“http://us.api.semrush.com/?action=report&type= phrase_this&key=efe27397c4a7c72769912327d8253f3c&display_limit =1&export=api&export_columns=Nq&phrase=“ & A2) ,"SELECT Col1 LABEL Col1 ''") @recal1brate #StateofSearch
  52. 52. @recal1brate #StateofSearch
  53. 53. @recal1brate #StateofSearch
  54. 54. Column A: The keyword you want to report on @recal1brate #StateofSearch
  55. 55. Column B: Monthly Search Volume =query(importdata("http://us.api.semrush.com/? action=report&type=phrase_this&key=XXXXXXXX &display_limit=1&export=api&export_columns=N q&phrase=" & A2),"SELECT Col1 LABEL Col1 ''") @recal1brate #StateofSearch
  56. 56. Column C: Keyword Difficulty =query(importdata("http://us.api.semrush.com/? action=report&type=phrase_this&key=XXXXXXXX &display_limit=1&export=api&export_columns=C o&phrase=" & A2),"SELECT Col1 LABEL Col1 ''") @recal1brate #StateofSearch
  57. 57. Column D: Ranking (pulling from the Blockspring report) =vlookup(A2,'Domain Organic Search Keywords'!A2:I109,2) @recal1brate #StateofSearch
  58. 58. Column E: Ranking URL (pulling from the Blockspring report) =vlookup(A2,'Domain Organic Search Keywords'!A2:I109,9) @recal1brate #StateofSearch
  59. 59. Column F: Ranking URL Title =ImportXML(E2, "//title") @recal1brate #StateofSearch
  60. 60. Column G: Ranking URL H1 =ImportXML(E2, "//h1") @recal1brate #StateofSearch
  61. 61. @recal1brate #StateofSearch
  62. 62. We have our target keyword, our ranking URL, and nifty formulas. Let’s evaluate the on-page elements! @recal1brate #StateofSearch
  63. 63. Column H: Title includes keyword? =if((search(A2,F2)),"Yes.") @recal1brate #StateofSearch
  64. 64. Column I: H1 includes keyword? =if((search(A2,G2)),"Yes.") @recal1brate #StateofSearch
  65. 65. @recal1brate #StateofSearch
  66. 66. @recal1brate #StateofSearch
  67. 67. @recal1brate #StateofSearch
  68. 68. @recal1brate #StateofSearch
  69. 69. @recal1brate #StateofSearch
  70. 70. @recal1brate #StateofSearch
  71. 71. @recal1brate #StateofSearch
  72. 72. @recal1brate #StateofSearch
  73. 73. Unbiased algorithmic confirmation that your content is targeted to your focus keywords @recal1brate #StateofSearch
  74. 74. Title and H1 including keywords usually indicates purposeful targeting. @recal1brate #StateofSearch
  75. 75. So from here, we can determine content opportunities. @recal1brate #StateofSearch
  76. 76. 1. We have site relevance 2. We have search volume data 3. We have keyword difficulty data @recal1brate #StateofSearch
  77. 77. “local link building” @recal1brate #StateofSearch
  78. 78. @recal1brate #StateofSearch
  79. 79. What about visual keyword analysis? @recal1brate #StateofSearch
  80. 80. @recal1brate #StateofSearch
  81. 81. @recal1brate #StateofSearch
  82. 82. Easy visual reporting that gets buy-in @recal1brate #StateofSearch
  83. 83. What did we learn? Data Sources • Google Analytics Add-on • Blockspring Queries • Blockspring Full Reports • API Calls Formulas • =importDATA • =importXML • =query • =blockspring • =vlookup • =if((search @recal1brate #StateofSearch
  84. 84. Never look at basic reporting again! @recal1brate #StateofSearch
  85. 85. Thank you! Link to Google Sheet w/ Formulas: http://riis.es/1LkdTx1 @recal1brate #StateofSearch

×