rozmova-analytics 1.0.8 → 1.0.10
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.d.ts +1 -1
- package/dist/analytics.js +51 -58
- package/dist/bundle.min.js +25 -26
- package/dist/bundle.min.js.map +1 -1
- package/dist/constants.js +6 -12
- package/dist/global.d.js +1 -5
- package/dist/helpers.js +14 -28
- package/dist/index.js +10 -16
- package/dist/types.js +1 -5
- package/package.json +4 -3
package/dist/analytics.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnalyticsCommonParams, EventParams } from "./types";
|
|
1
|
+
import { AnalyticsCommonParams, EventParams } from "./types.js";
|
|
2
2
|
export declare const generateUserId: () => string;
|
|
3
3
|
export declare const getUserId: () => string;
|
|
4
4
|
export declare const setLocale: (newLocale: string) => void;
|
package/dist/analytics.js
CHANGED
|
@@ -1,92 +1,85 @@
|
|
|
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");
|
|
11
|
-
var _helpers = require("./helpers");
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
1
|
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); }
|
|
14
2
|
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; }
|
|
15
3
|
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; }
|
|
16
4
|
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
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
18
6
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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, {
|
|
23
16
|
domain: domain
|
|
24
17
|
});
|
|
25
|
-
localStorage.setItem(
|
|
18
|
+
localStorage.setItem(USER_ID_KEY, userId);
|
|
26
19
|
return userId;
|
|
27
20
|
};
|
|
28
|
-
var getUserId =
|
|
29
|
-
return
|
|
21
|
+
export var getUserId = function getUserId() {
|
|
22
|
+
return Cookies.get(USER_ID_KEY) || localStorage.getItem(USER_ID_KEY) || getQueryParam(USER_ID_KEY) || generateUserId();
|
|
30
23
|
};
|
|
31
24
|
var getCurrentParams = function getCurrentParams() {
|
|
32
|
-
var paramsFromCookie =
|
|
25
|
+
var paramsFromCookie = Cookies.get(PARAMS_COOKIE_NAME);
|
|
33
26
|
var prevParams = paramsFromCookie ? JSON.parse(paramsFromCookie) : {};
|
|
34
27
|
var searchParams = new URLSearchParams(window.location.search);
|
|
35
|
-
var isNewSetUTM =
|
|
28
|
+
var isNewSetUTM = UTM_KEYS.some(function (utmKey) {
|
|
36
29
|
return searchParams.get(utmKey) && searchParams.get(utmKey) !== prevParams[utmKey];
|
|
37
30
|
});
|
|
38
|
-
var currentUTMParams = isNewSetUTM ?
|
|
31
|
+
var currentUTMParams = isNewSetUTM ? UTM_KEYS.reduce(function (prev, curr) {
|
|
39
32
|
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, curr, searchParams.get(curr)));
|
|
40
|
-
}, {}) :
|
|
33
|
+
}, {}) : UTM_KEYS.reduce(function (prev, curr) {
|
|
41
34
|
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, curr, prevParams[curr]));
|
|
42
35
|
}, {});
|
|
43
36
|
var currentParams = _objectSpread(_objectSpread({}, currentUTMParams), {}, {
|
|
44
|
-
referrer:
|
|
45
|
-
search_query:
|
|
37
|
+
referrer: getReferrer() || prevParams.referrer,
|
|
38
|
+
search_query: getSearchQueryFromReferrer() || prevParams.search_query,
|
|
46
39
|
landing_page_url: prevParams.landing_page_url || window.location.href
|
|
47
40
|
});
|
|
48
|
-
|
|
49
|
-
domain:
|
|
41
|
+
Cookies.set(PARAMS_COOKIE_NAME, JSON.stringify(currentParams), {
|
|
42
|
+
domain: getDomain()
|
|
50
43
|
});
|
|
51
44
|
return currentParams;
|
|
52
45
|
};
|
|
53
|
-
var setLocale =
|
|
46
|
+
export var setLocale = function setLocale(newLocale) {
|
|
54
47
|
window.analyticsLocale = newLocale;
|
|
55
48
|
};
|
|
56
|
-
var getLocale =
|
|
49
|
+
export var getLocale = function getLocale() {
|
|
57
50
|
return window.analyticsLocale;
|
|
58
51
|
};
|
|
59
|
-
var setPlatform =
|
|
52
|
+
export var setPlatform = function setPlatform(newPlatform) {
|
|
60
53
|
window.analyticsPlatform = newPlatform;
|
|
61
54
|
};
|
|
62
|
-
var getPlatform =
|
|
55
|
+
export var getPlatform = function getPlatform() {
|
|
63
56
|
return window.analyticsPlatform || "web";
|
|
64
57
|
};
|
|
65
|
-
var getCommonParams =
|
|
58
|
+
export var getCommonParams = function getCommonParams() {
|
|
66
59
|
var persistedParams = getCurrentParams();
|
|
67
60
|
return _objectSpread(_objectSpread({}, persistedParams), {}, {
|
|
68
|
-
fbc:
|
|
69
|
-
fbp:
|
|
70
|
-
session_id:
|
|
71
|
-
user_pseudo_id:
|
|
61
|
+
fbc: Cookies.get("_fbc"),
|
|
62
|
+
fbp: Cookies.get("_fbp"),
|
|
63
|
+
session_id: getGASessionId(),
|
|
64
|
+
user_pseudo_id: getGAClientId(),
|
|
72
65
|
rid: getUserId(),
|
|
73
|
-
funnel_name:
|
|
74
|
-
funnel_type:
|
|
75
|
-
language:
|
|
66
|
+
funnel_name: Cookies.get("funnel_name"),
|
|
67
|
+
funnel_type: Cookies.get("funnel_type"),
|
|
68
|
+
language: getBrowserLanguage(),
|
|
76
69
|
platform: getPlatform(),
|
|
77
70
|
url: window.location.href,
|
|
78
|
-
device:
|
|
79
|
-
browser:
|
|
80
|
-
system:
|
|
71
|
+
device: detectDeviceType(),
|
|
72
|
+
browser: detectBrowser(),
|
|
73
|
+
system: detectOS(),
|
|
81
74
|
locale: getLocale()
|
|
82
75
|
});
|
|
83
76
|
};
|
|
84
|
-
var init =
|
|
77
|
+
export var init = function init(locale, platform) {
|
|
85
78
|
var userId = getUserId();
|
|
86
|
-
if (
|
|
87
|
-
|
|
79
|
+
if (isMetaBrowser()) {
|
|
80
|
+
setQueryParam(USER_ID_KEY, userId);
|
|
88
81
|
}
|
|
89
|
-
|
|
82
|
+
mixpanel.init(MIXPANEL_TOKEN, {
|
|
90
83
|
debug: false,
|
|
91
84
|
track_pageview: "url-with-path",
|
|
92
85
|
persistence: "cookie"
|
|
@@ -94,18 +87,18 @@ var init = exports.init = function init(locale, platform) {
|
|
|
94
87
|
if (locale) setLocale(locale);
|
|
95
88
|
if (platform) setPlatform(platform);
|
|
96
89
|
var userProperties = getCommonParams();
|
|
97
|
-
|
|
98
|
-
gtag("config",
|
|
90
|
+
mixpanel.register(userProperties);
|
|
91
|
+
gtag("config", GOOGLE_ANALYTICS_ID, {
|
|
99
92
|
user_properties: userProperties,
|
|
100
|
-
server_container_url:
|
|
93
|
+
server_container_url: GA_SERVER_CONTAINER_URL
|
|
101
94
|
});
|
|
102
95
|
};
|
|
103
|
-
var trackEvent =
|
|
96
|
+
export var trackEvent = function trackEvent(eventName) {
|
|
104
97
|
var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
105
98
|
var commonParams = getCommonParams();
|
|
106
99
|
var params = _objectSpread(_objectSpread({}, commonParams), properties);
|
|
107
100
|
try {
|
|
108
|
-
|
|
101
|
+
mixpanel.track(eventName, params);
|
|
109
102
|
} catch (e) {
|
|
110
103
|
console.log(e);
|
|
111
104
|
}
|
|
@@ -115,22 +108,22 @@ var trackEvent = exports.trackEvent = function trackEvent(eventName) {
|
|
|
115
108
|
console.log(e);
|
|
116
109
|
}
|
|
117
110
|
};
|
|
118
|
-
var setUser =
|
|
111
|
+
export var setUser = function setUser(userId, userParams) {
|
|
119
112
|
var email = userParams.email,
|
|
120
113
|
name = userParams.name;
|
|
121
|
-
|
|
122
|
-
|
|
114
|
+
mixpanel.identify(userId);
|
|
115
|
+
mixpanel.people.set({
|
|
123
116
|
$email: email,
|
|
124
117
|
name: name
|
|
125
118
|
});
|
|
126
|
-
gtag("config",
|
|
119
|
+
gtag("config", GOOGLE_ANALYTICS_ID, {
|
|
127
120
|
user_properties: getCommonParams(),
|
|
128
121
|
user_id: userId,
|
|
129
|
-
server_container_url:
|
|
122
|
+
server_container_url: GA_SERVER_CONTAINER_URL
|
|
130
123
|
});
|
|
131
124
|
};
|
|
132
|
-
var resetUser =
|
|
133
|
-
|
|
125
|
+
export var resetUser = function resetUser() {
|
|
126
|
+
mixpanel.reset();
|
|
134
127
|
generateUserId();
|
|
135
128
|
init();
|
|
136
129
|
};
|