An Elegant Solution For Tracking and Executing Semantic SEO

Post on 14-Jul-2015

6,720 views 6 download

Tags:

transcript

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Tag Management. Engage!THE NEXT GENERATION OF STRUCTURED DATA: An Elegant Solution for Tracking & Executing Semantic SEO

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Mike ArnesenDirector of Analytics & Optimization

at SwellPath@mike_arnesen

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Downloadbit.ly/semantic-west

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Rich snippets that

don’t need microdata!

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

No elegant solution

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

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

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

That’s not good enough!

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Exhibit A

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Exhibit B

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

There’s got to be

a better way!

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

We can re build it.

We have the technology.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Tag Management. Engage!

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

1. Tags

2. Rules

3. Macros

A Quick Overview

of Tag Management

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

The ones you used to hardcode

Tags

Google Analytics Tracking Code

Event Tracking

AdWords Conversion Pixels

Remarketing Tags

Custom HTML/JavaScript

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

A rule triggers a tag(s) to fire

Rules

Fire when URL = x

Fire when Event = x

Fire when Class = x

Fire when {{macro}} = x

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Variables you can use in tags and rules

Macros

{{tracking IDs}}

{{event values}}

{{lookup tables}}

{{dataLayer variables}}

{{custom JavaScript}}

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

A Basic Example

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

But wait…

there’s more.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Analytics, meet semantics.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Applying the principles of

the semantic web to your

analytics & data collection methodology

moz.com/blog/semantic-analytics

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

1. Tags

2. Rules

3. Macros

Walk-through time!

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

1. Macros

2. Rules

3. Tags

Walk-through time!

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

“Semantic Markup Detection”

Macro

Detects semantic markup in source code

function () {

var SemElem = document.querySelectorAll('[itemtype*="Event"]');

SemElem = SemElem.length > 0 ? true : false;

return SemElem;

}

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

“Semantic Values”

Macro

Dynamically builds labels for analytics

function () {

var venue = $('[itemtype*="Event"] [itemprop*="name"]') [0];

var performer = $('[itemtype*="Event"] [itemprop*="performer"]') .text();

venue = $(venue).text();

label = performer + " at " + venue + " (Semantic Event)”;

}

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

“Semantic Markup Exists”

Rule

Triggers if semantic markup exists

{{event}} equals “gtm.dom”;

{{semantic markup detection}} equals “true”;

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Attach to “Page View” tag

Tag

Triggers if semantic markup exists

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Enjoy!

Apply “Semantic Markup” as a secondary dimension

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

A more elegant solution

for a more civilized age.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

DATALAYER

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Application

Layer

Data

Layer

Experience

Layer

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Application

Layer

Data

Layer

Experience

Layer

WOW

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JavaScript Object Notation for Linked Data

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JavaScript Object Notation for Linked Data

JavaScript

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JavaScript Object Notation for Linked Data

JavaScript

Structured Data

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JavaScript is a transporter for Structured Data

JavaScript

Structured Data

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD via GTM via DataLayer

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD via GTM via DataLayer

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD via GTM via DataLayer

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD via GTM via DataLayer

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Semantic Analytics from dataLayer<script> - dataLayer

Populate a dataLayer with application layer (database) info

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Semantic Analytics from dataLayerMacro - “dataLayer – {{itemprop}}”

Then create dataLayer Variable Macros in GTM

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Semantic Analytics from dataLayerMacro - “Semantic Custom Dimension Values”

Then create JavaScript Macro to build analytics values

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Semantic Analytics from dataLayerMacro - “Semantic Custom Dimension Values”

Then create JavaScript Macro to build analytics values

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Semantic Analytics from dataLayerTag – Add to “Page View”

Use the Macro to set your semantic Custom Dimension

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Here’s where it gets really cool.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD from DataLayer via GTM

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD from DataLayer via GTM

Create a Custom HTML tag, using Macros as variables

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD from DataLayer via GTM

Fire the tag on all pages with semantic data

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

JSON-LD from DataLayer via GTM

It’s always a good idea to validate!developers.google.com/structured-data/testing-tool/

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Rich Snippets in Search

without having to markup content!

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Epilogue

Don’t just implement structured data.

Track its performance.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Epilogue

Leverage semantic data.

to enhance your analytics.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Epilogue

Let semantic analytics

inform your marketing strategy.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Epilogue

Simplify your rollout using JSON-LD

powered by a rich dataLayer.

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Downloadbit.ly/semantic-west

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

Link Bundlebit.ly/next-gen-data

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a

searchmarketingexpo.com@Mike_Arnesen

#SMX #31a