SlideShare una empresa de Scribd logo
1 de 96
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a 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
 

Similar a 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
 

Último

The Impact Of Social Media Advertising.pdf
The Impact Of Social Media Advertising.pdfThe Impact Of Social Media Advertising.pdf
The Impact Of Social Media Advertising.pdfishikajaiswal116
 
Social Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendaySocial Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendayMaharshBenday
 
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptxUnveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptxelizabethella096
 
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdfMicro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdfPiyush Kumar
 
Social Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendaySocial Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendayMaharshBenday
 
The seven principles of persuasion by Dr. Robert Cialdini
The seven principles of persuasion by Dr. Robert CialdiniThe seven principles of persuasion by Dr. Robert Cialdini
The seven principles of persuasion by Dr. Robert CialdiniSurya Prasath
 
Resumé Karina Perez | Digital Strategist
Resumé Karina Perez | Digital StrategistResumé Karina Perez | Digital Strategist
Resumé Karina Perez | Digital StrategistKarina Perez
 
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdfTAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdfSocial Samosa
 
Alpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptxAlpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptxDave McCallum
 
Best 5 Graphics Designing Course In Chandigarh
Best 5 Graphics Designing Course In ChandigarhBest 5 Graphics Designing Course In Chandigarh
Best 5 Graphics Designing Course In Chandigarhhamitthakurdma01
 
The 9th May Incident in Pakistan A Turning Point in History.pptx
The 9th May Incident in Pakistan A Turning Point in History.pptxThe 9th May Incident in Pakistan A Turning Point in History.pptx
The 9th May Incident in Pakistan A Turning Point in History.pptxelizabethella096
 
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATIONHOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATIONpratheeshraj987
 
10 Email Marketing Best Practices to Increase Engagements, CTR, And ROI
10 Email Marketing Best Practices to Increase Engagements, CTR, And ROI10 Email Marketing Best Practices to Increase Engagements, CTR, And ROI
10 Email Marketing Best Practices to Increase Engagements, CTR, And ROIShamsudeen Adeshokan
 
Gain potential customers through Lead Generation
Gain potential customers through Lead GenerationGain potential customers through Lead Generation
Gain potential customers through Lead Generationvidhyalakshmiveerapp
 
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of  Distribution Ad Network.pdfDistribution Ad Platform_ The Role of  Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of Distribution Ad Network.pdfTransports Advertising
 
Aiizennxqc Digital Marketing | SEO & SMM
Aiizennxqc Digital Marketing | SEO & SMMAiizennxqc Digital Marketing | SEO & SMM
Aiizennxqc Digital Marketing | SEO & SMMaiizennxqc
 
The Art of sales from fictional characters.
The Art of sales from fictional characters.The Art of sales from fictional characters.
The Art of sales from fictional characters.Bharathi sakthi
 
2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.com2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.comnmislamchannal
 
Elevating Your Digital Presence by Evitha.pdf
Elevating Your Digital Presence by Evitha.pdfElevating Your Digital Presence by Evitha.pdf
Elevating Your Digital Presence by Evitha.pdfevithatojoparel
 
[Expert Panel] New Google Shopping Ads Strategies Uncovered
[Expert Panel] New Google Shopping Ads Strategies Uncovered[Expert Panel] New Google Shopping Ads Strategies Uncovered
[Expert Panel] New Google Shopping Ads Strategies UncoveredSearch Engine Journal
 

Último (20)

The Impact Of Social Media Advertising.pdf
The Impact Of Social Media Advertising.pdfThe Impact Of Social Media Advertising.pdf
The Impact Of Social Media Advertising.pdf
 
Social Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendaySocial Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh Benday
 
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptxUnveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
 
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdfMicro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
 
Social Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendaySocial Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh Benday
 
The seven principles of persuasion by Dr. Robert Cialdini
The seven principles of persuasion by Dr. Robert CialdiniThe seven principles of persuasion by Dr. Robert Cialdini
The seven principles of persuasion by Dr. Robert Cialdini
 
Resumé Karina Perez | Digital Strategist
Resumé Karina Perez | Digital StrategistResumé Karina Perez | Digital Strategist
Resumé Karina Perez | Digital Strategist
 
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdfTAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
 
Alpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptxAlpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptx
 
Best 5 Graphics Designing Course In Chandigarh
Best 5 Graphics Designing Course In ChandigarhBest 5 Graphics Designing Course In Chandigarh
Best 5 Graphics Designing Course In Chandigarh
 
The 9th May Incident in Pakistan A Turning Point in History.pptx
The 9th May Incident in Pakistan A Turning Point in History.pptxThe 9th May Incident in Pakistan A Turning Point in History.pptx
The 9th May Incident in Pakistan A Turning Point in History.pptx
 
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATIONHOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
 
10 Email Marketing Best Practices to Increase Engagements, CTR, And ROI
10 Email Marketing Best Practices to Increase Engagements, CTR, And ROI10 Email Marketing Best Practices to Increase Engagements, CTR, And ROI
10 Email Marketing Best Practices to Increase Engagements, CTR, And ROI
 
Gain potential customers through Lead Generation
Gain potential customers through Lead GenerationGain potential customers through Lead Generation
Gain potential customers through Lead Generation
 
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of  Distribution Ad Network.pdfDistribution Ad Platform_ The Role of  Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
 
Aiizennxqc Digital Marketing | SEO & SMM
Aiizennxqc Digital Marketing | SEO & SMMAiizennxqc Digital Marketing | SEO & SMM
Aiizennxqc Digital Marketing | SEO & SMM
 
The Art of sales from fictional characters.
The Art of sales from fictional characters.The Art of sales from fictional characters.
The Art of sales from fictional characters.
 
2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.com2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.com
 
Elevating Your Digital Presence by Evitha.pdf
Elevating Your Digital Presence by Evitha.pdfElevating Your Digital Presence by Evitha.pdf
Elevating Your Digital Presence by Evitha.pdf
 
[Expert Panel] New Google Shopping Ads Strategies Uncovered
[Expert Panel] New Google Shopping Ads Strategies Uncovered[Expert Panel] New Google Shopping Ads Strategies Uncovered
[Expert Panel] New Google Shopping Ads Strategies Uncovered
 

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