@searchspring/snap-tracker 0.63.5 → 0.65.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/README.md +1 -12
- package/dist/cjs/BeaconEvent.d.ts +2 -0
- package/dist/cjs/BeaconEvent.d.ts.map +1 -1
- package/dist/cjs/BeaconEvent.js +29 -0
- package/dist/cjs/Tracker.d.ts +6 -19
- package/dist/cjs/Tracker.d.ts.map +1 -1
- package/dist/cjs/Tracker.js +158 -485
- package/dist/cjs/types.d.ts +12 -42
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +2 -24
- package/dist/esm/BeaconEvent.d.ts +2 -0
- package/dist/esm/BeaconEvent.d.ts.map +1 -1
- package/dist/esm/BeaconEvent.js +17 -0
- package/dist/esm/Tracker.d.ts +6 -19
- package/dist/esm/Tracker.d.ts.map +1 -1
- package/dist/esm/Tracker.js +134 -462
- package/dist/esm/types.d.ts +12 -42
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +2 -24
- package/package.json +7 -6
- package/dist/cjs/PixelEvent.d.ts +0 -9
- package/dist/cjs/PixelEvent.d.ts.map +0 -1
- package/dist/cjs/PixelEvent.js +0 -69
- package/dist/cjs/TrackEvent.d.ts +0 -11
- package/dist/cjs/TrackEvent.d.ts.map +0 -1
- package/dist/cjs/TrackEvent.js +0 -31
- package/dist/esm/PixelEvent.d.ts +0 -9
- package/dist/esm/PixelEvent.d.ts.map +0 -1
- package/dist/esm/PixelEvent.js +0 -62
- package/dist/esm/TrackEvent.d.ts +0 -11
- package/dist/esm/TrackEvent.d.ts.map +0 -1
- package/dist/esm/TrackEvent.js +0 -25
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import { AppMode } from '@searchspring/snap-toolbox';
|
|
2
2
|
import { BeaconEvent } from './BeaconEvent';
|
|
3
|
-
|
|
4
|
-
code: string;
|
|
5
|
-
};
|
|
3
|
+
import type { ContextCurrency } from '@searchspring/beacon';
|
|
6
4
|
export type TrackerGlobals = {
|
|
7
5
|
siteId: string;
|
|
8
|
-
currency?:
|
|
9
|
-
};
|
|
10
|
-
export type DoNotTrackEntry = {
|
|
11
|
-
type: BeaconType;
|
|
12
|
-
category: BeaconCategory;
|
|
6
|
+
currency?: ContextCurrency;
|
|
13
7
|
};
|
|
8
|
+
export type TrackerEvents = 'error' | 'shopper.login' | 'product.view' | 'product.click' | 'cart.view' | 'order.transaction';
|
|
14
9
|
export type TrackerConfig = {
|
|
15
10
|
id?: string;
|
|
16
11
|
framework?: string;
|
|
@@ -23,7 +18,7 @@ export type TrackerConfig = {
|
|
|
23
18
|
origin?: string;
|
|
24
19
|
};
|
|
25
20
|
};
|
|
26
|
-
doNotTrack?:
|
|
21
|
+
doNotTrack?: TrackerEvents[];
|
|
27
22
|
};
|
|
28
23
|
export type BeaconPayload = {
|
|
29
24
|
type: BeaconType;
|
|
@@ -35,34 +30,10 @@ export type BeaconPayload = {
|
|
|
35
30
|
pid?: string | null;
|
|
36
31
|
};
|
|
37
32
|
export declare enum BeaconType {
|
|
38
|
-
|
|
39
|
-
CART = "cart",
|
|
40
|
-
ORDER = "transaction",
|
|
41
|
-
LOGIN = "login",
|
|
42
|
-
CLICK = "click",
|
|
43
|
-
ERROR = "error",
|
|
44
|
-
CUSTOM = "custom",
|
|
45
|
-
/** For Profiles Recommendations */
|
|
46
|
-
PROFILE_RENDER = "profile.render",// A profile is loaded onto the page.
|
|
47
|
-
PROFILE_IMPRESSION = "profile.impression",// A profile is visible to the shopper (within viewport, not hidden). If determining visibility is not possible, this can be sent at the same time as a profile.render event.
|
|
48
|
-
PROFILE_CLICK = "profile.click",// Any area of the profile is clicked.
|
|
49
|
-
PROFILE_ADDBUNDLE = "profile.addBundle",
|
|
50
|
-
/** For Recommended Products within a Profile */
|
|
51
|
-
PROFILE_PRODUCT_RENDER = "profile.product.render",// A recommended product is loaded onto the page.
|
|
52
|
-
PROFILE_PRODUCT_IMPRESSION = "profile.product.impression",// A recommended product is visible to the shopper (within viewport, not hidden). If determining visibility is not possible, this can be sent at the same time as a profile.product.render event.
|
|
53
|
-
PROFILE_PRODUCT_CLICK = "profile.product.click",// A recommended product is clicked.
|
|
54
|
-
PROFILE_PRODUCT_ADDEDTOBUNDLE = "profile.product.addedToBundle",
|
|
55
|
-
PROFILE_PRODUCT_REMOVEDFROMBUNDLE = "profile.product.removedFromBundle"
|
|
33
|
+
CLICK = "click"
|
|
56
34
|
}
|
|
57
35
|
export declare enum BeaconCategory {
|
|
58
|
-
|
|
59
|
-
CARTVIEW = "searchspring.shop.cart",
|
|
60
|
-
ORDERVIEW = "searchspring.shop.transaction",
|
|
61
|
-
PERSONALIZATION = "searchspring.personalization",
|
|
62
|
-
RECOMMENDATIONS = "searchspring.recommendations.user-interactions",
|
|
63
|
-
INTERACTION = "searchspring.user-interactions",
|
|
64
|
-
RUNTIME = "searchspring.js.runtime",
|
|
65
|
-
CUSTOM = "custom"
|
|
36
|
+
INTERACTION = "searchspring.user-interactions"
|
|
66
37
|
}
|
|
67
38
|
export declare enum ProfilePlacement {
|
|
68
39
|
BASKETPAGE = "basket-page",
|
|
@@ -84,7 +55,7 @@ export interface BeaconContext {
|
|
|
84
55
|
type?: string;
|
|
85
56
|
id?: string;
|
|
86
57
|
};
|
|
87
|
-
currency?:
|
|
58
|
+
currency?: ContextCurrency;
|
|
88
59
|
}
|
|
89
60
|
export interface BeaconMeta {
|
|
90
61
|
initiator: {
|
|
@@ -189,20 +160,19 @@ export type PreflightRequestModel = {
|
|
|
189
160
|
lastViewed?: string[];
|
|
190
161
|
};
|
|
191
162
|
export interface TrackMethods {
|
|
192
|
-
|
|
193
|
-
error: (data: TrackErrorEvent) => BeaconEvent | undefined;
|
|
163
|
+
error: (data: TrackErrorEvent) => undefined;
|
|
194
164
|
shopper: {
|
|
195
|
-
login: (data: ShopperLoginEvent, siteId?: string) =>
|
|
165
|
+
login: (data: ShopperLoginEvent, siteId?: string) => undefined;
|
|
196
166
|
};
|
|
197
167
|
product: {
|
|
198
|
-
view: (data: ProductViewEvent, siteId?: string) =>
|
|
168
|
+
view: (data: ProductViewEvent, siteId?: string) => undefined;
|
|
199
169
|
click: (data: ProductClickEvent, siteId?: string) => BeaconEvent | undefined;
|
|
200
170
|
};
|
|
201
171
|
cart: {
|
|
202
|
-
view: (data: CartViewEvent, siteId?: string) =>
|
|
172
|
+
view: (data: CartViewEvent, siteId?: string) => undefined;
|
|
203
173
|
};
|
|
204
174
|
order: {
|
|
205
|
-
transaction: (data: OrderTransactionData, siteId?: string) =>
|
|
175
|
+
transaction: (data: OrderTransactionData, siteId?: string) => undefined;
|
|
206
176
|
};
|
|
207
177
|
}
|
|
208
178
|
declare global {
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.js
CHANGED
|
@@ -1,34 +1,12 @@
|
|
|
1
|
+
// TODO: remove when 1.0 is sunset
|
|
1
2
|
export var BeaconType;
|
|
2
3
|
(function (BeaconType) {
|
|
3
|
-
BeaconType["PRODUCT"] = "product";
|
|
4
|
-
BeaconType["CART"] = "cart";
|
|
5
|
-
BeaconType["ORDER"] = "transaction";
|
|
6
|
-
BeaconType["LOGIN"] = "login";
|
|
7
4
|
BeaconType["CLICK"] = "click";
|
|
8
|
-
BeaconType["ERROR"] = "error";
|
|
9
|
-
BeaconType["CUSTOM"] = "custom";
|
|
10
|
-
/** For Profiles Recommendations */
|
|
11
|
-
BeaconType["PROFILE_RENDER"] = "profile.render";
|
|
12
|
-
BeaconType["PROFILE_IMPRESSION"] = "profile.impression";
|
|
13
|
-
BeaconType["PROFILE_CLICK"] = "profile.click";
|
|
14
|
-
BeaconType["PROFILE_ADDBUNDLE"] = "profile.addBundle";
|
|
15
|
-
/** For Recommended Products within a Profile */
|
|
16
|
-
BeaconType["PROFILE_PRODUCT_RENDER"] = "profile.product.render";
|
|
17
|
-
BeaconType["PROFILE_PRODUCT_IMPRESSION"] = "profile.product.impression";
|
|
18
|
-
BeaconType["PROFILE_PRODUCT_CLICK"] = "profile.product.click";
|
|
19
|
-
BeaconType["PROFILE_PRODUCT_ADDEDTOBUNDLE"] = "profile.product.addedToBundle";
|
|
20
|
-
BeaconType["PROFILE_PRODUCT_REMOVEDFROMBUNDLE"] = "profile.product.removedFromBundle";
|
|
21
5
|
})(BeaconType || (BeaconType = {}));
|
|
6
|
+
// TODO: remove when 1.0 is sunset
|
|
22
7
|
export var BeaconCategory;
|
|
23
8
|
(function (BeaconCategory) {
|
|
24
|
-
BeaconCategory["PAGEVIEW"] = "searchspring.page.view";
|
|
25
|
-
BeaconCategory["CARTVIEW"] = "searchspring.shop.cart";
|
|
26
|
-
BeaconCategory["ORDERVIEW"] = "searchspring.shop.transaction";
|
|
27
|
-
BeaconCategory["PERSONALIZATION"] = "searchspring.personalization";
|
|
28
|
-
BeaconCategory["RECOMMENDATIONS"] = "searchspring.recommendations.user-interactions";
|
|
29
9
|
BeaconCategory["INTERACTION"] = "searchspring.user-interactions";
|
|
30
|
-
BeaconCategory["RUNTIME"] = "searchspring.js.runtime";
|
|
31
|
-
BeaconCategory["CUSTOM"] = "custom";
|
|
32
10
|
})(BeaconCategory || (BeaconCategory = {}));
|
|
33
11
|
export var ProfilePlacement;
|
|
34
12
|
(function (ProfilePlacement) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-tracker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.65.0",
|
|
4
4
|
"description": "Snap Tracker",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -20,15 +20,16 @@
|
|
|
20
20
|
"test:watch": "jest --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@searchspring/
|
|
24
|
-
"@searchspring/snap-
|
|
25
|
-
"@
|
|
23
|
+
"@searchspring/beacon": "0.0.19",
|
|
24
|
+
"@searchspring/snap-store-mobx": "^0.65.0",
|
|
25
|
+
"@searchspring/snap-toolbox": "^0.65.0",
|
|
26
|
+
"@types/uuid": "^10.0.0",
|
|
26
27
|
"deepmerge": "4.3.1",
|
|
27
|
-
"uuid": "
|
|
28
|
+
"uuid": "11.1.0"
|
|
28
29
|
},
|
|
29
30
|
"sideEffects": false,
|
|
30
31
|
"files": [
|
|
31
32
|
"dist/**/*"
|
|
32
33
|
],
|
|
33
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "e96fc4426a64178a94a8ca603ec834bdca020fdb"
|
|
34
35
|
}
|
package/dist/cjs/PixelEvent.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ProductViewEvent, OrderTransactionEvent, BeaconPayload, CartViewEvent } from './types';
|
|
2
|
-
export declare class PixelEvent {
|
|
3
|
-
endpoint: string;
|
|
4
|
-
src: string;
|
|
5
|
-
img: HTMLImageElement | undefined;
|
|
6
|
-
event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | undefined;
|
|
7
|
-
constructor(payload: BeaconPayload);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=PixelEvent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAuDlC"}
|
package/dist/cjs/PixelEvent.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PixelEvent = void 0;
|
|
4
|
-
var snap_toolbox_1 = require("@searchspring/snap-toolbox");
|
|
5
|
-
var types_1 = require("./types");
|
|
6
|
-
var PixelEvent = /** @class */ (function () {
|
|
7
|
-
function PixelEvent(payload) {
|
|
8
|
-
var _this = this;
|
|
9
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
10
|
-
this.endpoint = "https://d3cgm8py10hi0z.cloudfront.net/is.gif";
|
|
11
|
-
this.src =
|
|
12
|
-
this.endpoint +
|
|
13
|
-
"?s=".concat(encodeURIComponent(((_b = (_a = payload === null || payload === void 0 ? void 0 : payload.context) === null || _a === void 0 ? void 0 : _a.website) === null || _b === void 0 ? void 0 : _b.trackingCode) || '')) +
|
|
14
|
-
"&u=".concat(encodeURIComponent(((_c = payload === null || payload === void 0 ? void 0 : payload.context) === null || _c === void 0 ? void 0 : _c.userId) || '')) +
|
|
15
|
-
"&ce=".concat(snap_toolbox_1.featureFlags.cookies ? '1' : '0') +
|
|
16
|
-
"&pt=".concat(encodeURIComponent(document.title)) +
|
|
17
|
-
"&v=1" + // version always '1'? or set to snap package version?
|
|
18
|
-
"&x=".concat(Math.floor(Math.random() * 2147483647)) +
|
|
19
|
-
"".concat(window.document.referrer ? "&r=".concat(encodeURIComponent(window.document.referrer)) : '');
|
|
20
|
-
if ((_e = (_d = payload === null || payload === void 0 ? void 0 : payload.context) === null || _d === void 0 ? void 0 : _d.currency) === null || _e === void 0 ? void 0 : _e.code) {
|
|
21
|
-
this.src += "¤cyCode=".concat(encodeURIComponent((_g = (_f = payload === null || payload === void 0 ? void 0 : payload.context) === null || _f === void 0 ? void 0 : _f.currency) === null || _g === void 0 ? void 0 : _g.code));
|
|
22
|
-
}
|
|
23
|
-
switch (payload.category) {
|
|
24
|
-
case types_1.BeaconCategory.PAGEVIEW:
|
|
25
|
-
this.event = payload.event;
|
|
26
|
-
this.src += '&a=viewItem';
|
|
27
|
-
if (this.event.sku) {
|
|
28
|
-
this.src += "&sku=".concat(encodeURIComponent(this.event.sku));
|
|
29
|
-
}
|
|
30
|
-
break;
|
|
31
|
-
case types_1.BeaconCategory.CARTVIEW:
|
|
32
|
-
this.event = payload.event;
|
|
33
|
-
this.src += '&a=basket';
|
|
34
|
-
this.event.items.forEach(function (item) {
|
|
35
|
-
if (item === null || item === void 0 ? void 0 : item.sku) {
|
|
36
|
-
_this.src += "&item=".concat(encodeURIComponent(item.sku), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.qty) || ''), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.price) || ''), ";");
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
break;
|
|
40
|
-
case types_1.BeaconCategory.ORDERVIEW:
|
|
41
|
-
var _h = (this.event = payload.event), orderId = _h.orderId, total = _h.total, transactionTotal = _h.transactionTotal, city = _h.city, state = _h.state, country = _h.country, items = _h.items;
|
|
42
|
-
this.src += "&a=sale";
|
|
43
|
-
if (orderId)
|
|
44
|
-
this.src += "&orderId=".concat(encodeURIComponent(orderId));
|
|
45
|
-
if (total)
|
|
46
|
-
this.src += "&total=".concat(encodeURIComponent(total));
|
|
47
|
-
if (transactionTotal)
|
|
48
|
-
this.src += "&transactionTotal=".concat(encodeURIComponent(transactionTotal));
|
|
49
|
-
if (city)
|
|
50
|
-
this.src += "&city=".concat(encodeURIComponent(city));
|
|
51
|
-
if (state)
|
|
52
|
-
this.src += "&state=".concat(encodeURIComponent(state));
|
|
53
|
-
if (country)
|
|
54
|
-
this.src += "&country=".concat(encodeURIComponent(country));
|
|
55
|
-
items.forEach(function (item) {
|
|
56
|
-
if (item === null || item === void 0 ? void 0 : item.sku) {
|
|
57
|
-
_this.src += "&item=".concat(encodeURIComponent(item.sku), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.qty) || ''), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.price) || ''), ";");
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
if (this.src.includes('&a=')) {
|
|
63
|
-
this.img = new Image(1, 1);
|
|
64
|
-
this.img.src = this.src; // setting src immediately invokes a request
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return PixelEvent;
|
|
68
|
-
}());
|
|
69
|
-
exports.PixelEvent = PixelEvent;
|
package/dist/cjs/TrackEvent.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BeaconPayload } from './types';
|
|
2
|
-
export declare class TrackEvent {
|
|
3
|
-
intellisuggestData: string;
|
|
4
|
-
intellisuggestSignature: string;
|
|
5
|
-
href?: string;
|
|
6
|
-
endpoint: string;
|
|
7
|
-
src: string;
|
|
8
|
-
img: HTMLImageElement;
|
|
9
|
-
constructor(payload: BeaconPayload);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=TrackEvent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TrackEvent.d.ts","sourceRoot":"","sources":["../../src/TrackEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3D,qBAAa,UAAU;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,CAAC;gBAEV,OAAO,EAAE,aAAa;CA6BlC"}
|
package/dist/cjs/TrackEvent.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrackEvent = void 0;
|
|
4
|
-
var TrackEvent = /** @class */ (function () {
|
|
5
|
-
function TrackEvent(payload) {
|
|
6
|
-
var _a, _b, _c;
|
|
7
|
-
payload.event = payload.event;
|
|
8
|
-
if (!payload.context || !payload.event) {
|
|
9
|
-
throw 'TrackEvent: object parameter required a valid `context` BeaconContext and `event` ProductClickEvent objects';
|
|
10
|
-
}
|
|
11
|
-
if (!((_a = payload.event) === null || _a === void 0 ? void 0 : _a.intellisuggestData) || !((_b = payload.event) === null || _b === void 0 ? void 0 : _b.intellisuggestSignature)) {
|
|
12
|
-
throw 'TrackEvent: object parameter `event` ProductClickEvent object requires valid intellisuggestData and intellisuggestSignature values. These are the corresponding attributes in the Searchspring API response.';
|
|
13
|
-
}
|
|
14
|
-
this.intellisuggestData = payload.event.intellisuggestData;
|
|
15
|
-
this.intellisuggestSignature = payload.event.intellisuggestSignature;
|
|
16
|
-
this.href = ((_c = payload.event) === null || _c === void 0 ? void 0 : _c.href) || '';
|
|
17
|
-
this.endpoint = "https://".concat(payload.context.website.trackingCode, ".a.searchspring.io/api/track/track.json");
|
|
18
|
-
this.src =
|
|
19
|
-
this.endpoint +
|
|
20
|
-
"?d=".concat(encodeURIComponent(this.intellisuggestData)) +
|
|
21
|
-
"&s=".concat(encodeURIComponent(this.intellisuggestSignature)) +
|
|
22
|
-
"&u=".concat(encodeURIComponent(this.href || ''));
|
|
23
|
-
if (window.document.referrer) {
|
|
24
|
-
this.src += "&r=".concat(encodeURIComponent(window.document.referrer));
|
|
25
|
-
}
|
|
26
|
-
this.img = new Image(1, 1);
|
|
27
|
-
this.img.src = this.src; // setting src immediately invokes a request
|
|
28
|
-
}
|
|
29
|
-
return TrackEvent;
|
|
30
|
-
}());
|
|
31
|
-
exports.TrackEvent = TrackEvent;
|
package/dist/esm/PixelEvent.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ProductViewEvent, OrderTransactionEvent, BeaconPayload, CartViewEvent } from './types';
|
|
2
|
-
export declare class PixelEvent {
|
|
3
|
-
endpoint: string;
|
|
4
|
-
src: string;
|
|
5
|
-
img: HTMLImageElement | undefined;
|
|
6
|
-
event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | undefined;
|
|
7
|
-
constructor(payload: BeaconPayload);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=PixelEvent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAuDlC"}
|
package/dist/esm/PixelEvent.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { featureFlags } from '@searchspring/snap-toolbox';
|
|
2
|
-
import { BeaconCategory } from './types';
|
|
3
|
-
export class PixelEvent {
|
|
4
|
-
constructor(payload) {
|
|
5
|
-
this.endpoint = `https://d3cgm8py10hi0z.cloudfront.net/is.gif`;
|
|
6
|
-
this.src =
|
|
7
|
-
this.endpoint +
|
|
8
|
-
`?s=${encodeURIComponent(payload?.context?.website?.trackingCode || '')}` +
|
|
9
|
-
`&u=${encodeURIComponent(payload?.context?.userId || '')}` +
|
|
10
|
-
`&ce=${featureFlags.cookies ? '1' : '0'}` +
|
|
11
|
-
`&pt=${encodeURIComponent(document.title)}` +
|
|
12
|
-
`&v=1` + // version always '1'? or set to snap package version?
|
|
13
|
-
`&x=${Math.floor(Math.random() * 2147483647)}` +
|
|
14
|
-
`${window.document.referrer ? `&r=${encodeURIComponent(window.document.referrer)}` : ''}`;
|
|
15
|
-
if (payload?.context?.currency?.code) {
|
|
16
|
-
this.src += `¤cyCode=${encodeURIComponent(payload?.context?.currency?.code)}`;
|
|
17
|
-
}
|
|
18
|
-
switch (payload.category) {
|
|
19
|
-
case BeaconCategory.PAGEVIEW:
|
|
20
|
-
this.event = payload.event;
|
|
21
|
-
this.src += '&a=viewItem';
|
|
22
|
-
if (this.event.sku) {
|
|
23
|
-
this.src += `&sku=${encodeURIComponent(this.event.sku)}`;
|
|
24
|
-
}
|
|
25
|
-
break;
|
|
26
|
-
case BeaconCategory.CARTVIEW:
|
|
27
|
-
this.event = payload.event;
|
|
28
|
-
this.src += '&a=basket';
|
|
29
|
-
this.event.items.forEach((item) => {
|
|
30
|
-
if (item?.sku) {
|
|
31
|
-
this.src += `&item=${encodeURIComponent(item.sku)};${encodeURIComponent(item?.qty || '')};${encodeURIComponent(item?.price || '')};`;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
break;
|
|
35
|
-
case BeaconCategory.ORDERVIEW:
|
|
36
|
-
const { orderId, total, transactionTotal, city, state, country, items } = (this.event = payload.event);
|
|
37
|
-
this.src += `&a=sale`;
|
|
38
|
-
if (orderId)
|
|
39
|
-
this.src += `&orderId=${encodeURIComponent(orderId)}`;
|
|
40
|
-
if (total)
|
|
41
|
-
this.src += `&total=${encodeURIComponent(total)}`;
|
|
42
|
-
if (transactionTotal)
|
|
43
|
-
this.src += `&transactionTotal=${encodeURIComponent(transactionTotal)}`;
|
|
44
|
-
if (city)
|
|
45
|
-
this.src += `&city=${encodeURIComponent(city)}`;
|
|
46
|
-
if (state)
|
|
47
|
-
this.src += `&state=${encodeURIComponent(state)}`;
|
|
48
|
-
if (country)
|
|
49
|
-
this.src += `&country=${encodeURIComponent(country)}`;
|
|
50
|
-
items.forEach((item) => {
|
|
51
|
-
if (item?.sku) {
|
|
52
|
-
this.src += `&item=${encodeURIComponent(item.sku)};${encodeURIComponent(item?.qty || '')};${encodeURIComponent(item?.price || '')};`;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
if (this.src.includes('&a=')) {
|
|
58
|
-
this.img = new Image(1, 1);
|
|
59
|
-
this.img.src = this.src; // setting src immediately invokes a request
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
package/dist/esm/TrackEvent.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BeaconPayload } from './types';
|
|
2
|
-
export declare class TrackEvent {
|
|
3
|
-
intellisuggestData: string;
|
|
4
|
-
intellisuggestSignature: string;
|
|
5
|
-
href?: string;
|
|
6
|
-
endpoint: string;
|
|
7
|
-
src: string;
|
|
8
|
-
img: HTMLImageElement;
|
|
9
|
-
constructor(payload: BeaconPayload);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=TrackEvent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TrackEvent.d.ts","sourceRoot":"","sources":["../../src/TrackEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3D,qBAAa,UAAU;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,CAAC;gBAEV,OAAO,EAAE,aAAa;CA6BlC"}
|
package/dist/esm/TrackEvent.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export class TrackEvent {
|
|
2
|
-
constructor(payload) {
|
|
3
|
-
payload.event = payload.event;
|
|
4
|
-
if (!payload.context || !payload.event) {
|
|
5
|
-
throw 'TrackEvent: object parameter required a valid `context` BeaconContext and `event` ProductClickEvent objects';
|
|
6
|
-
}
|
|
7
|
-
if (!payload.event?.intellisuggestData || !payload.event?.intellisuggestSignature) {
|
|
8
|
-
throw 'TrackEvent: object parameter `event` ProductClickEvent object requires valid intellisuggestData and intellisuggestSignature values. These are the corresponding attributes in the Searchspring API response.';
|
|
9
|
-
}
|
|
10
|
-
this.intellisuggestData = payload.event.intellisuggestData;
|
|
11
|
-
this.intellisuggestSignature = payload.event.intellisuggestSignature;
|
|
12
|
-
this.href = payload.event?.href || '';
|
|
13
|
-
this.endpoint = `https://${payload.context.website.trackingCode}.a.searchspring.io/api/track/track.json`;
|
|
14
|
-
this.src =
|
|
15
|
-
this.endpoint +
|
|
16
|
-
`?d=${encodeURIComponent(this.intellisuggestData)}` +
|
|
17
|
-
`&s=${encodeURIComponent(this.intellisuggestSignature)}` +
|
|
18
|
-
`&u=${encodeURIComponent(this.href || '')}`;
|
|
19
|
-
if (window.document.referrer) {
|
|
20
|
-
this.src += `&r=${encodeURIComponent(window.document.referrer)}`;
|
|
21
|
-
}
|
|
22
|
-
this.img = new Image(1, 1);
|
|
23
|
-
this.img.src = this.src; // setting src immediately invokes a request
|
|
24
|
-
}
|
|
25
|
-
}
|