rozmova-analytics 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/analytics.js CHANGED
@@ -1,85 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.trackEvent = exports.setUser = exports.setPlatform = exports.setLocale = exports.resetUser = exports.init = exports.getUserId = exports.getPlatform = exports.getLocale = exports.getCommonParams = exports.generateUserId = void 0;
7
+ var _jsCookie = _interopRequireDefault(require("js-cookie"));
8
+ var _mixpanelBrowser = _interopRequireDefault(require("mixpanel-browser"));
9
+ var _nanoid = require("nanoid");
10
+ var _constants = require("./constants.js");
11
+ var _helpers = require("./helpers.js");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
1
13
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
16
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
18
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- import Cookies from "js-cookie";
8
- import mixpanel from "mixpanel-browser";
9
- import { nanoid } from "nanoid";
10
- import { GA_SERVER_CONTAINER_URL, GOOGLE_ANALYTICS_ID, MIXPANEL_TOKEN, PARAMS_COOKIE_NAME, USER_ID_KEY, UTM_KEYS } from "./constants.js";
11
- import { detectBrowser, detectDeviceType, detectOS, getBrowserLanguage, getDomain, getGAClientId, getGASessionId, getQueryParam, getReferrer, getSearchQueryFromReferrer, isMetaBrowser, setQueryParam } from "./helpers.js";
12
- export var generateUserId = function generateUserId() {
13
- var userId = nanoid();
14
- var domain = getDomain();
15
- Cookies.set(USER_ID_KEY, userId, {
19
+ var generateUserId = exports.generateUserId = function generateUserId() {
20
+ var userId = (0, _nanoid.nanoid)();
21
+ var domain = (0, _helpers.getDomain)();
22
+ _jsCookie["default"].set(_constants.USER_ID_KEY, userId, {
16
23
  domain: domain
17
24
  });
18
- localStorage.setItem(USER_ID_KEY, userId);
25
+ localStorage.setItem(_constants.USER_ID_KEY, userId);
19
26
  return userId;
20
27
  };
21
- export var getUserId = function getUserId() {
22
- return Cookies.get(USER_ID_KEY) || localStorage.getItem(USER_ID_KEY) || getQueryParam(USER_ID_KEY) || generateUserId();
28
+ var getUserId = exports.getUserId = function getUserId() {
29
+ return _jsCookie["default"].get(_constants.USER_ID_KEY) || localStorage.getItem(_constants.USER_ID_KEY) || (0, _helpers.getQueryParam)(_constants.USER_ID_KEY) || generateUserId();
23
30
  };
24
31
  var getCurrentParams = function getCurrentParams() {
25
- var paramsFromCookie = Cookies.get(PARAMS_COOKIE_NAME);
32
+ var paramsFromCookie = _jsCookie["default"].get(_constants.PARAMS_COOKIE_NAME);
26
33
  var prevParams = paramsFromCookie ? JSON.parse(paramsFromCookie) : {};
27
34
  var searchParams = new URLSearchParams(window.location.search);
28
- var isNewSetUTM = UTM_KEYS.some(function (utmKey) {
35
+ var isNewSetUTM = _constants.UTM_KEYS.some(function (utmKey) {
29
36
  return searchParams.get(utmKey) && searchParams.get(utmKey) !== prevParams[utmKey];
30
37
  });
31
- var currentUTMParams = isNewSetUTM ? UTM_KEYS.reduce(function (prev, curr) {
38
+ var currentUTMParams = isNewSetUTM ? _constants.UTM_KEYS.reduce(function (prev, curr) {
32
39
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, curr, searchParams.get(curr)));
33
- }, {}) : UTM_KEYS.reduce(function (prev, curr) {
40
+ }, {}) : _constants.UTM_KEYS.reduce(function (prev, curr) {
34
41
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, curr, prevParams[curr]));
35
42
  }, {});
36
43
  var currentParams = _objectSpread(_objectSpread({}, currentUTMParams), {}, {
37
- referrer: getReferrer() || prevParams.referrer,
38
- search_query: getSearchQueryFromReferrer() || prevParams.search_query,
44
+ referrer: (0, _helpers.getReferrer)() || prevParams.referrer,
45
+ search_query: (0, _helpers.getSearchQueryFromReferrer)() || prevParams.search_query,
39
46
  landing_page_url: prevParams.landing_page_url || window.location.href
40
47
  });
41
- Cookies.set(PARAMS_COOKIE_NAME, JSON.stringify(currentParams), {
42
- domain: getDomain()
48
+ _jsCookie["default"].set(_constants.PARAMS_COOKIE_NAME, JSON.stringify(currentParams), {
49
+ domain: (0, _helpers.getDomain)()
43
50
  });
44
51
  return currentParams;
45
52
  };
46
- export var setLocale = function setLocale(newLocale) {
53
+ var setLocale = exports.setLocale = function setLocale(newLocale) {
47
54
  window.analyticsLocale = newLocale;
48
55
  };
49
- export var getLocale = function getLocale() {
56
+ var getLocale = exports.getLocale = function getLocale() {
50
57
  return window.analyticsLocale;
51
58
  };
52
- export var setPlatform = function setPlatform(newPlatform) {
59
+ var setPlatform = exports.setPlatform = function setPlatform(newPlatform) {
53
60
  window.analyticsPlatform = newPlatform;
54
61
  };
55
- export var getPlatform = function getPlatform() {
62
+ var getPlatform = exports.getPlatform = function getPlatform() {
56
63
  return window.analyticsPlatform || "web";
57
64
  };
58
- export var getCommonParams = function getCommonParams() {
65
+ var getCommonParams = exports.getCommonParams = function getCommonParams() {
59
66
  var persistedParams = getCurrentParams();
60
67
  return _objectSpread(_objectSpread({}, persistedParams), {}, {
61
- fbc: Cookies.get("_fbc"),
62
- fbp: Cookies.get("_fbp"),
63
- session_id: getGASessionId(),
64
- user_pseudo_id: getGAClientId(),
68
+ fbc: _jsCookie["default"].get("_fbc"),
69
+ fbp: _jsCookie["default"].get("_fbp"),
70
+ session_id: (0, _helpers.getGASessionId)(),
71
+ user_pseudo_id: (0, _helpers.getGAClientId)(),
65
72
  rid: getUserId(),
66
- funnel_name: Cookies.get("funnel_name"),
67
- funnel_type: Cookies.get("funnel_type"),
68
- language: getBrowserLanguage(),
73
+ funnel_name: _jsCookie["default"].get("funnel_name"),
74
+ funnel_type: _jsCookie["default"].get("funnel_type"),
75
+ language: (0, _helpers.getBrowserLanguage)(),
69
76
  platform: getPlatform(),
70
77
  url: window.location.href,
71
- device: detectDeviceType(),
72
- browser: detectBrowser(),
73
- system: detectOS(),
78
+ device: (0, _helpers.detectDeviceType)(),
79
+ browser: (0, _helpers.detectBrowser)(),
80
+ system: (0, _helpers.detectOS)(),
74
81
  locale: getLocale()
75
82
  });
76
83
  };
77
- export var init = function init(locale, platform) {
84
+ var init = exports.init = function init(locale, platform) {
78
85
  var userId = getUserId();
79
- if (isMetaBrowser()) {
80
- setQueryParam(USER_ID_KEY, userId);
86
+ if ((0, _helpers.isMetaBrowser)()) {
87
+ (0, _helpers.setQueryParam)(_constants.USER_ID_KEY, userId);
81
88
  }
82
- mixpanel.init(MIXPANEL_TOKEN, {
89
+ _mixpanelBrowser["default"].init(_constants.MIXPANEL_TOKEN, {
83
90
  debug: false,
84
91
  track_pageview: "url-with-path",
85
92
  persistence: "cookie"
@@ -87,18 +94,18 @@ export var init = function init(locale, platform) {
87
94
  if (locale) setLocale(locale);
88
95
  if (platform) setPlatform(platform);
89
96
  var userProperties = getCommonParams();
90
- mixpanel.register(userProperties);
91
- gtag("config", GOOGLE_ANALYTICS_ID, {
97
+ _mixpanelBrowser["default"].register(userProperties);
98
+ gtag("config", _constants.GOOGLE_ANALYTICS_ID, {
92
99
  user_properties: userProperties,
93
- server_container_url: GA_SERVER_CONTAINER_URL
100
+ server_container_url: _constants.GA_SERVER_CONTAINER_URL
94
101
  });
95
102
  };
96
- export var trackEvent = function trackEvent(eventName) {
103
+ var trackEvent = exports.trackEvent = function trackEvent(eventName) {
97
104
  var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
98
105
  var commonParams = getCommonParams();
99
106
  var params = _objectSpread(_objectSpread({}, commonParams), properties);
100
107
  try {
101
- mixpanel.track(eventName, params);
108
+ _mixpanelBrowser["default"].track(eventName, params);
102
109
  } catch (e) {
103
110
  console.log(e);
104
111
  }
@@ -108,22 +115,22 @@ export var trackEvent = function trackEvent(eventName) {
108
115
  console.log(e);
109
116
  }
110
117
  };
111
- export var setUser = function setUser(userId, userParams) {
118
+ var setUser = exports.setUser = function setUser(userId, userParams) {
112
119
  var email = userParams.email,
113
120
  name = userParams.name;
114
- mixpanel.identify(userId);
115
- mixpanel.people.set({
121
+ _mixpanelBrowser["default"].identify(userId);
122
+ _mixpanelBrowser["default"].people.set({
116
123
  $email: email,
117
124
  name: name
118
125
  });
119
- gtag("config", GOOGLE_ANALYTICS_ID, {
126
+ gtag("config", _constants.GOOGLE_ANALYTICS_ID, {
120
127
  user_properties: getCommonParams(),
121
128
  user_id: userId,
122
- server_container_url: GA_SERVER_CONTAINER_URL
129
+ server_container_url: _constants.GA_SERVER_CONTAINER_URL
123
130
  });
124
131
  };
125
- export var resetUser = function resetUser() {
126
- mixpanel.reset();
132
+ var resetUser = exports.resetUser = function resetUser() {
133
+ _mixpanelBrowser["default"].reset();
127
134
  generateUserId();
128
135
  init();
129
136
  };
package/dist/constants.js CHANGED
@@ -1,6 +1,12 @@
1
- export var USER_ID_KEY = "rid";
2
- export var PARAMS_COOKIE_NAME = "rozmovaAnalyticsParams";
3
- export var UTM_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_campaign_id", "utm_advertiser_id", "utm_adset_id", "utm_adset_name", "utm_ad_id", "utm_ad_name", "utm_keyword"];
4
- export var GOOGLE_ANALYTICS_ID = "G-9PCTLFE0F6";
5
- export var GA_SERVER_CONTAINER_URL = "https://tagging.clearly.help";
6
- export var MIXPANEL_TOKEN = "9d4cb3d213e5aee689ea01dd68ad65ad";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UTM_KEYS = exports.USER_ID_KEY = exports.PARAMS_COOKIE_NAME = exports.MIXPANEL_TOKEN = exports.GOOGLE_ANALYTICS_ID = exports.GA_SERVER_CONTAINER_URL = void 0;
7
+ var USER_ID_KEY = exports.USER_ID_KEY = "rid";
8
+ var PARAMS_COOKIE_NAME = exports.PARAMS_COOKIE_NAME = "rozmovaAnalyticsParams";
9
+ var UTM_KEYS = exports.UTM_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_campaign_id", "utm_advertiser_id", "utm_adset_id", "utm_adset_name", "utm_ad_id", "utm_ad_name", "utm_keyword"];
10
+ var GOOGLE_ANALYTICS_ID = exports.GOOGLE_ANALYTICS_ID = "G-9PCTLFE0F6";
11
+ var GA_SERVER_CONTAINER_URL = exports.GA_SERVER_CONTAINER_URL = "https://tagging.clearly.help";
12
+ var MIXPANEL_TOKEN = exports.MIXPANEL_TOKEN = "9d4cb3d213e5aee689ea01dd68ad65ad";
package/dist/global.d.js CHANGED
@@ -1 +1,5 @@
1
- export {};
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/dist/helpers.js CHANGED
@@ -1,30 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.detectBrowser = detectBrowser;
7
+ exports.detectDeviceType = detectDeviceType;
8
+ exports.detectOS = detectOS;
9
+ exports.getGAClientId = exports.getDomain = exports.getBrowserLanguage = void 0;
10
+ exports.getGASessionId = getGASessionId;
11
+ exports.getReferrer = exports.getQueryParam = void 0;
12
+ exports.getSearchQueryFromReferrer = getSearchQueryFromReferrer;
13
+ exports.setQueryParam = exports.isMetaBrowser = void 0;
14
+ var _jsCookie = _interopRequireDefault(require("js-cookie"));
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
1
16
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
17
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
18
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
19
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
20
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
21
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
- import Cookies from "js-cookie";
8
- export var setQueryParam = function setQueryParam(name, value) {
22
+ var setQueryParam = exports.setQueryParam = function setQueryParam(name, value) {
9
23
  var url = new URL(window.location.href);
10
24
  url.searchParams.set(name, value);
11
25
  window.history.replaceState({
12
26
  path: url.toString()
13
27
  }, "", url.toString());
14
28
  };
15
- export var getQueryParam = function getQueryParam(name) {
29
+ var getQueryParam = exports.getQueryParam = function getQueryParam(name) {
16
30
  var searchParams = new URLSearchParams(window.location.search);
17
31
  return searchParams.get(name);
18
32
  };
19
- export var isMetaBrowser = function isMetaBrowser() {
33
+ var isMetaBrowser = exports.isMetaBrowser = function isMetaBrowser() {
20
34
  // @ts-expect-error opera property
21
35
  var ua = navigator.userAgent || navigator.vendor || window.opera;
22
36
  return ua.match(/FBAN|FBAV|Instagram/i);
23
37
  };
24
- export var getBrowserLanguage = function getBrowserLanguage() {
38
+ var getBrowserLanguage = exports.getBrowserLanguage = function getBrowserLanguage() {
25
39
  return window.navigator.language;
26
40
  };
27
- export function detectBrowser() {
41
+ function detectBrowser() {
28
42
  var userAgent = navigator.userAgent;
29
43
  if (userAgent.indexOf("Edg") > -1) {
30
44
  return "Microsoft Edge";
@@ -41,7 +55,7 @@ export function detectBrowser() {
41
55
  }
42
56
  return "Unknown";
43
57
  }
44
- export function detectDeviceType() {
58
+ function detectDeviceType() {
45
59
  var userAgent = navigator.userAgent;
46
60
  if (/Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent)) {
47
61
  return "Mobile";
@@ -49,7 +63,7 @@ export function detectDeviceType() {
49
63
  return "Desktop";
50
64
  }
51
65
  }
52
- export function detectOS() {
66
+ function detectOS() {
53
67
  var userAgent = navigator.userAgent;
54
68
  if (userAgent.includes("Win")) {
55
69
  return "Windows";
@@ -65,13 +79,13 @@ export function detectOS() {
65
79
  return "Unknown OS";
66
80
  }
67
81
  }
68
- export var getDomain = function getDomain() {
82
+ var getDomain = exports.getDomain = function getDomain() {
69
83
  var domainParts = window.location.hostname.split(".");
70
84
  var domainPartsLength = domainParts.length;
71
85
  if (domainParts.length === 1) return domainParts[0];
72
86
  return domainParts.slice(domainPartsLength - 2, domainPartsLength).join(".");
73
87
  };
74
- export var getReferrer = function getReferrer() {
88
+ var getReferrer = exports.getReferrer = function getReferrer() {
75
89
  var referrer = document.referrer;
76
90
  if (referrer) {
77
91
  var url = new URL(referrer);
@@ -81,7 +95,7 @@ export var getReferrer = function getReferrer() {
81
95
  }
82
96
  return referrer;
83
97
  };
84
- export function getSearchQueryFromReferrer() {
98
+ function getSearchQueryFromReferrer() {
85
99
  // Get the referrer URL (the page that linked to your site)
86
100
  var referrer = getReferrer();
87
101
  if (!referrer) {
@@ -117,13 +131,13 @@ export function getSearchQueryFromReferrer() {
117
131
  // If no match with search engines, return null
118
132
  return null;
119
133
  }
120
- export var getGAClientId = function getGAClientId() {
121
- var clientId = Cookies.get("_ga");
134
+ var getGAClientId = exports.getGAClientId = function getGAClientId() {
135
+ var clientId = _jsCookie["default"].get("_ga");
122
136
  if (!clientId) return "";
123
137
  var splitedClientId = clientId.split(".");
124
138
  return splitedClientId[2] + "." + splitedClientId[3];
125
139
  };
126
- export function getGASessionId() {
140
+ function getGASessionId() {
127
141
  // Use your own ID here ↓
128
142
  var pattern = /_ga_9PCTLFE0F6=GS\d\.\d\.(.+?)(?:;|$)/;
129
143
  var match = document.cookie.match(pattern);
package/dist/index.js CHANGED
@@ -1,12 +1,18 @@
1
- import { generateUserId, getCommonParams, getUserId, init, resetUser, setUser, trackEvent, setLocale } from "./analytics";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _analytics = require("./analytics");
2
8
  var Analytics = {
3
- getUserId: getUserId,
4
- generateUserId: generateUserId,
5
- init: init,
6
- getCommonParams: getCommonParams,
7
- trackEvent: trackEvent,
8
- setUser: setUser,
9
- resetUser: resetUser,
10
- setLocale: setLocale
9
+ getUserId: _analytics.getUserId,
10
+ generateUserId: _analytics.generateUserId,
11
+ init: _analytics.init,
12
+ getCommonParams: _analytics.getCommonParams,
13
+ trackEvent: _analytics.trackEvent,
14
+ setUser: _analytics.setUser,
15
+ resetUser: _analytics.resetUser,
16
+ setLocale: _analytics.setLocale
11
17
  };
12
- export default Analytics;
18
+ var _default = exports["default"] = Analytics;
package/dist/types.js CHANGED
@@ -1 +1,5 @@
1
- export {};
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rozmova-analytics",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "description": "A collection of JavaScript functions for Rozmova analytics",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",