UNPKG

utm-tracking

Version:
1 lines 960 B
"use strict";function getReferrerSessions(){return JSON.parse(window.localStorage.getItem("referrerSessions")||null)}function getDomainFromUrl(e){var r,e=e.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n\?\=]+)/im);return r=(e=e&&(r=e[1]).match(/^[^\.]+\.(.+\..+)$/))?e[1]:r}function minutesPassed(e){return((new Date).getTime()-e)/6e4}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default={setReferrerSessions:function(e){var r=e||30,e=getReferrerSessions();e&&minutesPassed(e.timestamp)<=r||window.localStorage.setItem("referrerSessions",JSON.stringify({referrer:getDomainFromUrl(document.referrer),timestamp:(new Date).getTime()}))},mergeUrlParams:function(e){var r=getReferrerSessions();return/utm/.test(window.location.search)?"".concat(e,"/").concat(window.location.search):r.referrer?"".concat(e,"/?utm_source=").concat(r.referrer,"&utm_medium=searchResult&utm_campaign=search"):e}};exports.default=_default;