Google Analytics Bag o’ Tricks
Simo Ahava (NetBooster) – SUPERWEEK 2015
SUPERWEEK 2015 | #SPWK | @SimoAhava
Simo Ahava | NetBooster
@SimoAhava
http://google.me/+SimoAhava
simo.ahava@netbooster.fi
www.simoahava.com
SUPERWEEK 2015 | #SPWK | @SimoAhava
My (GA) Developer Philosophy
SUPERWEEK 2015 | #SPWK | @SimoAhava
If you build it, data will
come
SUPERWEEK 2015 | #SPWK | @SimoAhava
SUPERWEEK 2015 | #SPWK | @SimoAhava
The Web is (inherently)
stateless
SUPERWEEK 2015 | #SPWK | @SimoAhava
User intent is untrackable
in the stateless Web
SUPERWEEK 2015 | #SPWK | @SimoAhava
The life span of a web page
ENTRANCE
EXIT
SUPERWEEK 2015 | #SPWK | @SimoAhava
The life span of a web page
ENTRANCE
EXIT
SUPERWEEK 2015 | #SPWK | @SimoAhava
No, browser cookies are
not the solution (or HTML
Storage)
SUPERWEEK 2015 | #SPWK | @SimoAhava
document.cookie = 'returning=true'; document.cookie = 'articlesRead=3';
SUPERWEEK 2015 | #SPWK | @SimoAhava
They provide you with
temporary state only
SUPERWEEK 2015 | #SPWK | @SimoAhava
Google Analytics is
stateful
SUPERWEEK 2015 | #SPWK | @SimoAhava
From https://developers.google.com/analytics/devguides/platform/customdimsmets
SUPERWEEK 2015 | #SPWK | @SimoAhava
Google Analytics is better
at pattern-matching than a
browser
SUPERWEEK 2015 | #SPWK | @SimoAhava
But it requires quality
input
SUPERWEEK 2015 | #SPWK | @SimoAhava
When the stateless and the stateful unite
Meaningful data
SUPERWEEK 2015 | #SPWK | @SimoAhava
How do we find and
collect meaningful data?
SUPERWEEK 2015 | #SPWK | @SimoAhava
No, how do we ask the
right questions?
SUPERWEEK 2015 | #SPWK | @SimoAhava
When a user doesn’t view a page, is it a Page View?
SUPERWEEK 2015 | #SPWK | @SimoAhava
Surely not?
* Obligatory Conference Presentation Meme
SUPERWEEK 2015 | #SPWK | @SimoAhava
APIS, WORKERS, LIBRARIES, SPECIFICATIONS
ECMAScript
DOMSettableTokenList
Web Audio
AutocompleteErrorEvent
Animation Timing
DOMTokenList
DOM
Fullscreen
Drag and Drop
SVG
Indexed DB
DocumentFragment
DOMError
File API
ChildNode
Media
DOMImplementation
Web Sockets and Messaging
Event
WebGL
Visibility
Web Storage
Document
EventSource
CSS Object Model
Comment
Web Workers
Attr
WebRTC
Selectors
DocumentType
Offline
Element
CharacterData
Browser
Canvas
EventListener
CustomEvent
Shadow DOM
CloseEvent
File System API
BroadcastChannel
Typed Arrays
Pointer Lock
Elements
SUPERWEEK 2015 | #SPWK | @SimoAhava
APIS, WORKERS, LIBRARIES, SPECIFICATIONS
ECMAScript
DOMSettableTokenList
Web Audio
AutocompleteErrorEvent
Animation Timing
DOMTokenList
DOM
Fullscreen
Drag and Drop
SVG
Indexed DB
DocumentFragment
DOMError
File API
ChildNode
Media
DOMImplementation
Web Sockets and Messaging
Event
WebGL
Visibility
Web Storage
Document
EventSource
CSS Object Model
Comment
Web Workers
Attr
WebRTC
Selectors
DocumentType
Offline
Element
CharacterData
Browser
Canvas
EventListener
CustomEvent
Shadow DOM
CloseEvent
File System API
BroadcastChannel
Typed Arrays
Pointer Lock
Elements
SUPERWEEK 2015 | #SPWK | @SimoAhava
PAGE VISIBILITY API
SUPERWEEK 2015 | #SPWK | @SimoAhava
PAGE VISIBILITY API
Visible: document['hidden'] = false
Hidden: document['hidden'] = true
SUPERWEEK 2015 | #SPWK | @SimoAhava
PAGE VISIBILITY API
Visible: document['hidden'] = false
Hidden: document['hidden'] = true
document.addEventListener('visibilitychange', function() {
dataLayer.push({
'event' : 'visibilityChange'
});
});
SUPERWEEK 2015 | #SPWK | @SimoAhava
PAGE VISIBILITY API
Meaningful data:
When a page is loaded in hidden state, do not send a Page View.
If the visibility of the page changes from hidden to visible, then
send the Page View.
SUPERWEEK 2015 | #SPWK | @SimoAhava
PAGE VISIBILITY API
SUPERWEEK 2015 | #SPWK | @SimoAhava
DETAILED GUIDE
http://goo.gl/DFgxmi
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
1. Page is loaded in the browser
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
2. Is the Visibility API supported?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
2. Is the Visibility API supported?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…>> >>
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
2. Is the Visibility API supported?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…
document.addEventListener(
'visibilitychange',
function() {
dataLayer.push({
'event' : 'visibility-
Change'
});
}
);
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
3. Is the page visible?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
3. Is the page visible?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…>> >>
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
3. Is the page visible?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
4. Is a Visibility Change detected?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…
SUPERWEEK 2015 | #SPWK | @SimoAhava
THE PROCESS
4. Is a Visibility Change detected?
1. Page is loaded in the browser
2. Is the Visibility API supported?
3. Is the page visible?
4. Is a Visibility Change detected?
yes / no
FIRE PAGE VIEW
…and remove visibility listener…
…and end the process…>> >>
SUPERWEEK 2015 | #SPWK | @SimoAhava
What just happened?
SUPERWEEK 2015 | #SPWK | @SimoAhava
We made a metric more
meaningful
SUPERWEEK 2015 | #SPWK | @SimoAhava
But it’s only meaningful if
the questions it answers
are relevant
SUPERWEEK 2015 | #SPWK | @SimoAhava
How can we measure content engagement?
SUPERWEEK 2015 | #SPWK | @SimoAhava
Content engagement is
notoriously difficult to
track
SUPERWEEK 2015 | #SPWK | @SimoAhava
Adjusted Bounce Rate
Adjusted
SUPERWEEK 2015 | #SPWK | @SimoAhava
Adjusted Bounce Rate
Adjusted
Not happy with a metric? Sure! Tweak the data
collection. Don’t tackle the real
problem, i.e. your horrible content!
SUPERWEEK 2015 | #SPWK | @SimoAhava
Scroll Tracking
http://cutroni.com/blog/2014/02/12/advanced-content-tracking-with-universal-analytics/
SUPERWEEK 2015 | #SPWK | @SimoAhava
Scroll Tracking
Better, but it isolates the action of reading as the sole
qualification of engagement.
SUPERWEEK 2015 | #SPWK | @SimoAhava
Content is to a blog what
products are to a web
store
SUPERWEEK 2015 | #SPWK | @SimoAhava
Shopping Reading Behavior
SUPERWEEK 2015 | #SPWK | @SimoAhava
Checkout Behavior Content Engagement
SUPERWEEK 2015 | #SPWK | @SimoAhava
Product Article Performance
SUPERWEEK 2015 | #SPWK | @SimoAhava
Product Content List Performance
SUPERWEEK 2015 | #SPWK | @SimoAhava
Internal Promotions
SUPERWEEK 2015 | #SPWK | @SimoAhava
Step 1: Terminology
SUPERWEEK 2015 | #SPWK | @SimoAhava
Product: A blog article
Product price: Words in an article
Product impression: Views of a
title or title+ingress in content
lists
Product list: Widget / content
area where product impressions
can be gathered from
Product list click: Clicks on entries
in a product list
Product detail view: Page load
of an article page
Add to cart: First scroll on an
article page
Checkout: 1/3, 2/3, and 3/3
scroll depth on an article page
Purchase: 3/3 scroll depth on an
article page and minimum of 60
seconds dwell time
SUPERWEEK 2015 | #SPWK | @SimoAhava
Step 2: Data Collection
SUPERWEEK 2015 | #SPWK | @SimoAhava
PRODUCT LISTS
SUPERWEEK 2015 | #SPWK | @SimoAhava
PRODUCT LISTS
Product impression
Product impression
Product
impressions
Internal promotion
SUPERWEEK 2015 | #SPWK | @SimoAhava
PRODUCT LISTS
SUPERWEEK 2015 | #SPWK | @SimoAhava
ARTICLE PAGE
SUPERWEEK 2015 | #SPWK | @SimoAhava
ARTICLE PAGE: INITIAL PAGE LOAD = PRODUCT DETAIL VIEW
SUPERWEEK 2015 | #SPWK | @SimoAhava
ARTICLE PAGE: SCROLLING BEGINS = ADD TO CART
SUPERWEEK 2015 | #SPWK | @SimoAhava
ARTICLE PAGE: SCROLL DEPTH = CHECKOUT
SUPERWEEK 2015 | #SPWK | @SimoAhava
ARTICLE PAGE: SCROLL DEPTH + DWELL TIME = PURCHASE
SUPERWEEK 2015 | #SPWK | @SimoAhava
TIPS
1. Use dataLayer, don’t do what I did (DOM scrape)
2. Feel free to leave something out if it isn’t meaningful
or doesn’t make sense
3. Design the data collection with analysis in mind – not
because it’s fun and cool
4. If using GTM, remember that only the most recent
’ecommerce’ object push is sent with a tag! Always
remember to push an ’event’ value with an
’ecommerce’ object push
5. Read Google’s Dev Guide! It’s all in there.
SUPERWEEK 2015 | #SPWK | @SimoAhava
TIPS
1. Use dataLayer, don’t do what I did (DOM scrape)
2. Feel free to leave something out if it isn’t meaningful
or doesn’t make sense
3. Design the data collection with analysis in mind – not
because it’s fun and cool
4. If using GTM, remember that only the most recent
’ecommerce’ object push is sent with a tag! Always
remember to push an ’event’ value with an
’ecommerce’ object push
5. Read Google’s Dev Guide! It’s all in there.
SUPERWEEK 2015 | #SPWK | @SimoAhava
TIPS
1. Use dataLayer, don’t do what I did (DOM scrape)
2. Feel free to leave something out if it isn’t meaningful
or doesn’t make sense
3. Design the data collection with analysis in mind – not
because it’s fun and cool
4. If using GTM, remember that only the most recent
’ecommerce’ object push is sent with a tag! Always
remember to push an ’event’ value with an
’ecommerce’ object push
5. Read Google’s Dev Guide! It’s all in there.
SUPERWEEK 2015 | #SPWK | @SimoAhava
TIPS
1. Use dataLayer, don’t do what I did (DOM scrape)
2. Feel free to leave something out if it isn’t meaningful
or doesn’t make sense
3. Design the data collection with analysis in mind – not
because it’s fun and cool
4. If using GTM, remember that only the most recent
’ecommerce’ object push is sent with a tag! Always
remember to push an ’event’ value with an
’ecommerce’ object push
5. Read Google’s Dev Guide! It’s all in there.
SUPERWEEK 2015 | #SPWK | @SimoAhava
TIPS
1. Use dataLayer, don’t do what I did (DOM scrape)
2. Feel free to leave something out if it isn’t meaningful
or doesn’t make sense
3. Design the data collection with analysis in mind – not
because it’s fun and cool
4. If using GTM, remember that only the most recent
’ecommerce’ object push is sent with a tag! Always
remember to push an ’event’ value with an
’ecommerce’ object push
5. Read Google’s Dev Guide! It’s all in there.
SUPERWEEK 2015 | #SPWK | @SimoAhava
FURTHER READING
http://goo.gl/lMWqW8
SUPERWEEK 2015 | #SPWK | @SimoAhava
FURTHER READING
http://goo.gl/xYNVb3
SUPERWEEK 2015 | #SPWK | @SimoAhava
FURTHER READING
http://enhancedecommerce.appspot.com/
SUPERWEEK 2015 | #SPWK | @SimoAhava
FURTHER READING
https://github.com/sahava/eec-gtm
SUPERWEEK 2015 | #SPWK | @SimoAhava
Learning & Doing
SUPERWEEK 2015 | #SPWK | @SimoAhava
JAVASCRIPT
http://www.codecademy.com/en/tracks/javascript
SUPERWEEK 2015 | #SPWK | @SimoAhava
JAVASCRIPT
Nicholas Zakas: Professional JavaScript For Web Developers (3rd Edition)
SUPERWEEK 2015 | #SPWK | @SimoAhava
JAVASCRIPT
Cody Lindley: DOM Enlightenment
SUPERWEEK 2015 | #SPWK | @SimoAhava
JAVASCRIPT
Douglas Crockford: JavaScript: The Good Parts
SUPERWEEK 2015 | #SPWK | @SimoAhava
HTML5
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5
SUPERWEEK 2015 | #SPWK | @SimoAhava
THANK YOU
@SimoAhava
http://google.me/+SimoAhava
simo.ahava@netbooster.fi
www.simoahava.com

More Related Content

PDF
Tricks and tweaks for Google Analytics and Google Tag Manager
PDF
Content Analytics - The Whys And Hows For Google Analytics
PPTX
Tag Management Solutions - Best Data Ever (Marketing Festival 2014)
PDF
Meaningful Data - Reaktor Breakpoint 2015
PDF
Meaningful Data - Best Internet Conference 2015 (Lithuania)
PPTX
Advanced Form Tracking in Google Tag Manager
PDF
Google Tag Manager - 5 years. What have we learned?
PDF
Ambitious Analytics: Google Analytics Customisation
Tricks and tweaks for Google Analytics and Google Tag Manager
Content Analytics - The Whys And Hows For Google Analytics
Tag Management Solutions - Best Data Ever (Marketing Festival 2014)
Meaningful Data - Reaktor Breakpoint 2015
Meaningful Data - Best Internet Conference 2015 (Lithuania)
Advanced Form Tracking in Google Tag Manager
Google Tag Manager - 5 years. What have we learned?
Ambitious Analytics: Google Analytics Customisation

What's hot (20)

PDF
Essential Search Marketing Tweaks For Google Analytics And Google Tag Manager
PDF
Web Browsers and Tracking Protections
PDF
What's new in Google Analytics 4
PDF
Marketing Automation Hacks 2016: HubSpot
PPTX
Google Tag Manager - Introduction & Implementation
PDF
You can't spell MEASURE without CUSTOMIZATION
PDF
SuperWeek 2016 - Garbage In Garbage Out: Data Quality in a TMS World
PPTX
Google Analytics and Google Tag Manager for Startups
PDF
The Hummingbird Buzz: What You Really Need to Know
PDF
Google Analytics with an Intro to Google Tag Manager for Austin WordPress Meetup
PPTX
Getting Started With Google Analytics
PDF
Let's Start Using Event Tracking For More Than Email Clicks By Joe Martinez
PDF
Refael Bitton @ All Things DATA 2016 - Firebase Analytics
PDF
Marketing Automation Hacks: HubSpot
PPTX
How to build a scalable content production system.
PPTX
Web Analytics 101 - Ned Poulter @MMUBS #dsmmcm
PDF
Getting started with Google Analytics
PPTX
How To Use IFTTT (If This Then That) - Belinda Bagatsing - digitalthinkingbee
PDF
Bridging google analytics & tag manager #melbseo meetup
PDF
Jonathan Weber - All Things DATA 2017
Essential Search Marketing Tweaks For Google Analytics And Google Tag Manager
Web Browsers and Tracking Protections
What's new in Google Analytics 4
Marketing Automation Hacks 2016: HubSpot
Google Tag Manager - Introduction & Implementation
You can't spell MEASURE without CUSTOMIZATION
SuperWeek 2016 - Garbage In Garbage Out: Data Quality in a TMS World
Google Analytics and Google Tag Manager for Startups
The Hummingbird Buzz: What You Really Need to Know
Google Analytics with an Intro to Google Tag Manager for Austin WordPress Meetup
Getting Started With Google Analytics
Let's Start Using Event Tracking For More Than Email Clicks By Joe Martinez
Refael Bitton @ All Things DATA 2016 - Firebase Analytics
Marketing Automation Hacks: HubSpot
How to build a scalable content production system.
Web Analytics 101 - Ned Poulter @MMUBS #dsmmcm
Getting started with Google Analytics
How To Use IFTTT (If This Then That) - Belinda Bagatsing - digitalthinkingbee
Bridging google analytics & tag manager #melbseo meetup
Jonathan Weber - All Things DATA 2017
Ad

Viewers also liked (20)

PPTX
Enhanced Ecommerce For Content (SMX München 2015)
PDF
Digital Data Tips Tuesday #1 - Tag Management: Simo Ahava - NetBooster
PPTX
Manchester city
PPTX
Workshop
PPTX
Waldorf Education
PPT
Selena Gomez
PPTX
Sap fiori
PDF
French Property Market 2014
PPTX
Oprah Winfrey
PPTX
Medical devices
PDF
French Property market 2015 - Cushman & Wakefield
PPT
Cerebral Palsy
PPTX
Elon Musk
PDF
Simo Ahava - Tag Management Solutions – Best. Data. Ever. MKTFEST 2014
PDF
The big bang theory
PDF
Chess
PPT
Lionel Messi
PPT
Lionel messi
PPTX
David guetta
PPTX
The Big Bang Theory
Enhanced Ecommerce For Content (SMX München 2015)
Digital Data Tips Tuesday #1 - Tag Management: Simo Ahava - NetBooster
Manchester city
Workshop
Waldorf Education
Selena Gomez
Sap fiori
French Property Market 2014
Oprah Winfrey
Medical devices
French Property market 2015 - Cushman & Wakefield
Cerebral Palsy
Elon Musk
Simo Ahava - Tag Management Solutions – Best. Data. Ever. MKTFEST 2014
The big bang theory
Chess
Lionel Messi
Lionel messi
David guetta
The Big Bang Theory
Ad

Similar to Google Analytics Bag O' Tricks (20)

PPTX
Superweek Hungary Analytics
PDF
Inbound 2017: Back to Our Roots with Technical SEO
PDF
SPFest Chicago - Cross-site publishing to communication sites
PDF
Serverless and the Way Forward
PDF
Optimizely Developer Showcase
PDF
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
PDF
The Ultimate Free Digital Marketing Toolkit
PDF
Video A/B Testing Deconstructed: What? How? Where? (with real data and examples)
PDF
2014 09-10-12 Building Customer Profiles - Move from clicks to faces
PDF
Efficient Search Campaigns SAScon May 2012
PDF
Social Media Week Chicago: SEO in 2015
PDF
Ultimate Free Digital Marketing Toolkit #EdgeBristol 2012
PDF
Creating a flawless user experience, end to-end, functional to visual - Slide...
PDF
Success Beyond Links – SearchCamp 2017 – Vicke Cheung
PPTX
Generazione dinamica della UI con Blazor WebAssembly
PDF
TechSEO Boost 2019: Research Competition
PPTX
Fast prototyping apps using AngularJS, RequireJS and Twitter Bootstrap
PDF
Migrating off legacy platforms while still delivering value - DNA & SAFe AU...
PDF
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
PPTX
Snap - 21st Century Event Promotion
Superweek Hungary Analytics
Inbound 2017: Back to Our Roots with Technical SEO
SPFest Chicago - Cross-site publishing to communication sites
Serverless and the Way Forward
Optimizely Developer Showcase
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
The Ultimate Free Digital Marketing Toolkit
Video A/B Testing Deconstructed: What? How? Where? (with real data and examples)
2014 09-10-12 Building Customer Profiles - Move from clicks to faces
Efficient Search Campaigns SAScon May 2012
Social Media Week Chicago: SEO in 2015
Ultimate Free Digital Marketing Toolkit #EdgeBristol 2012
Creating a flawless user experience, end to-end, functional to visual - Slide...
Success Beyond Links – SearchCamp 2017 – Vicke Cheung
Generazione dinamica della UI con Blazor WebAssembly
TechSEO Boost 2019: Research Competition
Fast prototyping apps using AngularJS, RequireJS and Twitter Bootstrap
Migrating off legacy platforms while still delivering value - DNA & SAFe AU...
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Snap - 21st Century Event Promotion

More from Simo Ahava (13)

PDF
Server-side Tagging in Google Tag Manager - MeasureSummit 2020
PDF
Browser Tracking Protections - SuperWeek 2020
PDF
Simo's Top 30 GTM tips
PDF
Agile Analytics
PDF
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
PDF
Search Marketer's Toolkit for Google Tag Manager and Google Analytics
PDF
Data Layer - MeasureCamp VII 2015
PDF
Key Insights From Funnels - Enhanced Ecommerce For Google Analytics
PPTX
Content Engagement with Google Analytics (Emerce Conversion 2015)
PPTX
Be Critical: Going Beyond The Defaults With GA And GTM (SMX Munich 2015)
PPTX
Rationalizing Tag Management
PPTX
Google Tag Manager For Nerds
PPTX
What's the weather like? MeasureFest 2014
Server-side Tagging in Google Tag Manager - MeasureSummit 2020
Browser Tracking Protections - SuperWeek 2020
Simo's Top 30 GTM tips
Agile Analytics
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
Search Marketer's Toolkit for Google Tag Manager and Google Analytics
Data Layer - MeasureCamp VII 2015
Key Insights From Funnels - Enhanced Ecommerce For Google Analytics
Content Engagement with Google Analytics (Emerce Conversion 2015)
Be Critical: Going Beyond The Defaults With GA And GTM (SMX Munich 2015)
Rationalizing Tag Management
Google Tag Manager For Nerds
What's the weather like? MeasureFest 2014

Recently uploaded (20)

PDF
Hikvision-IR-PPT---EN.pdfSADASDASSAAAAAAAAAAAAAAA
PPTX
1.Introduction to orthodonti hhhgghhcs.pptx
PPTX
DAA UNIT 1 for unit 1 time compixity PPT.pptx
PPTX
PPT for Diseases.pptx, there are 3 types of diseases
PPTX
lung disease detection using transfer learning approach.pptx
PDF
Teal Blue Futuristic Metaverse Presentation.pdf
PDF
book-34714 (2).pdfhjkkljgfdssawtjiiiiiujj
PDF
Delhi c@ll girl# cute girls in delhi with travel girls in delhi call now
PPTX
DIGITAL DESIGN AND.pptx hhhhhhhhhhhhhhhhh
PPTX
9 Bioterrorism.pptxnsbhsjdgdhdvkdbebrkndbd
PPTX
research framework and review of related literature chapter 2
PPTX
transformers as a tool for understanding advance algorithms in deep learning
PPTX
Basic Statistical Analysis for experimental data.pptx
PPTX
GPS sensor used agriculture land for automation
PDF
American Journal of Multidisciplinary Research and Review
PDF
Nucleic-Acids_-Structure-Typ...-1.pdf 011
PPTX
Chapter security of computer_8_v8.1.pptx
PDF
NU-MEP-Standards معايير تصميم جامعية .pdf
PDF
9 FinOps Tools That Simplify Cloud Cost Reporting.pdf
PPTX
inbound2857676998455010149.pptxmmmmmmmmm
Hikvision-IR-PPT---EN.pdfSADASDASSAAAAAAAAAAAAAAA
1.Introduction to orthodonti hhhgghhcs.pptx
DAA UNIT 1 for unit 1 time compixity PPT.pptx
PPT for Diseases.pptx, there are 3 types of diseases
lung disease detection using transfer learning approach.pptx
Teal Blue Futuristic Metaverse Presentation.pdf
book-34714 (2).pdfhjkkljgfdssawtjiiiiiujj
Delhi c@ll girl# cute girls in delhi with travel girls in delhi call now
DIGITAL DESIGN AND.pptx hhhhhhhhhhhhhhhhh
9 Bioterrorism.pptxnsbhsjdgdhdvkdbebrkndbd
research framework and review of related literature chapter 2
transformers as a tool for understanding advance algorithms in deep learning
Basic Statistical Analysis for experimental data.pptx
GPS sensor used agriculture land for automation
American Journal of Multidisciplinary Research and Review
Nucleic-Acids_-Structure-Typ...-1.pdf 011
Chapter security of computer_8_v8.1.pptx
NU-MEP-Standards معايير تصميم جامعية .pdf
9 FinOps Tools That Simplify Cloud Cost Reporting.pdf
inbound2857676998455010149.pptxmmmmmmmmm

Google Analytics Bag O' Tricks

  • 1. Google Analytics Bag o’ Tricks Simo Ahava (NetBooster) – SUPERWEEK 2015
  • 2. SUPERWEEK 2015 | #SPWK | @SimoAhava Simo Ahava | NetBooster @SimoAhava http://google.me/+SimoAhava [email protected] www.simoahava.com
  • 3. SUPERWEEK 2015 | #SPWK | @SimoAhava My (GA) Developer Philosophy
  • 4. SUPERWEEK 2015 | #SPWK | @SimoAhava If you build it, data will come
  • 5. SUPERWEEK 2015 | #SPWK | @SimoAhava
  • 6. SUPERWEEK 2015 | #SPWK | @SimoAhava The Web is (inherently) stateless
  • 7. SUPERWEEK 2015 | #SPWK | @SimoAhava User intent is untrackable in the stateless Web
  • 8. SUPERWEEK 2015 | #SPWK | @SimoAhava The life span of a web page ENTRANCE EXIT
  • 9. SUPERWEEK 2015 | #SPWK | @SimoAhava The life span of a web page ENTRANCE EXIT
  • 10. SUPERWEEK 2015 | #SPWK | @SimoAhava No, browser cookies are not the solution (or HTML Storage)
  • 11. SUPERWEEK 2015 | #SPWK | @SimoAhava document.cookie = 'returning=true'; document.cookie = 'articlesRead=3';
  • 12. SUPERWEEK 2015 | #SPWK | @SimoAhava They provide you with temporary state only
  • 13. SUPERWEEK 2015 | #SPWK | @SimoAhava Google Analytics is stateful
  • 14. SUPERWEEK 2015 | #SPWK | @SimoAhava From https://developers.google.com/analytics/devguides/platform/customdimsmets
  • 15. SUPERWEEK 2015 | #SPWK | @SimoAhava Google Analytics is better at pattern-matching than a browser
  • 16. SUPERWEEK 2015 | #SPWK | @SimoAhava But it requires quality input
  • 17. SUPERWEEK 2015 | #SPWK | @SimoAhava When the stateless and the stateful unite Meaningful data
  • 18. SUPERWEEK 2015 | #SPWK | @SimoAhava How do we find and collect meaningful data?
  • 19. SUPERWEEK 2015 | #SPWK | @SimoAhava No, how do we ask the right questions?
  • 20. SUPERWEEK 2015 | #SPWK | @SimoAhava When a user doesn’t view a page, is it a Page View?
  • 21. SUPERWEEK 2015 | #SPWK | @SimoAhava Surely not? * Obligatory Conference Presentation Meme
  • 22. SUPERWEEK 2015 | #SPWK | @SimoAhava APIS, WORKERS, LIBRARIES, SPECIFICATIONS ECMAScript DOMSettableTokenList Web Audio AutocompleteErrorEvent Animation Timing DOMTokenList DOM Fullscreen Drag and Drop SVG Indexed DB DocumentFragment DOMError File API ChildNode Media DOMImplementation Web Sockets and Messaging Event WebGL Visibility Web Storage Document EventSource CSS Object Model Comment Web Workers Attr WebRTC Selectors DocumentType Offline Element CharacterData Browser Canvas EventListener CustomEvent Shadow DOM CloseEvent File System API BroadcastChannel Typed Arrays Pointer Lock Elements
  • 23. SUPERWEEK 2015 | #SPWK | @SimoAhava APIS, WORKERS, LIBRARIES, SPECIFICATIONS ECMAScript DOMSettableTokenList Web Audio AutocompleteErrorEvent Animation Timing DOMTokenList DOM Fullscreen Drag and Drop SVG Indexed DB DocumentFragment DOMError File API ChildNode Media DOMImplementation Web Sockets and Messaging Event WebGL Visibility Web Storage Document EventSource CSS Object Model Comment Web Workers Attr WebRTC Selectors DocumentType Offline Element CharacterData Browser Canvas EventListener CustomEvent Shadow DOM CloseEvent File System API BroadcastChannel Typed Arrays Pointer Lock Elements
  • 24. SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API
  • 25. SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API Visible: document['hidden'] = false Hidden: document['hidden'] = true
  • 26. SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API Visible: document['hidden'] = false Hidden: document['hidden'] = true document.addEventListener('visibilitychange', function() { dataLayer.push({ 'event' : 'visibilityChange' }); });
  • 27. SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API Meaningful data: When a page is loaded in hidden state, do not send a Page View. If the visibility of the page changes from hidden to visible, then send the Page View.
  • 28. SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API
  • 29. SUPERWEEK 2015 | #SPWK | @SimoAhava DETAILED GUIDE http://goo.gl/DFgxmi
  • 30. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 1. Page is loaded in the browser 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…
  • 31. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 2. Is the Visibility API supported? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…
  • 32. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 2. Is the Visibility API supported? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…>> >>
  • 33. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 2. Is the Visibility API supported? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process… document.addEventListener( 'visibilitychange', function() { dataLayer.push({ 'event' : 'visibility- Change' }); } );
  • 34. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 3. Is the page visible? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…
  • 35. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 3. Is the page visible? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…>> >>
  • 36. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 3. Is the page visible? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…
  • 37. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 4. Is a Visibility Change detected? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…
  • 38. SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 4. Is a Visibility Change detected? 1. Page is loaded in the browser 2. Is the Visibility API supported? 3. Is the page visible? 4. Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…>> >>
  • 39. SUPERWEEK 2015 | #SPWK | @SimoAhava What just happened?
  • 40. SUPERWEEK 2015 | #SPWK | @SimoAhava We made a metric more meaningful
  • 41. SUPERWEEK 2015 | #SPWK | @SimoAhava But it’s only meaningful if the questions it answers are relevant
  • 42. SUPERWEEK 2015 | #SPWK | @SimoAhava How can we measure content engagement?
  • 43. SUPERWEEK 2015 | #SPWK | @SimoAhava Content engagement is notoriously difficult to track
  • 44. SUPERWEEK 2015 | #SPWK | @SimoAhava Adjusted Bounce Rate Adjusted
  • 45. SUPERWEEK 2015 | #SPWK | @SimoAhava Adjusted Bounce Rate Adjusted Not happy with a metric? Sure! Tweak the data collection. Don’t tackle the real problem, i.e. your horrible content!
  • 46. SUPERWEEK 2015 | #SPWK | @SimoAhava Scroll Tracking http://cutroni.com/blog/2014/02/12/advanced-content-tracking-with-universal-analytics/
  • 47. SUPERWEEK 2015 | #SPWK | @SimoAhava Scroll Tracking Better, but it isolates the action of reading as the sole qualification of engagement.
  • 48. SUPERWEEK 2015 | #SPWK | @SimoAhava Content is to a blog what products are to a web store
  • 49. SUPERWEEK 2015 | #SPWK | @SimoAhava Shopping Reading Behavior
  • 50. SUPERWEEK 2015 | #SPWK | @SimoAhava Checkout Behavior Content Engagement
  • 51. SUPERWEEK 2015 | #SPWK | @SimoAhava Product Article Performance
  • 52. SUPERWEEK 2015 | #SPWK | @SimoAhava Product Content List Performance
  • 53. SUPERWEEK 2015 | #SPWK | @SimoAhava Internal Promotions
  • 54. SUPERWEEK 2015 | #SPWK | @SimoAhava Step 1: Terminology
  • 55. SUPERWEEK 2015 | #SPWK | @SimoAhava Product: A blog article Product price: Words in an article Product impression: Views of a title or title+ingress in content lists Product list: Widget / content area where product impressions can be gathered from Product list click: Clicks on entries in a product list Product detail view: Page load of an article page Add to cart: First scroll on an article page Checkout: 1/3, 2/3, and 3/3 scroll depth on an article page Purchase: 3/3 scroll depth on an article page and minimum of 60 seconds dwell time
  • 56. SUPERWEEK 2015 | #SPWK | @SimoAhava Step 2: Data Collection
  • 57. SUPERWEEK 2015 | #SPWK | @SimoAhava PRODUCT LISTS
  • 58. SUPERWEEK 2015 | #SPWK | @SimoAhava PRODUCT LISTS Product impression Product impression Product impressions Internal promotion
  • 59. SUPERWEEK 2015 | #SPWK | @SimoAhava PRODUCT LISTS
  • 60. SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE
  • 61. SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: INITIAL PAGE LOAD = PRODUCT DETAIL VIEW
  • 62. SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: SCROLLING BEGINS = ADD TO CART
  • 63. SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: SCROLL DEPTH = CHECKOUT
  • 64. SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: SCROLL DEPTH + DWELL TIME = PURCHASE
  • 65. SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS 1. Use dataLayer, don’t do what I did (DOM scrape) 2. Feel free to leave something out if it isn’t meaningful or doesn’t make sense 3. Design the data collection with analysis in mind – not because it’s fun and cool 4. If using GTM, remember that only the most recent ’ecommerce’ object push is sent with a tag! Always remember to push an ’event’ value with an ’ecommerce’ object push 5. Read Google’s Dev Guide! It’s all in there.
  • 66. SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS 1. Use dataLayer, don’t do what I did (DOM scrape) 2. Feel free to leave something out if it isn’t meaningful or doesn’t make sense 3. Design the data collection with analysis in mind – not because it’s fun and cool 4. If using GTM, remember that only the most recent ’ecommerce’ object push is sent with a tag! Always remember to push an ’event’ value with an ’ecommerce’ object push 5. Read Google’s Dev Guide! It’s all in there.
  • 67. SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS 1. Use dataLayer, don’t do what I did (DOM scrape) 2. Feel free to leave something out if it isn’t meaningful or doesn’t make sense 3. Design the data collection with analysis in mind – not because it’s fun and cool 4. If using GTM, remember that only the most recent ’ecommerce’ object push is sent with a tag! Always remember to push an ’event’ value with an ’ecommerce’ object push 5. Read Google’s Dev Guide! It’s all in there.
  • 68. SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS 1. Use dataLayer, don’t do what I did (DOM scrape) 2. Feel free to leave something out if it isn’t meaningful or doesn’t make sense 3. Design the data collection with analysis in mind – not because it’s fun and cool 4. If using GTM, remember that only the most recent ’ecommerce’ object push is sent with a tag! Always remember to push an ’event’ value with an ’ecommerce’ object push 5. Read Google’s Dev Guide! It’s all in there.
  • 69. SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS 1. Use dataLayer, don’t do what I did (DOM scrape) 2. Feel free to leave something out if it isn’t meaningful or doesn’t make sense 3. Design the data collection with analysis in mind – not because it’s fun and cool 4. If using GTM, remember that only the most recent ’ecommerce’ object push is sent with a tag! Always remember to push an ’event’ value with an ’ecommerce’ object push 5. Read Google’s Dev Guide! It’s all in there.
  • 70. SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING http://goo.gl/lMWqW8
  • 71. SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING http://goo.gl/xYNVb3
  • 72. SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING http://enhancedecommerce.appspot.com/
  • 73. SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING https://github.com/sahava/eec-gtm
  • 74. SUPERWEEK 2015 | #SPWK | @SimoAhava Learning & Doing
  • 75. SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT http://www.codecademy.com/en/tracks/javascript
  • 76. SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT Nicholas Zakas: Professional JavaScript For Web Developers (3rd Edition)
  • 77. SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT Cody Lindley: DOM Enlightenment
  • 78. SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT Douglas Crockford: JavaScript: The Good Parts
  • 79. SUPERWEEK 2015 | #SPWK | @SimoAhava HTML5 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5
  • 80. SUPERWEEK 2015 | #SPWK | @SimoAhava THANK YOU @SimoAhava http://google.me/+SimoAhava [email protected] www.simoahava.com