Google Analytics Bag o’ Tricks


The Presentation inside:

Slide 0

Google Analytics Bag o’ Tricks Simo Ahava (NetBooster) – SUPERWEEK 2015


Slide 1

SUPERWEEK 2015 | #SPWK | @SimoAhava Simo Ahava | NetBooster @SimoAhava http://google.me/+SimoAhava [email protected] www.simoahava.com


Slide 2

SUPERWEEK 2015 | #SPWK | @SimoAhava My (GA) Developer Philosophy


Slide 3

SUPERWEEK 2015 | #SPWK | @SimoAhava If you build it, data will come


Slide 4

SUPERWEEK 2015 | #SPWK | @SimoAhava


Slide 5

SUPERWEEK 2015 | #SPWK | @SimoAhava The Web is (inherently) stateless


Slide 6

SUPERWEEK 2015 | #SPWK | @SimoAhava User intent is untrackable in the stateless Web


Slide 7

SUPERWEEK 2015 | #SPWK | @SimoAhava The life span of a web page ENTRANCE EXIT


Slide 8

SUPERWEEK 2015 | #SPWK | @SimoAhava The life span of a web page ENTRANCE EXIT


Slide 9

SUPERWEEK 2015 | #SPWK | @SimoAhava No, browser cookies are not the solution (or HTML Storage)


Slide 10

SUPERWEEK 2015 | #SPWK | @SimoAhava document.cookie = 'returning=true'; document.cookie = 'articlesRead=3';


Slide 11

SUPERWEEK 2015 | #SPWK | @SimoAhava They provide you with temporary state only


Slide 12

SUPERWEEK 2015 | #SPWK | @SimoAhava Google Analytics is stateful


Slide 13

SUPERWEEK 2015 | #SPWK | @SimoAhava From https://developers.google.com/analytics/devguides/platform/customdimsmets


Slide 14

SUPERWEEK 2015 | #SPWK | @SimoAhava Google Analytics is better at pattern-matching than a browser


Slide 15

SUPERWEEK 2015 | #SPWK | @SimoAhava But it requires quality input


Slide 16

SUPERWEEK 2015 | #SPWK | @SimoAhava When the stateless and the stateful unite Meaningful data Meaningful data Meaningful data


Slide 17

SUPERWEEK 2015 | #SPWK | @SimoAhava How do we find and collect meaningful data?


Slide 18

SUPERWEEK 2015 | #SPWK | @SimoAhava No, how do we ask the right questions?


Slide 19

SUPERWEEK 2015 | #SPWK | @SimoAhava When a user doesn’t view a page, is it a Page View?


Slide 20

SUPERWEEK 2015 | #SPWK | @SimoAhava Surely not? * Obligatory Conference Presentation Meme


Slide 21

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


Slide 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


Slide 23

SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API


Slide 24

SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API Visible: document['hidden'] = false Hidden: document['hidden'] = true


Slide 25

SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API Visible: document['hidden'] = false Hidden: document['hidden'] = true document.addEventListener('visibilitychange', function() { dataLayer.push({ 'event' : 'visibilityChange' }); });


Slide 26

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.


Slide 27

SUPERWEEK 2015 | #SPWK | @SimoAhava PAGE VISIBILITY API


Slide 28

SUPERWEEK 2015 | #SPWK | @SimoAhava DETAILED GUIDE http://goo.gl/DFgxmi


Slide 29

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 1. Page is loaded in the browser Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…


Slide 30

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 2. Is the Visibility API supported? Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…


Slide 31

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 2. Is the Visibility API supported? Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process… >> >>


Slide 32

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 2. Is the Visibility API supported? Page is loaded in the browser Is the Visibility API supported? Is the page visible? 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' }); } );


Slide 33

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 3. Is the page visible? Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…


Slide 34

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 3. Is the page visible? Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process… >> >>


Slide 35

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 3. Is the page visible? Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…


Slide 36

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 4. Is a Visibility Change detected? Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process…


Slide 37

SUPERWEEK 2015 | #SPWK | @SimoAhava THE PROCESS 4. Is a Visibility Change detected? Page is loaded in the browser Is the Visibility API supported? Is the page visible? Is a Visibility Change detected? yes / no FIRE PAGE VIEW …and remove visibility listener… …and end the process… >> >>


Slide 38

SUPERWEEK 2015 | #SPWK | @SimoAhava What just happened?


Slide 39

SUPERWEEK 2015 | #SPWK | @SimoAhava We made a metric more meaningful


Slide 40

SUPERWEEK 2015 | #SPWK | @SimoAhava But it’s only meaningful if the questions it answers are relevant


Slide 41

SUPERWEEK 2015 | #SPWK | @SimoAhava How can we measure content engagement?


Slide 42

SUPERWEEK 2015 | #SPWK | @SimoAhava Content engagement is notoriously difficult to track


Slide 43

SUPERWEEK 2015 | #SPWK | @SimoAhava Adjusted Bounce Rate Adjusted


Slide 44

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!


Slide 45

SUPERWEEK 2015 | #SPWK | @SimoAhava Scroll Tracking http://cutroni.com/blog/2014/02/12/advanced-content-tracking-with-universal-analytics/


Slide 46

SUPERWEEK 2015 | #SPWK | @SimoAhava Scroll Tracking Better, but it isolates the action of reading as the sole qualification of engagement.


Slide 47

SUPERWEEK 2015 | #SPWK | @SimoAhava Content is to a blog what products are to a web store


Slide 48

SUPERWEEK 2015 | #SPWK | @SimoAhava Shopping Reading Behavior


Slide 49

SUPERWEEK 2015 | #SPWK | @SimoAhava Checkout Behavior Content Engagement


Slide 50

SUPERWEEK 2015 | #SPWK | @SimoAhava Product Article Performance


Slide 51

SUPERWEEK 2015 | #SPWK | @SimoAhava Product Content List Performance


Slide 52

SUPERWEEK 2015 | #SPWK | @SimoAhava Internal Promotions


Slide 53

SUPERWEEK 2015 | #SPWK | @SimoAhava Step 1: Terminology


Slide 54

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


Slide 55

SUPERWEEK 2015 | #SPWK | @SimoAhava Step 2: Data Collection


Slide 56

SUPERWEEK 2015 | #SPWK | @SimoAhava PRODUCT LISTS


Slide 57

SUPERWEEK 2015 | #SPWK | @SimoAhava PRODUCT LISTS Product impression Product impression Product impressions Internal promotion


Slide 58

SUPERWEEK 2015 | #SPWK | @SimoAhava PRODUCT LISTS


Slide 59

SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE


Slide 60

SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: INITIAL PAGE LOAD = PRODUCT DETAIL VIEW


Slide 61

SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: SCROLLING BEGINS = ADD TO CART


Slide 62

SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: SCROLL DEPTH = CHECKOUT


Slide 63

SUPERWEEK 2015 | #SPWK | @SimoAhava ARTICLE PAGE: SCROLL DEPTH + DWELL TIME = PURCHASE


Slide 64

SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS Use dataLayer, don’t do what I did (DOM scrape) Feel free to leave something out if it isn’t meaningful or doesn’t make sense Design the data collection with analysis in mind – not because it’s fun and cool 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 Read Google’s Dev Guide! It’s all in there.


Slide 65

SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS Use dataLayer, don’t do what I did (DOM scrape) Feel free to leave something out if it isn’t meaningful or doesn’t make sense Design the data collection with analysis in mind – not because it’s fun and cool 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 Read Google’s Dev Guide! It’s all in there.


Slide 66

SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS Use dataLayer, don’t do what I did (DOM scrape) Feel free to leave something out if it isn’t meaningful or doesn’t make sense Design the data collection with analysis in mind – not because it’s fun and cool 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 Read Google’s Dev Guide! It’s all in there.


Slide 67

SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS Use dataLayer, don’t do what I did (DOM scrape) Feel free to leave something out if it isn’t meaningful or doesn’t make sense Design the data collection with analysis in mind – not because it’s fun and cool 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 Read Google’s Dev Guide! It’s all in there.


Slide 68

SUPERWEEK 2015 | #SPWK | @SimoAhava TIPS Use dataLayer, don’t do what I did (DOM scrape) Feel free to leave something out if it isn’t meaningful or doesn’t make sense Design the data collection with analysis in mind – not because it’s fun and cool 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 Read Google’s Dev Guide! It’s all in there.


Slide 69

SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING http://goo.gl/lMWqW8


Slide 70

SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING http://goo.gl/xYNVb3


Slide 71

SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING http://enhancedecommerce.appspot.com/


Slide 72

SUPERWEEK 2015 | #SPWK | @SimoAhava FURTHER READING https://github.com/sahava/eec-gtm


Slide 73

SUPERWEEK 2015 | #SPWK | @SimoAhava Learning & Doing


Slide 74

SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT http://www.codecademy.com/en/tracks/javascript


Slide 75

SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT Nicholas Zakas: Professional JavaScript For Web Developers (3rd Edition)


Slide 76

SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT Cody Lindley: DOM Enlightenment


Slide 77

SUPERWEEK 2015 | #SPWK | @SimoAhava JAVASCRIPT Douglas Crockford: JavaScript: The Good Parts


Slide 78

SUPERWEEK 2015 | #SPWK | @SimoAhava HTML5 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5


Slide 79

SUPERWEEK 2015 | #SPWK | @SimoAhava THANK YOU @SimoAhava http://google.me/+SimoAhava [email protected] www.simoahava.com


×

HTML:





Ссылка: