Skip to content

Instantly share code, notes, and snippets.

@justinboyle
Created December 9, 2013 20:48
Show Gist options
  • Save justinboyle/7880586 to your computer and use it in GitHub Desktop.
Save justinboyle/7880586 to your computer and use it in GitHub Desktop.
google analytics
function uniAnalytics(UA) {
(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','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-' + UA +'-2', 'acehardware.com'); //setAccount
ga('send', 'pageview'); //pageview
}
//elements must be changed depending on the site, this is because each php site has different class/id names.
var events = {
//Header
' Click Home Logo' : {
element: '#header-Logo',
category: 'Header'
},
'Click Cart' : {
element: '#icnCart',
category: 'Header'
},
'Click Account' : {
element: '#icnMyAccount',
category: 'Header'
},
'Click Auction' : {
element: '#icnAuctions',
category: 'Header'
},
'Click Recent' : {
element: '#icnRecent',
category: 'Header'
},
//footer
'Click View Desktop' : {
element: '.desktopLink',
category: 'Footer'
},
'Click Telephone' : {
element: '#divHelpPhoneNumber a',
category: 'Footer'
},
//PDP
'Click Add To Cart' : {
element: '#divAddToCart',
category: 'Product Page'
},
'Click Add To WishList' : {
element: '#btnAddToWishList',
category: 'Product Page'
},
'Click Reviews' : {
element: '#tabReviews',
category: 'Product Page'
},
'Click Details' : {
element: '#tabDetails',
category: 'Product Page'
},
'Click Q&A' : {
element: '#tabQA',
category: 'Product Page'
},
'Click Description' : {
element: '#tabDescription',
category: 'Product Page'
},
//Family
'Click Refine' : {
element: '#divRefinements',
category: 'Family Page'
},
'Click Sorts' : {
element: '#sorts',
category: 'Family Page'
},
//store locator
'Click Search Store Locator' : {
element: '#StoreSearchButton',
category: 'Store Locator'
},
//Cart
'Click View Edit Cart' : {
element: '.modal-buttons a:nth-child(1)',
category: 'Cart Modal'
},
'Click Checkout' : {
element: '.modal-buttons a:nth-child(2)',
category: 'Cart Modal'
},
'Click Update Cart' : {
element: '.update',
category: 'Cart'
},
'Click Remove' : {
element: '.remove-from-cart',
category: 'Cart'
},
'Click Add To Wishlist' : {
element: '.move-to-wishlist',
category: 'Cart'
},
'Click Checkout' : {
element: '.btnCheckout',
category: 'Cart'
},
'Click paypal' : {
element: '.paypal',
category: 'Cart'
},
'Click Continue Shopping' : {
element: '.continue',
category: 'Cart'
},
'Click Apply Promo' : {
element: '.promos button',
category: 'Cart'
},
'Click qty +' : {
element: '.qty-plus',
category: 'Cart'
},
'Click qty -' : {
element: '.qty-minus',
category: 'Cart'
},
//login page
'Click qty -' : {
element: '.qty-minus',
category: 'Cart'
},
//checkout
'Click Sign In' : {
element: '#btnLogin',
category: 'Checkout'
},
'Click Forgot Password' : {
element: '#btnForgotPassword',
category: 'Checkout'
},
'Click Register' : {
element: '#btnRegister',
category: 'Checkout'
},
'Click Guest' : {
element: '.content-container a',
category: 'Checkout'
},
//checkout
'Click Guest' : {
element: '.continue-button',
category: 'Checkout'
},
};
$.each(events, function(name, event){
event.type = event.type || 'click';
$(document).on(event.type, event.element, function(e){
ga('send','event',event.category,name);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment