@codecademy/tracking 1.0.14 → 1.0.15-alpha.3ec3866cb6.0
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/events/track.js +24 -4
- package/package.json +2 -2
package/dist/events/track.js
CHANGED
|
@@ -47,6 +47,21 @@ export var createTracker = function createTracker(_ref) {
|
|
|
47
47
|
keepalive: true
|
|
48
48
|
}));
|
|
49
49
|
};
|
|
50
|
+
var serverSideBeacon = function serverSideBeacon(endpoint, data) {
|
|
51
|
+
var uri = new URL(endpoint, apiBaseUrl).toString();
|
|
52
|
+
var form = new URLSearchParams();
|
|
53
|
+
for (var _i3 = 0, _Object$entries2 = Object.entries(data); _i3 < _Object$entries2.length; _i3++) {
|
|
54
|
+
var _ref4 = _Object$entries2[_i3];
|
|
55
|
+
var _ref5 = _slicedToArray(_ref4, 2);
|
|
56
|
+
var k = _ref5[0];
|
|
57
|
+
var v = _ref5[1];
|
|
58
|
+
form.append(k, v.toString());
|
|
59
|
+
}
|
|
60
|
+
fetch(uri, {
|
|
61
|
+
method: 'POST',
|
|
62
|
+
body: form
|
|
63
|
+
});
|
|
64
|
+
};
|
|
50
65
|
var event = function event(category, _event, userData) {
|
|
51
66
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
52
67
|
// support server-side-only as well as client-side events
|
|
@@ -68,9 +83,8 @@ export var createTracker = function createTracker(_ref) {
|
|
|
68
83
|
});
|
|
69
84
|
console.groupEnd();
|
|
70
85
|
}
|
|
71
|
-
|
|
72
|
-
// This allows the UTM query params to get registered in the user session.
|
|
73
86
|
if (typeof window !== 'undefined') {
|
|
87
|
+
// This allows the UTM query params to get registered in the user session.
|
|
74
88
|
var queryParams = window.location.search;
|
|
75
89
|
beacon("/analytics/".concat(category).concat(queryParams), {
|
|
76
90
|
category: category,
|
|
@@ -78,6 +92,12 @@ export var createTracker = function createTracker(_ref) {
|
|
|
78
92
|
properties: JSON.stringify(properties),
|
|
79
93
|
gdpr_safe: "".concat(options.gdprSafe)
|
|
80
94
|
});
|
|
95
|
+
} else {
|
|
96
|
+
serverSideBeacon("/analytics/".concat(category), {
|
|
97
|
+
category: category,
|
|
98
|
+
event: _event,
|
|
99
|
+
properties: JSON.stringify(properties)
|
|
100
|
+
});
|
|
81
101
|
}
|
|
82
102
|
};
|
|
83
103
|
return {
|
|
@@ -92,8 +112,8 @@ export var createTracker = function createTracker(_ref) {
|
|
|
92
112
|
return event('user', 'visit', data);
|
|
93
113
|
},
|
|
94
114
|
pushDataLayerEvent: function pushDataLayerEvent(eventName) {
|
|
95
|
-
var
|
|
96
|
-
((
|
|
115
|
+
var _ref6;
|
|
116
|
+
((_ref6 = window).dataLayer || (_ref6.dataLayer = [])).push({
|
|
97
117
|
event: eventName
|
|
98
118
|
});
|
|
99
119
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codecademy/tracking",
|
|
3
3
|
"description": "Tracking library for Codecademy",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.15-alpha.3ec3866cb6.0",
|
|
5
5
|
"author": "Codecademy Engineering <dev@codecademy.com>",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist/**"
|
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
"access": "public"
|
|
14
14
|
},
|
|
15
15
|
"repository": "git@github.com:codecademy-engineering/mono.git",
|
|
16
|
-
"gitHead": "
|
|
16
|
+
"gitHead": "d9dadf695ac2d20232854746942b29c2b690138e"
|
|
17
17
|
}
|