Post on 21-Apr-2017
transcript
The next generation
Implementing semantic analytics & pushing structured data
Mike Arnesen Director of Analytics & Optimization
at SwellPath mike.arnesen@swellpath.com
@mike_arnesen
@mike_arnesen #SMX
@mike_arnesen #SMX
Rich snippets that don’t need microdata!
@mike_arnesen #SMX
What can we try?
@mike_arnesen #SMX
How about?
1. Track which pages display rich
snippets in the SERPs
2. Look at traffic to organic landing pages
3. Merge and match up the data
@mike_arnesen #SMX
That’s not good enough!
@mike_arnesen #SMX
Exhibit A
@mike_arnesen #SMX
Exhibit B
@mike_arnesen #SMX
There’s got to be
a better way! @mike_arnesen #SMX
We can re build it
We have the technology @mike_arnesen #SMX
Google Tag Manager
Engage! @mike_arnesen #SMX
A Quick Overview of Tag Management
1. Tags 2. Rules 3. Macros
@mike_arnesen #SMX
Tags The ones you used to hardcode
Google Analytics Tracking CodeEvent TrackingAdWords Conversion PixelsRemarketing TagsCustom HTML/JavaScript
@mike_arnesen #SMX
Rules A rule triggers a tag(s) to fire
Google Analytics Tracking CodeEvent trackingAdWords Conversion PixelsRemarketing TagsCustom HTML/JavaScript
Fire when URL = xFire when Event = xFire when Class = xFire when {{macro}}= x
@mike_arnesen #SMX
Macros Variables you can use in tags and rules
Google Analytics Tracking CodeEvent trackingAdWords Conversion PixelsRemarketing TagsCustom HTML/JavaScript
Fire when URL = xFire when Event = xFire when Class = xFire when {{macro}}= x
{{tracking IDs}}{{event values}}{{lookup tables}}{{dataLayer variables}}{{custom JavaScript}}
@mike_arnesen #SMX
A Basic Example
@mike_arnesen #SMX
But wait… there’s more. @mike_arnesen #SMX
Analytics, meet semantics
@mike_arnesen #SMX
moz.com/blog/semantic-analytics
Semantic Analytics “Applying the principles of
the semantic web to your
analytics & data collection methodology”
@mike_arnesen #SMX
Semantic Analytics “Applying the principles of
the semantic web to your
analytics & data collection methodology”
Walk-through time!
1. Tags 2. Rules 3. Macros
@mike_arnesen #SMX
Walk-through time!
1. Macros 2. Rules 3. Tags
@mike_arnesen #SMX
Macro “Semantic Markup Detection”
function () { var SemElem = document.querySelectorAll('[itemtype*="Event"]'); SemElem = SemElem.length > 0 ? true : false; return SemElem;}
Detects semantic markup in source code
@mike_arnesen #SMX
Macro “Semantic Values”
function () { var venue = $('[itemtype*="Event"] [itemprop*="name"]') [0]; var performer = $('[itemtype*="Event"] [itemprop*="performer"]') .text(); venue = $(venue).text(); label = performer + " at " + venue + " (Semantic Event)”;}
Dynamically builds labels for analytics
@mike_arnesen #SMX
Rule “Semantic Markup Exists”
{{event}} equals “gtm.dom”;{{semantic markup detection}} equals “true”;
Triggers if semantic markup exists
@mike_arnesen #SMX
Tag Attach to “Page View” tag
{{event}} equals “gtm.dom”;{{semantic markup detection}} equals “true”;
Sends semantic data as a custom variable
@mike_arnesen #SMX
Enjoy! “Page View” or “Semantic Analytics”
{{event}} equals “gtm.dom”;{{semantic markup detection}} equals “true”;
Apply “Semantic Markup” as a secondary dimension
@mike_arnesen #SMX
A more elegant solution for a more civilized age. @mike_arnesen #SMX
DATALAYER
@mike_arnesen #SMX
Application
Layer
Data
Layer
Experience
Layer
@mike_arnesen #SMX
Application
Layer
Data
Layer
Experience
Layer
WOW
@mike_arnesen #SMX
JavaScript Object Notation for Linked Data
@mike_arnesen #SMX
JavaScript Object Notation for Linked Data
JavaScript
@mike_arnesen #SMX
JavaScript Object Notation for Linked Data
JavaScript
Structured Data
@mike_arnesen #SMX
JavaScript is a transporter for Structured Data
JavaScript
Structured Data
@mike_arnesen #SMX
JSON-LD via GTM via DataLayer
@mike_arnesen #SMX
JSON-LD via GTM via DataLayer
@mike_arnesen #SMX
JSON-LD via GTM via DataLayer
@mike_arnesen #SMX
JSON-LD via GTM via DataLayer
@mike_arnesen #SMX
Semantic Analytics from dataLayer
<script> - dataLayer
Populate a dataLayer with application layer (database) info
@mike_arnesen #SMX
Semantic Analytics from dataLayer
Macro - “dataLayer – {{itemprop}}”
Then create dataLayer Variable Macros in GTM
@mike_arnesen #SMX
Semantic Analytics from dataLayer
Macro - “Semantic Custom Dimension”
Then create JavaScript Macro to build analytics values
@mike_arnesen #SMX
Semantic Analytics from dataLayer
Macro - “Semantic Custom Dimension”
Then create JavaScript Macro to build analytics values
@mike_arnesen #SMX
Semantic Analytics from dataLayer
Tag – Add to “Page View”
Use the Macro to set your semantic Custom Dimension
@mike_arnesen #SMX
Here’s where it gets really cool
@mike_arnesen #SMX
JSON-LD from DataLayer via GTM
JSON-LD Custom Tag
Google Indexable
Structured Data
dataLayer Variable Macros
dataLayer values
@mike_arnesen #SMX
JSON-LD from DataLayer via GTM
Create a Custom HTML tag, using Macros as variables
@mike_arnesen #SMX
JSON-LD from DataLayer via GTM
Fire the tag on all pages with semantic data
@mike_arnesen #SMX
JSON-LD from DataLayer via GTM
It’s always a good idea to validate! developers.google.com/structured-data/testing-tool/
@mike_arnesen #SMX
Rich Snippets in Search
Without having to markup content!!!
@mike_arnesen #SMX
@mike_arnesen #SMX
Epilogue
Don’t just implement structured data.
Track its performance.
@mike_arnesen #SMX
Epilogue
Leverage semantic data
to enhance your analytics.
@mike_arnesen #SMX
Epilogue
Let semantic analytics
inform your marketing strategy.
@mike_arnesen #SMX
Epilogue
Simplify your rollout using JSON-LD
powered by a rich dataLayer.
@mike_arnesen #SMX
Download bit.ly/semantic-west
@mike_arnesen #SMX
Link Bundle bit.ly/next-gen-data
@mike_arnesen #SMX
Link Bundle bit.ly/next-gen-data
@mike_arnesen #SMX
Implementing semantic analytics & pushing structured data
Thank you!
Mike Arnesen Director of Analytics & Optimization
at SwellPath google.com/search?mike+arnesen
Download: bit.ly/semantic-west