SlideShare une entreprise Scribd logo
1  sur  96
Télécharger pour lire hors ligne
All about Engagement with
Universal Analytics
Nico Miceli
+nico miceli|@nicomiceli
At work:
- Marketer at the core
- Technical Analytics
@SEERInteractive
- GDE for Google
Analytics
For Fun:
Hacker/Maker
People Watcher
Quantified Selfer
Curious Dude
Who are you?
First,
what is
engagement?
I am going to talk
about:
Event Tracking
Custom Dimensions
Cross Device Management
The Measurement Protocol
The old days
Analytics
was easier
But after
a couple
years…
The web
got way
cooler
Tracking got
harder
With great power apps comes great
responsibility tracking needs
Welcome to
Universal Analytics
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript';
ga.async = true; ga.src = ('https:' == document.location.protocol ?
'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s =
document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga,
s); })();
javascript
ga.js
Old
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[
r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.
parentNode.insertBefore(a,m)})(window,document,'script','//www.google-
analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-Y', 'nicomiceli.com');
ga('send', 'pageview');
analytics.js
javascript
New!
Thank You!
Any Questions?
Just Kidding!
It’s more than just an upgrade.
“Google Analytics
is becoming user
or customer
centric rather
than visit centric.”
- Justin Curtoni
Analytics Advocate,
Google Inc.
Question 1
Are my users…
sharing pictures
watching videos
clicking links
having trouble with my forms
Event Tracking
Shows how people are engaging with your site
Event tracking is a GA method
that tracks engagement. It
consists of four values that
you can use to describe a
user's interaction
Value Type Required Description
Category String Yes Typically the object that was interacted with (e.g. button)
Action String Yes The type of interaction (e.g. click)
Label String No Useful for categorizing events (e.g. nav buttons)
Value Number No Values must be non-negative. Useful to pass counts (e.g. 4
times)
Example Button Click
<button id="b1">Click Me</button>
<script>
$('#b1').click(function(){
ga('send', // send command - REQUIRED
'event', // type of thing to send - REQUIRED
'category', // category of event - REQUIRED
'action', // action of the event - REQUIRED
'label', // the element that was clicked - OPTIONAL
5 // the value of the event that was clicked - OPTIONAL
);
});
</script>
ga('send','event','category','action','opt_label',opt_value)
Don’t forget about
hidden content
Are people
viewing
your tabs?
$('#tabID').click(function(){
ga('send', // send command – REQUIRED
'event', // type of thing to send – REQUIRED
'tabs', // category of event – REQUIRED
'click', // action of the event – REQUIRED
$(this).id, // the element that was clicked - OPTIONAL
);
});
</script>
There is
so
much
data in
Forms!
Track interaction
with input boxes
with onblur
Post: bit.ly/1he1SRK by @iamchrisle
Help users through
your forms by tracking
they’re errors
Post: bit.ly/1he1SRK by @iamchrisle
The Stats
Show stats from RCS infographic
Drill down to NYC
Track embeded
multimedia
They all have Player
API’s!
YouTube Event Tracking
Example
//load youtube video with JavaScript API
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: 390,
width: 640,
videoId: "videoidxyz",
events: {
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
switch (event.data) {
case YT.PlayerState.PLAYING:
ga("send", "event", "video", "play", "video name")
break;
case YT.PlayerState.ENDED:
ga("send", "event", "video", "end", "video name")
break;
case YT.PlayerState.PAUSED:
ga("send", "event", "video", "pause", "video name")
break;
}
}
Wistia<div id="wistia_v059er99tw" class="wistia_embed" style="width:640px;height:426px;"> &nbsp; </div>
<script charset="ISO-8859-1" src="http://fast.wistia.com/assets/external/E-v1.js"> </script>
<script>
wistiaEmbed = Wistia.embed("video-id-here");
wistiaEmbed.bind('play',function() {
//console.log('play')
ga('send','event','video-wistia','play','wistia-video-1')
})
wistiaEmbed.bind('pause',function() {
//console.log('paused')
ga('send','event','video-wistia','pause','wistia-video-1')
})
wistiaEmbed.bind("end", function () {
//console.log('ended');
ga('send','event','video-wistia','ended','wistia-video-1')
});
</script>
Question 2
Are my users engaged users…
buying
performing the desired 2nd action
requesting more information
Custom Dimensions
Send extra information to Google Analytics
Custom Dimensions
allow you to push
custom data to Google
Analytics and group
things together
Note: You only get 20 but they 1 can have multiple labels
Set the Scope
The scope tells GA how
long the custom
dimensions should
follow the user
3 Types of Scope
Hit - value is
applied to the
single hit for which
it has been set.
Hit
What authors get viewed viewed the most?
Blog post
1 by Chris
Blog post
2 by Kevin
Blog post
3 by Nico
Blog post
4 by Kevin
Blog post
5 by Chris
Blog post
6 by Nico
Blog Post
7 by Kevin
Pageview=blog-1/ Pageview=/blog-5/ Pageview=/blog-4/ Pageview=/blog-2/
cd1_value=Author_Kevin cd1_value=Author_Nico cd1_value=Author_Kevin
cd1_value=Author_Kevincd1_value=Author_Nicocd1_value=Author_Chris
cd1_value=Author_Chris
Pageview=/blog-7/Pageview=/blog-2/Pageview=/blog-4/
Processing
Every hit gets processed with the Custom Dimension of the author’s name
ClientID = 232
Session 1
H1: pageview=/blog-post-1/ cd1_value=Author_Chris
H2: pageview =/blog-post-5/ cd1_value=Author_Kevin
ClientID = 343
Session 1
H1: pageview =/blog-post-4/ cd1_value=Author_Nico
H2: pageview =/blog-post-2/ cd1_value=Author_Kevin
H3: pageview =/blog-post-7/ cd1_value=Author_Chris
H4: pageview =/blog-post-6/ cd1_value=Author_Nico
H5: pageview =/blog-post-9/ cd1_value=Author_Kevin
Reporting
Example Report
Author Blog posts Viewed
Author Nico 2
Author Kevin 3
Author Chris 2
3 Types of Scope
Session - value is
applied to all hits in a
single session where
idle time is < 30 mins.
Session
Do people who watch my videos end up converting?
Go product
page
Watch
video
Click on
tabs
Read
reviews
Sign up
Pageview=blog-1/ event= video, play, video1 event= tabs, click, info
Pageview=reviews/ event = forms, sign up, more info
Remember event tracking parameters = category, action, label
Cd2 = video watcher
Cd2 = video watcher
Video event triggers
custom dimension 2
3 Types of Scope
User - value is applied to all
hits in current and future
sessions, until value changes
or custom dimension is made
inactive.
Users
How do the paid users differ from the free users
Go to
site
Log in
View
blog
Listen to
music
Go to site
View help
page
View blog
Listen to
music
Pageview=/ Pageview = welcome Pageview= /blog/ event= music, play, song1
Pageview=/ Pageview=/help/ Pageview=/blog/ event= music, play, song2
Cd3 = video watcher
Cd3 = video watcher
Session 1
Session 2
But what if they switch to
another device
Woz’s
travel bag
we lost him… we can't find Stu the user
Question 3
Are my users…
using different devices
performing different actions on
different devices
Cross Device Management
Track users across different devices
Client ID
Normally GA stores an
anonymous Client ID for
the user
It starts with User-ID
feature
- The user ID lets you create your own
persistent anonymous id and override GA’s
- You can tie hits & sessions to the same
users when they log in on different devices
It starts with User-ID feature
Make sure the User ID is:
- Non-personally identifiable
- Unique to a user of your service or
app
- Persistent for a
signed-in user across
all devices
Web:
ga('create', 'UA-XXXX-Y', 'auto');
if (auth.userSignedInVlaue) {
ga('set', '&uid', {{ USER_ID }});
};
ga('send', 'pageview');
Android:
t.set("&uid", {{ USER_ID }});
iOS:
[tracker set:@"&uid" value:{{ USER_ID
}}];
Setting it up in the App
- Enable
UserID
in Admin
- Make a new
View
Things to note:
1- the profile will only show hits with the
UserID present
2- number of Users is calculated based on
the number of unique User-ID values.
3- date range max will only be 90 days
4- Once you enable the User ID feature for
a view (profile), you cannot disable it.
What can we learn from that?
Where your customers
research and where
they buy & how their
activity differs
What can we learn from
that?
We can
see
device
overlap
reports
& Device
paths!
Question 4
What if the users…
aren’t on tablets or computers
do other things offline
Measurement Protocol
Make HTTP requests to send raw user interaction data directly to Google Analytics servers.
The measurement protocol lets you
send data to Google Analytics via
HTTP Requests to this endpoint.
http://www.google-analytics.com/collect
http://ssl.google-analytics.com/collect
With these values required for all hits
Name Parameter Example Description
Protocol Version v v=1 The protocol version. The
value should be 1.
Tracking ID tid tid=UA-123456-1 The ID that distinguishes to
which Google Analytics
property to send data.
Client ID cid cid=xxxxx An ID unique to a particular
user.
Hit Type t t=pageview The type of interaction
collected for a particular
user.
How about physical data?
Lets test it
Offline ?
Ok, it wasn’t that complicated
Rasberry Pi + PIR Sensor +
lil’ Python = movement in GA
import time
import urllib2
import RPi.GPIO as io
io.setmode(io.BCM)
pir_pin = 18
io.setup(pir_pin, io.IN
def hitGA():
urllib2.urlopen("http://ww
w.google-
analytics.com/collect?v=1&
tid=UA-XXXXXX-
Y&cid=1111&t=event&ec=Move
ment&ea=livingRoom&el=desk
").close
while True:
if io.input(pir_pin):
hitGA()
Total cost $60
Sleep Tracker v1
At SEER we like to have events
What’s a good area to track
“We used a raspberry pi to track trips to the keg at #searchchurch in
Google analytics pic.twitter.com/tr9XLMSRRD by @NicoMiceli”
- @wilreynolds
That was fun!
Now for the serious
examples!
Client ID or User ID
Question Client ID User ID
What does the ID
Represent?
An anonymous device or browser instance. A single user, like a signed-in user account, that may interact with
content across one or more devices and / or browser instances.
How is the ID Set? Randomly generated and automatically sent
with all hits by Google Analytics libraries.
You must set and send your own userIds with your Google Analytics
hits.
How is ID Used to
Calculate Unique
Users?
In a non-User-ID-enabled view (profile), Client
ID is used to calculate unique users.
In a User-ID-enabled view (profile), User ID is used to calculate unique
users
There are two ways to associate a hit
to a user with the measurement
protocol
Examples: Lead gen vs eComm
Lets talk Lead Gen
The lead gen process
Go to site
Browse
around
Fill out form
Form goes to
DB
BizDev
follows up
with call
Lead turns to
Qualified
BizDev sends
proposal
Client signs
agreement
New Lead
Nico
Miceli
CompanyX
.com
What GA sees
Go to site
Browse
around
Fill out form
Form goes to
DB
BizDev follows
up with call
Thumbs Up!
Lead turns to
Qualified
BizDev sends
proposal
Client signs
agreement
New Lead
Nico
Miceli
CompanyX
Push the client ID with
your form
submissions… hindenly
<form id="lead-form" method="POST" action="/lead">
<input id="name" type="text" /><BR>
<input id="phone" type="text" /><BR>
<!-- make a hidden input field and store the client ID in it -->
<input id="clientcookie" type="hidden" /><BR>
</form>
<script type="text/javascript">
$(document).ready(function(){
ga(function(tracker) {
clientID = tracker.get('clientId'); //grab the current users anonymous client ID
document.getElementById('clientcookie').value = clientID;
//set the value of client ID to the hidden input field
});
});
</script>
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
<form id="lead-form" method="POST" action="/lead">
<input id="name" type="text" /><BR>
<input id="phone" type="text" /><BR>
<!-- make a hidden input field and store the client ID in it -->
<input id="clientcookie" type="hidden" /><BR>
</form>
<script type="text/javascript">
$(document).ready(function(){
ga(function(tracker) {
clientID = tracker.get('clientId'); //grab the current users anonymous client ID
document.getElementById('clientcookie').value = clientID;
//set the value of client ID to the hidden input field
});
});
</script>
The lead gen process
Go to site
Browse
around
Fill out form
Form goes to
DB
BizDev
follows up
with call
Lead turns to
Qualified
BizDev sends
proposal
Client signs
agreement
New Lead
Nico
Miceli
CompanyX
CID: 777
cid:777 cid:777
cid:777 cid:777
Send new data with the
Measurement protocol
Get Email
Go to
eComm.com
Log in to get
coupon
Print Out
Coupon
Go to the
eComm
Store
Spend
coupon +
$100
eComm to comm…
Get Email
Go to
eComm.com
Log in to get
coupon
Print Out
Coupon
Go to the
eComm
Store
Spend
coupon +
$100
eComm to comm
auth = true
Get Email
Go to
eComm.com
Log in to get
coupon
Print Out
Coupon
Go to the
eComm
Store
Spend
coupon +
$100
eComm to comm
auth = true
UID=123
UID=123 UID=123
I can now see user pain
points in my app, learn
the impact of the bells &
whistle, I can understand
the users on across
devices, I can associate
them with real world
data.
TL;DR Events
Use Google Analytics to track engagement via JS events
ga('send','event','category','action','opt_label
',opt_value)
TL;DR Custom Dimensions
Allows you to group things and send more data to Google
Analytics
Step 1: Create a Name that you want to show up in reports
Step 2: Set the Scope
Step 3: Make it Active
TL;DR Cross Device Management
Allows you to track a user across different devices
Step 1: Enable it in the web app
Step 2: Connect a persistent anonymous ID to each user
Step 3: Add it to your code
TL;DR measurement Protocol
Allows you to send data to GA via HTTP Requests
Allows you to connect real world with internet world
The length of the entire encoded URL must be no longer than
2000 Bytes.
Resources
Google Analytics Debugger Chrome Extension
Google Analytics Developer Google+ Community
Stack Overflow Google Analytics Tag
All links will be on my G+ page
tomorrow
Google.com/+nicomiceli
@nicomiceli
We’re Hiring! seer.is/jobbies

Contenu connexe

Similaire à All about engagement with Universal Analytics @ Google Developer Group NYC May Meet Up

Usando metodologías ágiles en UX
Usando metodologías ágiles en UX Usando metodologías ágiles en UX
Usando metodologías ágiles en UX Paradigma Digital
 
Google Analytics for Beginners - Training
Google Analytics for Beginners - TrainingGoogle Analytics for Beginners - Training
Google Analytics for Beginners - TrainingRuben Vezzoli
 
Evolution or Extinction: Survive and Thrive with New Google Analytics Features
Evolution or Extinction:Survive and Thrive with New Google Analytics FeaturesEvolution or Extinction:Survive and Thrive with New Google Analytics Features
Evolution or Extinction: Survive and Thrive with New Google Analytics Features4Ps Marketing
 
Google Analytics Fundamentals
Google Analytics FundamentalsGoogle Analytics Fundamentals
Google Analytics FundamentalsAvinash Dubey
 
Cross-device tracking with Google Analytics - Thomas Danniau @ gaucBE
Cross-device tracking with Google Analytics - Thomas Danniau @ gaucBECross-device tracking with Google Analytics - Thomas Danniau @ gaucBE
Cross-device tracking with Google Analytics - Thomas Danniau @ gaucBEThe Reference
 
Track Report & Optimize Your Web Creations
Track Report & Optimize Your Web CreationsTrack Report & Optimize Your Web Creations
Track Report & Optimize Your Web CreationsEmpirical Path
 
Columbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdf
Columbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdfColumbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdf
Columbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdfTim Wilson
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoMoldova ICT Summit
 
Google Analytics Workshop 2013
Google Analytics Workshop 2013Google Analytics Workshop 2013
Google Analytics Workshop 2013Milad Safarzadeh
 
SEMNE Google Analytics Master Class - 15 Oct 2014
SEMNE Google Analytics Master Class - 15 Oct 2014SEMNE Google Analytics Master Class - 15 Oct 2014
SEMNE Google Analytics Master Class - 15 Oct 2014Jay Murphy
 
Google Analytics & UX
Google Analytics & UXGoogle Analytics & UX
Google Analytics & UXKatrin Mathis
 
IRJET - An Event Management System with Post Event Features
IRJET - An Event Management System with Post Event FeaturesIRJET - An Event Management System with Post Event Features
IRJET - An Event Management System with Post Event FeaturesIRJET Journal
 
Behind the Bounce: Understanding Metrics and Engagement
Behind the Bounce: Understanding Metrics and EngagementBehind the Bounce: Understanding Metrics and Engagement
Behind the Bounce: Understanding Metrics and EngagementTaboola
 
Hands on SPA development
Hands on SPA developmentHands on SPA development
Hands on SPA developmentShawn Constance
 
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.pptDevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.pptVinoaj Vijeyakumaar
 
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docxCMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docxmccormicknadine86
 
Jack borden jb471909_segment
Jack borden jb471909_segmentJack borden jb471909_segment
Jack borden jb471909_segmentjborden33
 
EDA - FE Training - Excercise.pptx
EDA - FE Training - Excercise.pptxEDA - FE Training - Excercise.pptx
EDA - FE Training - Excercise.pptxVoce1
 
GTUG Philippines - Implementing Google Analytics - 2011-10-11
GTUG Philippines - Implementing Google Analytics - 2011-10-11GTUG Philippines - Implementing Google Analytics - 2011-10-11
GTUG Philippines - Implementing Google Analytics - 2011-10-11Vinoaj Vijeyakumaar
 

Similaire à All about engagement with Universal Analytics @ Google Developer Group NYC May Meet Up (20)

Usando metodologías ágiles en UX
Usando metodologías ágiles en UX Usando metodologías ágiles en UX
Usando metodologías ágiles en UX
 
Google Analytics for Beginners - Training
Google Analytics for Beginners - TrainingGoogle Analytics for Beginners - Training
Google Analytics for Beginners - Training
 
Evolution or Extinction: Survive and Thrive with New Google Analytics Features
Evolution or Extinction:Survive and Thrive with New Google Analytics FeaturesEvolution or Extinction:Survive and Thrive with New Google Analytics Features
Evolution or Extinction: Survive and Thrive with New Google Analytics Features
 
Google Analytics Fundamentals
Google Analytics FundamentalsGoogle Analytics Fundamentals
Google Analytics Fundamentals
 
Cross-device tracking with Google Analytics - Thomas Danniau @ gaucBE
Cross-device tracking with Google Analytics - Thomas Danniau @ gaucBECross-device tracking with Google Analytics - Thomas Danniau @ gaucBE
Cross-device tracking with Google Analytics - Thomas Danniau @ gaucBE
 
Track Report & Optimize Your Web Creations
Track Report & Optimize Your Web CreationsTrack Report & Optimize Your Web Creations
Track Report & Optimize Your Web Creations
 
Columbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdf
Columbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdfColumbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdf
Columbus WAW 2022 - How GA4 can Help You Navigate a Cookie-Restricted World.pdf
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
 
Google Analytics Workshop 2013
Google Analytics Workshop 2013Google Analytics Workshop 2013
Google Analytics Workshop 2013
 
SEMNE Google Analytics Master Class - 15 Oct 2014
SEMNE Google Analytics Master Class - 15 Oct 2014SEMNE Google Analytics Master Class - 15 Oct 2014
SEMNE Google Analytics Master Class - 15 Oct 2014
 
Google Analytics & UX
Google Analytics & UXGoogle Analytics & UX
Google Analytics & UX
 
IRJET - An Event Management System with Post Event Features
IRJET - An Event Management System with Post Event FeaturesIRJET - An Event Management System with Post Event Features
IRJET - An Event Management System with Post Event Features
 
Behind the Bounce: Understanding Metrics and Engagement
Behind the Bounce: Understanding Metrics and EngagementBehind the Bounce: Understanding Metrics and Engagement
Behind the Bounce: Understanding Metrics and Engagement
 
Hands on SPA development
Hands on SPA developmentHands on SPA development
Hands on SPA development
 
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.pptDevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
 
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docxCMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
 
Jack borden jb471909_segment
Jack borden jb471909_segmentJack borden jb471909_segment
Jack borden jb471909_segment
 
Cómo usar google analytics
Cómo usar google analyticsCómo usar google analytics
Cómo usar google analytics
 
EDA - FE Training - Excercise.pptx
EDA - FE Training - Excercise.pptxEDA - FE Training - Excercise.pptx
EDA - FE Training - Excercise.pptx
 
GTUG Philippines - Implementing Google Analytics - 2011-10-11
GTUG Philippines - Implementing Google Analytics - 2011-10-11GTUG Philippines - Implementing Google Analytics - 2011-10-11
GTUG Philippines - Implementing Google Analytics - 2011-10-11
 

Dernier

Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdftbatkhuu1
 
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO SuccessBrighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO SuccessVarn
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessAggregage
 
Kraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationKraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationtbatkhuu1
 
Factors-Influencing-Branding-Strategies.pptx
Factors-Influencing-Branding-Strategies.pptxFactors-Influencing-Branding-Strategies.pptx
Factors-Influencing-Branding-Strategies.pptxVikasTiwari846641
 
What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?riteshhsociall
 
Unlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich ManuscriptUnlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich Manuscriptelizabethella096
 
Defining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotlerDefining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotlerAmirNasiruog
 
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756dollysharma2066
 
Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...
Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...
Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...ChesterYang6
 
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15SearchNorwich
 
Instant Digital Issuance: An Overview With Critical First Touch Best Practices
Instant Digital Issuance: An Overview With Critical First Touch Best PracticesInstant Digital Issuance: An Overview With Critical First Touch Best Practices
Instant Digital Issuance: An Overview With Critical First Touch Best PracticesMedia Logic
 
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptxUnraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptxelizabethella096
 

Dernier (20)

Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdf
 
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
 
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO SuccessBrighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail Success
 
Brand Strategy Master Class - Juntae DeLane
Brand Strategy Master Class - Juntae DeLaneBrand Strategy Master Class - Juntae DeLane
Brand Strategy Master Class - Juntae DeLane
 
Kraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationKraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentation
 
Factors-Influencing-Branding-Strategies.pptx
Factors-Influencing-Branding-Strategies.pptxFactors-Influencing-Branding-Strategies.pptx
Factors-Influencing-Branding-Strategies.pptx
 
What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?
 
Driving AI Competency - Key Considerations for B2B Marketers - Rosemary Brisco
Driving AI Competency - Key Considerations for B2B Marketers - Rosemary BriscoDriving AI Competency - Key Considerations for B2B Marketers - Rosemary Brisco
Driving AI Competency - Key Considerations for B2B Marketers - Rosemary Brisco
 
Unlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich ManuscriptUnlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich Manuscript
 
Defining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotlerDefining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotler
 
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
 
Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...
Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...
Netflix Ads The Game Changer in Video Ads – Who Needs YouTube.pptx (Chester Y...
 
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
 
Instant Digital Issuance: An Overview With Critical First Touch Best Practices
Instant Digital Issuance: An Overview With Critical First Touch Best PracticesInstant Digital Issuance: An Overview With Critical First Touch Best Practices
Instant Digital Issuance: An Overview With Critical First Touch Best Practices
 
The Future of Brands on LinkedIn - Alison Kaltman
The Future of Brands on LinkedIn - Alison KaltmanThe Future of Brands on LinkedIn - Alison Kaltman
The Future of Brands on LinkedIn - Alison Kaltman
 
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
SEO Master Class - Steve Wiideman, Wiideman Consulting GroupSEO Master Class - Steve Wiideman, Wiideman Consulting Group
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
 
Digital Strategy Master Class - Andrew Rupert
Digital Strategy Master Class - Andrew RupertDigital Strategy Master Class - Andrew Rupert
Digital Strategy Master Class - Andrew Rupert
 
LinkedIn Social Selling Master Class - David Wong
LinkedIn Social Selling Master Class - David WongLinkedIn Social Selling Master Class - David Wong
LinkedIn Social Selling Master Class - David Wong
 
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptxUnraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
 

All about engagement with Universal Analytics @ Google Developer Group NYC May Meet Up

  • 1. All about Engagement with Universal Analytics Nico Miceli +nico miceli|@nicomiceli
  • 2. At work: - Marketer at the core - Technical Analytics @SEERInteractive - GDE for Google Analytics
  • 6. I am going to talk about: Event Tracking Custom Dimensions Cross Device Management The Measurement Protocol
  • 7.
  • 12.
  • 13.
  • 14.
  • 15.
  • 17. With great power apps comes great responsibility tracking needs
  • 19. var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); javascript ga.js Old
  • 22. Just Kidding! It’s more than just an upgrade.
  • 23.
  • 24. “Google Analytics is becoming user or customer centric rather than visit centric.” - Justin Curtoni Analytics Advocate, Google Inc.
  • 25. Question 1 Are my users… sharing pictures watching videos clicking links having trouble with my forms
  • 26. Event Tracking Shows how people are engaging with your site
  • 27. Event tracking is a GA method that tracks engagement. It consists of four values that you can use to describe a user's interaction Value Type Required Description Category String Yes Typically the object that was interacted with (e.g. button) Action String Yes The type of interaction (e.g. click) Label String No Useful for categorizing events (e.g. nav buttons) Value Number No Values must be non-negative. Useful to pass counts (e.g. 4 times)
  • 28. Example Button Click <button id="b1">Click Me</button> <script> $('#b1').click(function(){ ga('send', // send command - REQUIRED 'event', // type of thing to send - REQUIRED 'category', // category of event - REQUIRED 'action', // action of the event - REQUIRED 'label', // the element that was clicked - OPTIONAL 5 // the value of the event that was clicked - OPTIONAL ); }); </script> ga('send','event','category','action','opt_label',opt_value)
  • 29. Don’t forget about hidden content Are people viewing your tabs? $('#tabID').click(function(){ ga('send', // send command – REQUIRED 'event', // type of thing to send – REQUIRED 'tabs', // category of event – REQUIRED 'click', // action of the event – REQUIRED $(this).id, // the element that was clicked - OPTIONAL ); }); </script>
  • 31. Track interaction with input boxes with onblur Post: bit.ly/1he1SRK by @iamchrisle
  • 32. Help users through your forms by tracking they’re errors Post: bit.ly/1he1SRK by @iamchrisle
  • 33.
  • 34.
  • 35. The Stats Show stats from RCS infographic
  • 38. They all have Player API’s!
  • 39. YouTube Event Tracking Example //load youtube video with JavaScript API function onYouTubePlayerAPIReady() { player = new YT.Player('player', { height: 390, width: 640, videoId: "videoidxyz", events: { 'onStateChange': onPlayerStateChange } }); } function onPlayerStateChange(event) { switch (event.data) { case YT.PlayerState.PLAYING: ga("send", "event", "video", "play", "video name") break; case YT.PlayerState.ENDED: ga("send", "event", "video", "end", "video name") break; case YT.PlayerState.PAUSED: ga("send", "event", "video", "pause", "video name") break; } }
  • 40. Wistia<div id="wistia_v059er99tw" class="wistia_embed" style="width:640px;height:426px;"> &nbsp; </div> <script charset="ISO-8859-1" src="http://fast.wistia.com/assets/external/E-v1.js"> </script> <script> wistiaEmbed = Wistia.embed("video-id-here"); wistiaEmbed.bind('play',function() { //console.log('play') ga('send','event','video-wistia','play','wistia-video-1') }) wistiaEmbed.bind('pause',function() { //console.log('paused') ga('send','event','video-wistia','pause','wistia-video-1') }) wistiaEmbed.bind("end", function () { //console.log('ended'); ga('send','event','video-wistia','ended','wistia-video-1') }); </script>
  • 41.
  • 42.
  • 43. Question 2 Are my users engaged users… buying performing the desired 2nd action requesting more information
  • 44. Custom Dimensions Send extra information to Google Analytics
  • 45. Custom Dimensions allow you to push custom data to Google Analytics and group things together Note: You only get 20 but they 1 can have multiple labels
  • 46. Set the Scope The scope tells GA how long the custom dimensions should follow the user
  • 47. 3 Types of Scope Hit - value is applied to the single hit for which it has been set.
  • 48. Hit What authors get viewed viewed the most? Blog post 1 by Chris Blog post 2 by Kevin Blog post 3 by Nico Blog post 4 by Kevin Blog post 5 by Chris Blog post 6 by Nico Blog Post 7 by Kevin Pageview=blog-1/ Pageview=/blog-5/ Pageview=/blog-4/ Pageview=/blog-2/ cd1_value=Author_Kevin cd1_value=Author_Nico cd1_value=Author_Kevin cd1_value=Author_Kevincd1_value=Author_Nicocd1_value=Author_Chris cd1_value=Author_Chris Pageview=/blog-7/Pageview=/blog-2/Pageview=/blog-4/
  • 49. Processing Every hit gets processed with the Custom Dimension of the author’s name ClientID = 232 Session 1 H1: pageview=/blog-post-1/ cd1_value=Author_Chris H2: pageview =/blog-post-5/ cd1_value=Author_Kevin ClientID = 343 Session 1 H1: pageview =/blog-post-4/ cd1_value=Author_Nico H2: pageview =/blog-post-2/ cd1_value=Author_Kevin H3: pageview =/blog-post-7/ cd1_value=Author_Chris H4: pageview =/blog-post-6/ cd1_value=Author_Nico H5: pageview =/blog-post-9/ cd1_value=Author_Kevin
  • 50. Reporting Example Report Author Blog posts Viewed Author Nico 2 Author Kevin 3 Author Chris 2
  • 51. 3 Types of Scope Session - value is applied to all hits in a single session where idle time is < 30 mins.
  • 52. Session Do people who watch my videos end up converting? Go product page Watch video Click on tabs Read reviews Sign up Pageview=blog-1/ event= video, play, video1 event= tabs, click, info Pageview=reviews/ event = forms, sign up, more info Remember event tracking parameters = category, action, label Cd2 = video watcher Cd2 = video watcher Video event triggers custom dimension 2
  • 53. 3 Types of Scope User - value is applied to all hits in current and future sessions, until value changes or custom dimension is made inactive.
  • 54. Users How do the paid users differ from the free users Go to site Log in View blog Listen to music Go to site View help page View blog Listen to music Pageview=/ Pageview = welcome Pageview= /blog/ event= music, play, song1 Pageview=/ Pageview=/help/ Pageview=/blog/ event= music, play, song2 Cd3 = video watcher Cd3 = video watcher Session 1 Session 2
  • 55. But what if they switch to another device Woz’s travel bag
  • 56. we lost him… we can't find Stu the user
  • 57. Question 3 Are my users… using different devices performing different actions on different devices
  • 58. Cross Device Management Track users across different devices
  • 59. Client ID Normally GA stores an anonymous Client ID for the user
  • 60. It starts with User-ID feature - The user ID lets you create your own persistent anonymous id and override GA’s - You can tie hits & sessions to the same users when they log in on different devices
  • 61. It starts with User-ID feature Make sure the User ID is: - Non-personally identifiable - Unique to a user of your service or app - Persistent for a signed-in user across all devices Web: ga('create', 'UA-XXXX-Y', 'auto'); if (auth.userSignedInVlaue) { ga('set', '&uid', {{ USER_ID }}); }; ga('send', 'pageview'); Android: t.set("&uid", {{ USER_ID }}); iOS: [tracker set:@"&uid" value:{{ USER_ID }}];
  • 62. Setting it up in the App - Enable UserID in Admin - Make a new View
  • 63. Things to note: 1- the profile will only show hits with the UserID present 2- number of Users is calculated based on the number of unique User-ID values. 3- date range max will only be 90 days 4- Once you enable the User ID feature for a view (profile), you cannot disable it.
  • 64. What can we learn from that? Where your customers research and where they buy & how their activity differs
  • 65. What can we learn from that? We can see device overlap reports
  • 67. Question 4 What if the users… aren’t on tablets or computers do other things offline
  • 68. Measurement Protocol Make HTTP requests to send raw user interaction data directly to Google Analytics servers.
  • 69. The measurement protocol lets you send data to Google Analytics via HTTP Requests to this endpoint. http://www.google-analytics.com/collect http://ssl.google-analytics.com/collect With these values required for all hits Name Parameter Example Description Protocol Version v v=1 The protocol version. The value should be 1. Tracking ID tid tid=UA-123456-1 The ID that distinguishes to which Google Analytics property to send data. Client ID cid cid=xxxxx An ID unique to a particular user. Hit Type t t=pageview The type of interaction collected for a particular user.
  • 70.
  • 73. Ok, it wasn’t that complicated
  • 74. Rasberry Pi + PIR Sensor + lil’ Python = movement in GA import time import urllib2 import RPi.GPIO as io io.setmode(io.BCM) pir_pin = 18 io.setup(pir_pin, io.IN def hitGA(): urllib2.urlopen("http://ww w.google- analytics.com/collect?v=1& tid=UA-XXXXXX- Y&cid=1111&t=event&ec=Move ment&ea=livingRoom&el=desk ").close while True: if io.input(pir_pin): hitGA() Total cost $60
  • 76. At SEER we like to have events
  • 77. What’s a good area to track
  • 78. “We used a raspberry pi to track trips to the keg at #searchchurch in Google analytics pic.twitter.com/tr9XLMSRRD by @NicoMiceli” - @wilreynolds
  • 79. That was fun! Now for the serious examples!
  • 80. Client ID or User ID Question Client ID User ID What does the ID Represent? An anonymous device or browser instance. A single user, like a signed-in user account, that may interact with content across one or more devices and / or browser instances. How is the ID Set? Randomly generated and automatically sent with all hits by Google Analytics libraries. You must set and send your own userIds with your Google Analytics hits. How is ID Used to Calculate Unique Users? In a non-User-ID-enabled view (profile), Client ID is used to calculate unique users. In a User-ID-enabled view (profile), User ID is used to calculate unique users There are two ways to associate a hit to a user with the measurement protocol Examples: Lead gen vs eComm
  • 82. The lead gen process Go to site Browse around Fill out form Form goes to DB BizDev follows up with call Lead turns to Qualified BizDev sends proposal Client signs agreement New Lead Nico Miceli CompanyX .com
  • 83. What GA sees Go to site Browse around Fill out form Form goes to DB BizDev follows up with call Thumbs Up! Lead turns to Qualified BizDev sends proposal Client signs agreement New Lead Nico Miceli CompanyX
  • 84. Push the client ID with your form submissions… hindenly <form id="lead-form" method="POST" action="/lead"> <input id="name" type="text" /><BR> <input id="phone" type="text" /><BR> <!-- make a hidden input field and store the client ID in it --> <input id="clientcookie" type="hidden" /><BR> </form> <script type="text/javascript"> $(document).ready(function(){ ga(function(tracker) { clientID = tracker.get('clientId'); //grab the current users anonymous client ID document.getElementById('clientcookie').value = clientID; //set the value of client ID to the hidden input field }); }); </script>
  • 85. ga(function(tracker) { var clientId = tracker.get('clientId'); }); <form id="lead-form" method="POST" action="/lead"> <input id="name" type="text" /><BR> <input id="phone" type="text" /><BR> <!-- make a hidden input field and store the client ID in it --> <input id="clientcookie" type="hidden" /><BR> </form> <script type="text/javascript"> $(document).ready(function(){ ga(function(tracker) { clientID = tracker.get('clientId'); //grab the current users anonymous client ID document.getElementById('clientcookie').value = clientID; //set the value of client ID to the hidden input field }); }); </script>
  • 86. The lead gen process Go to site Browse around Fill out form Form goes to DB BizDev follows up with call Lead turns to Qualified BizDev sends proposal Client signs agreement New Lead Nico Miceli CompanyX CID: 777 cid:777 cid:777 cid:777 cid:777 Send new data with the Measurement protocol
  • 87. Get Email Go to eComm.com Log in to get coupon Print Out Coupon Go to the eComm Store Spend coupon + $100 eComm to comm…
  • 88. Get Email Go to eComm.com Log in to get coupon Print Out Coupon Go to the eComm Store Spend coupon + $100 eComm to comm auth = true
  • 89. Get Email Go to eComm.com Log in to get coupon Print Out Coupon Go to the eComm Store Spend coupon + $100 eComm to comm auth = true UID=123 UID=123 UID=123
  • 90. I can now see user pain points in my app, learn the impact of the bells & whistle, I can understand the users on across devices, I can associate them with real world data.
  • 91. TL;DR Events Use Google Analytics to track engagement via JS events ga('send','event','category','action','opt_label ',opt_value)
  • 92. TL;DR Custom Dimensions Allows you to group things and send more data to Google Analytics Step 1: Create a Name that you want to show up in reports Step 2: Set the Scope Step 3: Make it Active
  • 93. TL;DR Cross Device Management Allows you to track a user across different devices Step 1: Enable it in the web app Step 2: Connect a persistent anonymous ID to each user Step 3: Add it to your code
  • 94. TL;DR measurement Protocol Allows you to send data to GA via HTTP Requests Allows you to connect real world with internet world The length of the entire encoded URL must be no longer than 2000 Bytes.
  • 95. Resources Google Analytics Debugger Chrome Extension Google Analytics Developer Google+ Community Stack Overflow Google Analytics Tag All links will be on my G+ page tomorrow Google.com/+nicomiceli @nicomiceli