@searchspring/snap-tracker 0.64.0 → 0.65.1

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,16 +1,11 @@
1
1
  import { AppMode } from '@searchspring/snap-toolbox';
2
2
  import { BeaconEvent } from './BeaconEvent';
3
- export type CurrencyContext = {
4
- code: string;
5
- };
3
+ import type { ContextCurrency } from '@searchspring/beacon';
6
4
  export type TrackerGlobals = {
7
5
  siteId: string;
8
- currency?: CurrencyContext;
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?: DoNotTrackEntry[];
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
- PRODUCT = "product",
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
- PAGEVIEW = "searchspring.page.view",
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?: CurrencyContext;
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
- event: (payload: BeaconPayload) => BeaconEvent | undefined;
193
- error: (data: TrackErrorEvent) => BeaconEvent | undefined;
163
+ error: (data: TrackErrorEvent) => undefined;
194
164
  shopper: {
195
- login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent | undefined;
165
+ login: (data: ShopperLoginEvent, siteId?: string) => undefined;
196
166
  };
197
167
  product: {
198
- view: (data: ProductViewEvent, siteId?: string) => BeaconEvent | undefined;
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) => BeaconEvent | undefined;
172
+ view: (data: CartViewEvent, siteId?: string) => undefined;
203
173
  };
204
174
  order: {
205
- transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent | undefined;
175
+ transaction: (data: OrderTransactionData, siteId?: string) => undefined;
206
176
  };
207
177
  }
208
178
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
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.64.0",
3
+ "version": "0.65.1",
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/snap-store-mobx": "^0.64.0",
24
- "@searchspring/snap-toolbox": "^0.64.0",
25
- "@types/uuid": "8.3.4",
23
+ "@searchspring/beacon": "0.0.19",
24
+ "@searchspring/snap-store-mobx": "^0.65.1",
25
+ "@searchspring/snap-toolbox": "^0.65.1",
26
+ "@types/uuid": "^10.0.0",
26
27
  "deepmerge": "4.3.1",
27
- "uuid": "9.0.1"
28
+ "uuid": "11.1.0"
28
29
  },
29
30
  "sideEffects": false,
30
31
  "files": [
31
32
  "dist/**/*"
32
33
  ],
33
- "gitHead": "fc0fb9a2fe535b394a2f0d340a20b2b72ab84bff"
34
+ "gitHead": "cd33cd87ad8d51302000b31bce6aa90b4b25ba89"
34
35
  }
@@ -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"}
@@ -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 += "&currencyCode=".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;
@@ -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"}
@@ -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;
@@ -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"}
@@ -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 += `&currencyCode=${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
- }
@@ -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"}
@@ -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
- }