rozmova-analytics 1.0.12 → 1.0.14

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.
@@ -1,4 +1,6 @@
1
1
  import { AnalyticsCommonParams, EventParams } from "./types.js";
2
+ export declare function insertCustomerIOScript(): void;
3
+ export declare const setUserId: (userId: string) => void;
2
4
  export declare const generateUserId: () => string;
3
5
  export declare const getUserId: () => string;
4
6
  export declare const setLocale: (newLocale: string) => void;
package/dist/analytics.js CHANGED
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
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;
6
+ exports.init = exports.getUserId = exports.getPlatform = exports.getLocale = exports.getCommonParams = exports.generateUserId = void 0;
7
+ exports.insertCustomerIOScript = insertCustomerIOScript;
8
+ exports.trackEvent = exports.setUserId = exports.setUser = exports.setPlatform = exports.setLocale = exports.resetUser = void 0;
7
9
  var _jsCookie = _interopRequireDefault(require("js-cookie"));
8
10
  var _mixpanelBrowser = _interopRequireDefault(require("mixpanel-browser"));
9
11
  var _nanoid = require("nanoid");
@@ -16,17 +18,29 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
18
  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; }
17
19
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
20
  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); }
19
- var generateUserId = exports.generateUserId = function generateUserId() {
20
- var userId = (0, _nanoid.nanoid)();
21
+ function insertCustomerIOScript() {
22
+ var scriptContent = "\n (function(){\n var analytics = window.analytics = window.analytics || [];\n if (!analytics.initialize) \n if (analytics.invoked) \n window.console && console.error && console.error(\"Snippet included twice.\");\n else {\n analytics.invoked = !0;\n analytics.methods = [\"trackSubmit\", \"trackClick\", \"trackLink\", \"trackForm\", \"pageview\", \"identify\", \"reset\", \"group\", \"track\", \"ready\", \"alias\", \"debug\", \"page\", \"once\", \"off\", \"on\", \"addSourceMiddleware\", \"addIntegrationMiddleware\", \"setAnonymousId\", \"addDestinationMiddleware\"];\n analytics.factory = function(e) {\n return function() {\n var t = Array.prototype.slice.call(arguments);\n t.unshift(e);\n analytics.push(t);\n return analytics;\n }\n };\n for (var e = 0; e < analytics.methods.length; e++) {\n var key = analytics.methods[e];\n analytics[key] = analytics.factory(key);\n }\n analytics.load = function(key, e) {\n var t = document.createElement(\"script\");\n t.type = \"text/javascript\";\n t.async = !0;\n t.src = \"https://cdp-eu.customer.io/v1/analytics-js/snippet/\" + key + \"/analytics.min.js\";\n var n = document.getElementsByTagName(\"script\")[0];\n n.parentNode.insertBefore(t, n);\n analytics._writeKey = key;\n analytics._loadOptions = e;\n };\n analytics.SNIPPET_VERSION = \"4.15.3\";\n analytics.load(\"".concat(_constants.CUSTOMER_IO_WRITE_KEY, "\");\n analytics.page();\n }\n })();\n ");
23
+ var scriptElement = document.createElement("script");
24
+ scriptElement.type = "text/javascript";
25
+ scriptElement.text = scriptContent;
26
+ document.head.appendChild(scriptElement);
27
+ }
28
+ var setUserId = exports.setUserId = function setUserId(userId) {
21
29
  var domain = (0, _helpers.getDomain)();
22
30
  _jsCookie["default"].set(_constants.USER_ID_KEY, userId, {
23
31
  domain: domain
24
32
  });
25
33
  localStorage.setItem(_constants.USER_ID_KEY, userId);
34
+ };
35
+ var generateUserId = exports.generateUserId = function generateUserId() {
36
+ var userId = (0, _nanoid.nanoid)();
37
+ setUserId(userId);
26
38
  return userId;
27
39
  };
28
40
  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();
41
+ var userIdFromUrl = (0, _helpers.getQueryParam)(_constants.USER_ID_KEY);
42
+ if (userIdFromUrl) setUserId(userIdFromUrl); // store "rid" from URL in cookies, local storage
43
+ return userIdFromUrl || localStorage.getItem(_constants.USER_ID_KEY) || _jsCookie["default"].get(_constants.USER_ID_KEY) || generateUserId();
30
44
  };
31
45
  var getCurrentParams = function getCurrentParams() {
32
46
  var paramsFromCookie = _jsCookie["default"].get(_constants.PARAMS_COOKIE_NAME);
@@ -104,16 +118,24 @@ var trackEvent = exports.trackEvent = function trackEvent(eventName) {
104
118
  var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
105
119
  var commonParams = getCommonParams();
106
120
  var params = _objectSpread(_objectSpread({}, commonParams), properties);
121
+ // Mixpanel
107
122
  try {
108
123
  _mixpanelBrowser["default"].track(eventName, params);
109
124
  } catch (e) {
110
125
  console.log(e);
111
126
  }
127
+ // GA
112
128
  try {
113
129
  gtag("event", eventName, params);
114
130
  } catch (e) {
115
131
  console.log(e);
116
132
  }
133
+ // Customer.io
134
+ try {
135
+ window.analytics.track(eventName, params);
136
+ } catch (e) {
137
+ console.log(e);
138
+ }
117
139
  };
118
140
  var setUser = exports.setUser = function setUser(userId, userParams) {
119
141
  var email = userParams.email,
@@ -128,9 +150,11 @@ var setUser = exports.setUser = function setUser(userId, userParams) {
128
150
  user_id: userId,
129
151
  server_container_url: _constants.GA_SERVER_CONTAINER_URL
130
152
  });
153
+ window.analytics.identify(userId, userParams);
131
154
  };
132
155
  var resetUser = exports.resetUser = function resetUser() {
133
156
  _mixpanelBrowser["default"].reset();
157
+ window.analytics.reset();
134
158
  generateUserId();
135
159
  init();
136
160
  };