Upload
-ryan-mclaughlin-
View
4.034
Download
1
Embed Size (px)
Citation preview
November 17th, 2015
RIISE.co @RIISE
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
Why report via Google Sheets?
@recal1brate #StateofSearch
The goal is to take reporting from this…
@recal1brate #StateofSearch
… to this!
@recal1brate #StateofSearch
No matter how good your work is…
if you’re not watching the right stuffat the right time, you lose.
@recal1brate #StateofSearch
And if you’re watching the wrong metrics…
… your execution will miss the mark.
@recal1brate #StateofSearch
Benefits to Google Sheets Custom Reporting & Tools
@recal1brate #StateofSearch
It’s not necessary to know how to code
@recal1brate #StateofSearch
In times of internal conflict, you can always point to the scoreboard.
@recal1brate #StateofSearch
You won’t have to walk into meetings looking like this.
@recal1brate #StateofSearch
Good planning leads to good results.
@recal1brate #StateofSearch
@recal1brate #StateofSearch
Step 1: Install the add-on to Google Sheetshttps://chrome.google.com/webstore/detail/google-analytics/fefimfimnhjjkomigakinmjileehfopp?hl=en
@recal1brate #StateofSearch
Step 2: Create new report
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
Step 3: Run reports
@recal1brate #StateofSearch
Change dimension to: “Date”
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
AlchemyAPI uses natural language processing techniques to analyze your content and add
high-level semantic information.
@recal1brate #StateofSearch
AlchemyAPI Language Demohttp://www.alchemyapi.com/products/demo/alchemylanguage
@recal1brate #StateofSearch
AlchemyAPILanguage Demo
AlchemyAPILanguage Demo
=BLOCKSPRING("identify-keywords-from-url-with-alchemyapi", "url",
"http://www.imdb.com/title/tt0070992/", "get_top", true, "keywords_only", true)
@recal1brate #StateofSearch
=BLOCKSPRING("identify-keywords-from-url-with-alchemyapi", "url",
"http://www.imdb.com/title/tt0070992/", "get_top", true, "keywords_only", true)
@recal1brate #StateofSearch
=BLOCKSPRING("identify-keywords-from-url-with-alchemyapi", "url", "http://www.imdb.com/title/tt0070992/", "get_top", true, "keywords_only", true)
=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
=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
=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
@recal1brate #StateofSearch
@recal1brate #StateofSearch
SEMrush.com@recal1brate #StateofSearch
http://us.api.semrush.com/?action=report&type=phrase_this&key=XXXXXXXX&display_limit=1&ex
port=api&export_columns=Nq&phrase=
@recal1brate #StateofSearch
http://us.api.semrush.com/?action=report&type=phrase_this&key=XXXXXXXX&display_limit=1&export=api&export_columns=Nq&phrase=
@recal1brate #StateofSearch
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
http://us.api.semrush.com/?action=report&type=phrase_this&key=XXXXXXXX&display_limit=1&export=api&export_columns=Nq&phrase=
@recal1brate #StateofSearch
=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
=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
=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
=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
=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
@recal1brate #StateofSearch
@recal1brate #StateofSearch
Column A: The keyword you want to report on
@recal1brate #StateofSearch
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
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
Column D: Ranking(pulling from the Blockspring report)
=vlookup(A2,'Domain Organic Search Keywords'!A2:I109,2)
@recal1brate #StateofSearch
Column E: Ranking URL(pulling from the Blockspring report)
=vlookup(A2,'Domain Organic Search Keywords'!A2:I109,9)
@recal1brate #StateofSearch
Column F: Ranking URL Title
=ImportXML(E2, "//title")
@recal1brate #StateofSearch
Column G: Ranking URL H1
=ImportXML(E2, "//h1")
@recal1brate #StateofSearch
@recal1brate #StateofSearch
We have our target keyword, our ranking URL, and nifty formulas.
Let’s evaluate the on-page elements!@recal1brate #StateofSearch
Column H: Title includes keyword?
=if((search(A2,F2)),"Yes.")
@recal1brate #StateofSearch
Column I: H1 includes keyword?
=if((search(A2,G2)),"Yes.")
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
Unbiased algorithmic confirmation that your content is targeted to your focus keywords
@recal1brate #StateofSearch
Title and H1 including keywords usually indicates purposeful targeting.
@recal1brate #StateofSearch
So from here, we can determinecontent opportunities.
@recal1brate #StateofSearch
1. We have site relevance2. We have search volume data
3. We have keyword difficulty data
@recal1brate #StateofSearch
“local link building”
@recal1brate #StateofSearch
@recal1brate #StateofSearch
What about visual keyword analysis?
@recal1brate #StateofSearch
@recal1brate #StateofSearch
@recal1brate #StateofSearch
Easy visual reporting that gets buy-in
@recal1brate #StateofSearch
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
Never look at basic reporting again!
@recal1brate #StateofSearch
Thank you!
Link to Google Sheet w/ Formulas:http://riis.es/1LkdTx1
@recal1brate #StateofSearch