diff --git a/web/app/assets/javascripts/corp/corporate.js b/web/app/assets/javascripts/corp/corporate.js index 53108edd6..b2b276aeb 100644 --- a/web/app/assets/javascripts/corp/corporate.js +++ b/web/app/assets/javascripts/corp/corporate.js @@ -1,6 +1,7 @@ //= require jquery //= require jquery.queryparams //= require AAC_underscore +//= require globals //= require jamkazam //= require utils //= require ga diff --git a/web/app/assets/javascripts/ga.js b/web/app/assets/javascripts/ga.js index de010df01..787504be2 100644 --- a/web/app/assets/javascripts/ga.js +++ b/web/app/assets/javascripts/ga.js @@ -15,7 +15,22 @@ } var categories = { - register : "Register" + register : "Register", + download : "DownloadClient" + } + + function translatePlatformForGA(platform) { + assertOneOf(platform, context.JK.OS); + + if(platform == context.JK.OS.WIN32) { + return "Windows"; + } + if(platform == context.JK.OS.OSX) { + return "Mac"; + } + if(platform == context.JK.OS.UNIX) { + return "Unix"; + } } function assertBoolean(value) { @@ -46,8 +61,15 @@ ga('send', 'event', categories.register, action, registrationType); } + function trackDownload(platform) { + var normalizedPlatform = translatePlatformForGA(platform); + + ga('send', 'event', categories.download, normalizedPlatform); + } + var GA = {}; GA.trackRegister = trackRegister; + GA.trackDownload = trackDownload; context.JK.GA = GA; diff --git a/web/app/assets/javascripts/landing/congratulations.js b/web/app/assets/javascripts/landing/congratulations.js index 646e4c525..055ba1a08 100644 --- a/web/app/assets/javascripts/landing/congratulations.js +++ b/web/app/assets/javascripts/landing/congratulations.js @@ -30,13 +30,19 @@ // we flag it with this boolean var matchesUserOS = currentOS != null && key.toLowerCase().indexOf(currentOS.toLowerCase()) > -1; + var platform = key.substring('JamClient/'.length); + var options = { emphasis: matchesUserOS ? "currentOS" : "", uri: item.uri, - platform: key.substring('JamClient/'.length) + platform: platform } - var download = context._.template($('#client-download-link').html(), options, {variable: 'data'}); + var download = $(context._.template($('#client-download-link').html(), options, { variable: 'data' })); + + download.find('a').data('platform', platform).click(function() { + context.JK.GA.trackDownload($(this).data('platform')); + }); if(matchesUserOS) { // make sure the current user OS is at the top diff --git a/web/app/assets/javascripts/landing/landing.js b/web/app/assets/javascripts/landing/landing.js index 0646f8051..59c30d932 100644 --- a/web/app/assets/javascripts/landing/landing.js +++ b/web/app/assets/javascripts/landing/landing.js @@ -1,6 +1,7 @@ //= require jquery //= require jquery.queryparams //= require AAC_underscore +//= require globals //= require jamkazam //= require utils //= require ga