var BPTracking = new function _BasePlatformTracking() { var cookie_duration = 30 * 86400; this.track = function() { console.log("start tracking"); var utm_source = this.getParameterByName("utm_source"); if(utm_source) { $.cookie("utm_source", utm_source, { expires: cookie_duration, path: '/' }); } var utm_campaign = this.getParameterByName("utm_campaign"); if(utm_campaign) { $.cookie("utm_campaign", utm_campaign, { expires: cookie_duration, path: '/' }); } var utm_medium = this.getParameterByName("utm_medium"); if(utm_medium) { $.cookie("utm_medium", utm_medium, { expires: cookie_duration, path: '/' }); } var utm_term = this.getParameterByName("utm_term"); if(utm_term) { $.cookie("utm_term", utm_term, { expires: cookie_duration, path: '/' }); } var utm_content = this.getParameterByName("utm_content"); if(utm_content) { $.cookie("utm_content", utm_content, { expires: cookie_duration, path: '/' }); } var referral_id = this.getParameterByName("referral_id"); if(referral_id) { $.cookie("referral_id", referral_id, { expires: cookie_duration, path: '/' }); } }; this.getParameterByName = function(name, url) { if(!url) { url = window.location.href; } name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if(!results || !results[2]) { return ''; //get from cookie } else { return decodeURIComponent(results[2].replace(/\+/g, " ")); } }; }; BPTracking.track();