UNPKG

@analytics/original-source-plugin

Version:

Save original referral source of visitor plugin for 'analytics' pkg

3 lines (2 loc) 2.26 kB
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("analytics-utils"),require("@analytics/storage-utils"),require("@analytics/type-utils")):"function"==typeof define&&define.amd?define(["exports","analytics-utils","@analytics/storage-utils","@analytics/type-utils"],r):r((e||self).analyticsOriginalSource={},e.analyticsUtils,e.storageUtils,e.typeUtils)}(this,function(e,r,i,t){function n(){return n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var i=arguments[r];for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t])}return e},n.apply(this,arguments)}function a(e){var i={utmcsr:"source",utmcmd:"medium",utmccn:"campaign",utmcct:"content",utmctr:"term",utmgclid:"gclid",utmdclid:"dclid"},t=e?e.split("|"):[];return t.reduce(function(e,n,a){var o=t[a].split("="),c=o[0].split(".").pop();return i[c]?e[""+i[c]]=r.decodeUri(o[1]):void 0===n[c]&&(e[c]=r.decodeUri(o[1])),e},{})}var o={SET_ORIGINAL_SOURCE:"setOriginalSource"},c={storage:i.LOCAL_STORAGE,originalSourceKey:"__user_original_source",originalLandingPageKey:"__user_original_landing_page"};function s(e){void 0===e&&(e={});var n=Object.assign({},c,e),o=n.referrer,s=i.getItem(n.originalSourceKey,n.storage);if(s)return a(s);var g=i.getItem("__utmz",i.COOKIE);if(g){var l=a(g);if(l)return u(l,n),l}var f=t.isBrowser?o||document.referrer:"",d=r.parseReferrer(f);return u(d,n),d}function u(e,r){i.setItem(r.originalSourceKey,function(e){if(t.isObject(e))return Object.keys(e).reduce(function(r,i,t){return r+(t?"|":"")+i+"="+e[i]},"")}(e),r.storage)}function g(e){void 0===e&&(e={});var r=Object.assign({},c,e),n=r.originalLandingPageKey,a={storage:r.storage},o=i.getItem(n,a);if(o)return o;var s=t.isBrowser?window.location.href:"";return i.setItem(n,s,a),s}e.getOriginalLandingPage=g,e.getOriginalSource=s,e.originalSourcePlugin=function(e){return void 0===e&&(e={}),{name:"original-source",EVENTS:o,config:n({},c,e),bootstrap:function(e){var r=e.config;e.instance.dispatch({type:o.SET_ORIGINAL_SOURCE,originalSource:s(r),originalLandingPage:g(r)})},reset:function(e){var r=e.instance;r.storage.removeItem(c.originalSourceKey),r.storage.removeItem(c.originalLandingPageKey)}}}}); //# sourceMappingURL=original-source-plugin.umd.js.map