@@ -39,9 +39,30 @@ var getRandomEpisode = function() {
3939 // Update the header
4040 $ ( 'h1' ) . text ( randomItem ( headings ) ) ;
4141
42+ // Update the elements for data tracking
43+ $ ( 'a, button' , '.card' ) . data ( {
44+ episode : episode . episode + ' - ' + episode . title ,
45+ season : season . season
46+ } ) ;
47+
4248 // TODO: Add episode descriptions to JSON and load them into card
4349} ;
4450
51+ // event tracking
52+ var trackCardClick = function ( $target ) {
53+ var action = $target . data ( 'gaAction' ) ;
54+ var label = $target . data ( 'episode' ) ;
55+ var value = $target . data ( 'season' ) ;
56+ var event = {
57+ eventCategory : 'Card Click' ,
58+ eventAction : action , // button or link action
59+ eventLabel : label , // episode number and name
60+ eventValue : value // season
61+ } ;
62+
63+ window . ga ( 'send' , 'event' , event ) ;
64+ } ;
65+
4566// I don't love this name. What's better, or is there a better way to do this altogether?
4667var init = function ( ) {
4768 getRandomEpisode ( ) ;
@@ -50,6 +71,10 @@ var init = function() {
5071 $ ( '.card.hidden' ) . removeClass ( 'hidden' ) ;
5172
5273 // Bind UI handlers
74+ $ ( 'a, button' , '.card' ) . on ( 'click' , function ( ) {
75+ trackCardClick ( $ ( this ) ) ;
76+ } ) ;
77+
5378 $ ( '.card button' ) . on ( 'click' , function ( ) {
5479 getRandomEpisode ( ) ;
5580 } ) ;
0 commit comments