diff options
Diffstat (limited to 'StoneIsland/www/js/lib/etc/analytics.js')
| -rw-r--r-- | StoneIsland/www/js/lib/etc/analytics.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/StoneIsland/www/js/lib/etc/analytics.js b/StoneIsland/www/js/lib/etc/analytics.js new file mode 100644 index 00000000..0d026f2f --- /dev/null +++ b/StoneIsland/www/js/lib/etc/analytics.js @@ -0,0 +1,49 @@ +var analytics = (function() { + var analytics = {} + + analytics.fields = { + trackingId: 'UA-XXXXXXXX-Y', + clientId: localStorage.getItem('ga:clientId'), + storage: 'none', + } + + analytics.init = function() { + console.log("Analytics init") + analytics.build() + analytics.send('/') + } + + analytics.build = function() { + ;( 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','https://www.google-analytics.com/analytics.js','ga' ); + + analytics.ga = window.ga + analytics.ga('create', analytics.fields) + // prevent tasks that would abort tracking + analytics.ga('set', { + // don't abort if the protocol is not http(s) + checkProtocolTask: null, + // don't expect cookies to be enabled + checkStorageTask: null, + }) + // a callback function to get the clientId and store it ourselves + analytics.ga(function(tracker){ + localStorage.setItem('ga:clientId', tracker.get('clientId')); + }) + } + + analytics.send = function(path) { + console.log("/a\\ send", path) + if (!analytics.ga) return + analytics.ga('send', { + // these are the three required properties, check GA's doc for the optional ones + hitType: 'screenview', + screenName: path, + appName: 'StoneIsland' + }) + } + + return analytics +})() |
