@searchspring/snap-tracker 0.25.1 → 0.27.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.
@@ -1,12 +1,13 @@
1
+ import * as Types from './types';
1
2
  import { BeaconPayload } from './types';
2
- export declare class BeaconEvent implements BeaconPayload {
3
+ export declare class BeaconEvent {
3
4
  type: any;
4
5
  category: any;
5
- context: any;
6
- event: any;
7
- meta: any;
8
- id: any;
9
- pid?: any;
6
+ context?: Types.BeaconContext;
7
+ meta?: Types.BeaconMeta;
8
+ event?: Types.ProductViewEvent | Types.CartViewEvent | Types.OrderTransactionEvent | Types.RecommendationsEvent | Types.ProductClickEvent | Types.CustomBeaconEvent | Record<string, never>;
9
+ id?: string;
10
+ pid?: string | null;
10
11
  constructor(payload: BeaconPayload);
11
12
  }
12
13
  //# sourceMappingURL=BeaconEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAY,YAAW,aAAa;IAChD,IAAI,MAAC;IACL,QAAQ,MAAC;IACT,OAAO,MAAC;IACR,KAAK,MAAC;IACN,IAAI,MAAC;IACL,EAAE,MAAC;IACH,GAAG,CAAC,MAAC;gBAEO,OAAO,EAAE,aAAa;CAYlC"}
1
+ {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAW;IACvB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EACH,KAAK,CAAC,gBAAgB,GACtB,KAAK,CAAC,aAAa,GACnB,KAAK,CAAC,qBAAqB,GAC3B,KAAK,CAAC,oBAAoB,GAC1B,KAAK,CAAC,iBAAiB,GACvB,KAAK,CAAC,iBAAiB,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAER,OAAO,EAAE,aAAa;CAiBlC"}
@@ -5,10 +5,13 @@ var uuid_1 = require("uuid");
5
5
  var snap_toolbox_1 = require("@searchspring/snap-toolbox");
6
6
  var BeaconEvent = /** @class */ (function () {
7
7
  function BeaconEvent(payload) {
8
- var _this = this;
9
- Object.keys(payload).forEach(function (key) {
10
- _this[key] = payload[key];
11
- });
8
+ this.type = payload.type;
9
+ this.category = payload.category;
10
+ this.context = payload.context;
11
+ this.meta = payload.meta;
12
+ this.event = payload.event;
13
+ this.id = payload.id;
14
+ this.pid = payload.pid;
12
15
  this.meta = {
13
16
  initiator: {
14
17
  lib: 'searchspring/snap',
@@ -2,8 +2,8 @@ import { ProductViewEvent, OrderTransactionEvent, BeaconPayload, CartViewEvent }
2
2
  export declare class PixelEvent {
3
3
  endpoint: string;
4
4
  src: string;
5
- img: HTMLImageElement;
6
- event: ProductViewEvent | CartViewEvent | OrderTransactionEvent;
5
+ img: HTMLImageElement | undefined;
6
+ event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | undefined;
7
7
  constructor(payload: BeaconPayload);
8
8
  }
9
9
  //# sourceMappingURL=PixelEvent.d.ts.map
@@ -1 +1 @@
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,CAAC;IACtB,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,CAAC;gBAEpD,OAAO,EAAE,aAAa;CAkDlC"}
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;CAkDlC"}
@@ -6,11 +6,12 @@ var types_1 = require("./types");
6
6
  var PixelEvent = /** @class */ (function () {
7
7
  function PixelEvent(payload) {
8
8
  var _this = this;
9
+ var _a, _b, _c;
9
10
  this.endpoint = "https://d3cgm8py10hi0z.cloudfront.net/is.gif";
10
11
  this.src =
11
12
  this.endpoint +
12
- "?s=".concat(encodeURIComponent(payload.context.website.trackingCode)) +
13
- "&u=".concat(encodeURIComponent(payload.context.userId)) +
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) || '')) +
14
15
  "&ce=".concat(snap_toolbox_1.featureFlags.cookies ? '1' : '0') +
15
16
  "&pt=".concat(encodeURIComponent(document.title)) +
16
17
  "&v=1" + // version always '1'? or set to snap package version?
@@ -34,7 +35,7 @@ var PixelEvent = /** @class */ (function () {
34
35
  });
35
36
  break;
36
37
  case types_1.BeaconCategory.ORDERVIEW:
37
- var _a = (this.event = payload.event), orderId = _a.orderId, total = _a.total, city = _a.city, state = _a.state, country = _a.country, items = _a.items;
38
+ var _d = (this.event = payload.event), orderId = _d.orderId, total = _d.total, city = _d.city, state = _d.state, country = _d.country, items = _d.items;
38
39
  this.src += "&a=sale";
39
40
  if (orderId)
40
41
  this.src += "&orderId=".concat(encodeURIComponent(orderId));
@@ -19,7 +19,7 @@ var TrackEvent = /** @class */ (function () {
19
19
  this.endpoint +
20
20
  "?d=".concat(encodeURIComponent(this.intellisuggestData)) +
21
21
  "&s=".concat(encodeURIComponent(this.intellisuggestSignature)) +
22
- "&u=".concat(encodeURIComponent(this.href));
22
+ "&u=".concat(encodeURIComponent(this.href || ''));
23
23
  if (window.document.referrer) {
24
24
  this.src += "&r=".concat(encodeURIComponent(window.document.referrer));
25
25
  }
@@ -5,15 +5,15 @@ export declare class Tracker {
5
5
  globals: TrackerGlobals;
6
6
  localStorage: StorageStore;
7
7
  context: BeaconContext;
8
- isSending: number;
8
+ isSending: number | undefined;
9
9
  private config;
10
10
  private targeters;
11
11
  constructor(globals: TrackerGlobals, config?: TrackerConfig);
12
12
  retarget(): void;
13
13
  track: TrackMethods;
14
- getUserId: () => string;
15
- getSessionId: () => string;
16
- getShopperId: () => string;
14
+ getUserId: () => string | undefined | null;
15
+ getSessionId: () => string | undefined;
16
+ getShopperId: () => string | undefined;
17
17
  sendPreflight: () => void;
18
18
  cookies: {
19
19
  cart: {
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAkBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2GpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CAmB/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAmBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2IpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAiBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CAmB/C;CACF"}
@@ -43,6 +43,7 @@ var LOCALSTORAGE_BEACON_POOL_NAME = 'ssBeaconPool';
43
43
  var CART_PRODUCTS = 'ssCartProducts';
44
44
  var VIEWED_PRODUCTS = 'ssViewedProducts';
45
45
  var MAX_VIEWED_COUNT = 15;
46
+ var MAX_PARENT_LEVELS = 3;
46
47
  var defaultConfig = {
47
48
  id: 'track',
48
49
  };
@@ -284,7 +285,8 @@ var Tracker = /** @class */ (function () {
284
285
  this.getUserId = function () {
285
286
  var userId;
286
287
  try {
287
- userId = (0, snap_toolbox_1.getFlags)().storage() && window.localStorage.getItem(USERID_COOKIE_NAME);
288
+ if ((0, snap_toolbox_1.getFlags)().storage())
289
+ userId = window.localStorage.getItem(USERID_COOKIE_NAME);
288
290
  if ((0, snap_toolbox_1.getFlags)().cookies()) {
289
291
  userId = userId || snap_toolbox_1.cookies.get(USERID_COOKIE_NAME) || (0, uuid_1.v4)();
290
292
  snap_toolbox_1.cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
@@ -335,7 +337,7 @@ var Tracker = /** @class */ (function () {
335
337
  var shopper = _this.getShopperId();
336
338
  var cart = _this.cookies.cart.get();
337
339
  var lastViewed = _this.cookies.viewed.get();
338
- if (userId && siteId && (shopper || cart.length || lastViewed.length)) {
340
+ if (userId && typeof userId == 'string' && siteId && (shopper || cart.length || lastViewed.length)) {
339
341
  var preflightParams = {
340
342
  userId: userId,
341
343
  siteId: siteId,
@@ -456,7 +458,7 @@ var Tracker = /** @class */ (function () {
456
458
  key: "ss-".concat(this.config.id, "-").concat(this.globals.siteId, "-local"),
457
459
  });
458
460
  this.context = {
459
- userId: this.getUserId(),
461
+ userId: this.getUserId() || '',
460
462
  sessionId: this.getSessionId(),
461
463
  shopperId: this.getShopperId(),
462
464
  pageLoadId: (0, uuid_1.v4)(),
@@ -493,10 +495,6 @@ var Tracker = /** @class */ (function () {
493
495
  }));
494
496
  });
495
497
  document.addEventListener('click', function (event) {
496
- var attributes = {};
497
- Object.values(event.target.attributes).forEach(function (attr) {
498
- attributes[attr.nodeName] = event.target.getAttribute(attr.nodeName);
499
- });
500
498
  var updateRecsControllers = function () {
501
499
  if (window.searchspring.controller) {
502
500
  Object.keys(window.searchspring.controller).forEach(function (name) {
@@ -508,6 +506,33 @@ var Tracker = /** @class */ (function () {
508
506
  });
509
507
  }
510
508
  };
509
+ var getClickAttributes = function (event) {
510
+ var attributeList = [
511
+ "ss-".concat(_this.config.id, "-cart-add"),
512
+ "ss-".concat(_this.config.id, "-cart-remove"),
513
+ "ss-".concat(_this.config.id, "-cart-clear"),
514
+ "ss-".concat(_this.config.id, "-cart-view"),
515
+ "ss-".concat(_this.config.id, "-intellisuggest"),
516
+ "ss-".concat(_this.config.id, "-intellisuggest-signature"),
517
+ "href",
518
+ ];
519
+ var attributes = {};
520
+ var levels = 0;
521
+ var elem = null;
522
+ elem = event && event.target;
523
+ while (Object.keys(attributes).length == 0 && elem !== null && levels <= MAX_PARENT_LEVELS) {
524
+ Object.values(elem.attributes).forEach(function (attr) {
525
+ var attrName = attr.nodeName;
526
+ if (attributeList.indexOf(attrName) != -1) {
527
+ attributes[attrName] = elem && elem.getAttribute(attrName);
528
+ }
529
+ });
530
+ elem = elem.parentElement;
531
+ levels++;
532
+ }
533
+ return attributes;
534
+ };
535
+ var attributes = getClickAttributes(event);
511
536
  if (attributes["ss-".concat(_this.config.id, "-cart-add")]) {
512
537
  // add skus to cart
513
538
  var skus = attributes["ss-".concat(_this.config.id, "-cart-add")].split(',');
@@ -525,6 +550,10 @@ var Tracker = /** @class */ (function () {
525
550
  _this.cookies.cart.clear();
526
551
  updateRecsControllers();
527
552
  }
553
+ else if ("ss-".concat(_this.config.id, "-cart-view") in attributes) {
554
+ // update recs
555
+ updateRecsControllers();
556
+ }
528
557
  else if (attributes["ss-".concat(_this.config.id, "-intellisuggest")] && attributes["ss-".concat(_this.config.id, "-intellisuggest-signature")]) {
529
558
  // product click
530
559
  var intellisuggestData = attributes["ss-".concat(_this.config.id, "-intellisuggest")];
@@ -5,7 +5,7 @@ export declare type TrackerGlobals = {
5
5
  export declare type TrackerConfig = {
6
6
  id: string;
7
7
  };
8
- export interface BeaconPayload {
8
+ export declare type BeaconPayload = {
9
9
  type: BeaconType;
10
10
  category: BeaconCategory;
11
11
  context?: BeaconContext;
@@ -13,7 +13,7 @@ export interface BeaconPayload {
13
13
  event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | RecommendationsEvent | ProductClickEvent | CustomBeaconEvent | Record<string, never>;
14
14
  id?: string;
15
15
  pid?: string | null;
16
- }
16
+ };
17
17
  export declare enum BeaconType {
18
18
  PRODUCT = "product",
19
19
  CART = "cart",
@@ -130,17 +130,17 @@ export declare type PreflightRequestModel = {
130
130
  export interface TrackMethods {
131
131
  event: (payload: BeaconPayload) => BeaconEvent;
132
132
  shopper: {
133
- login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent;
133
+ login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent | undefined;
134
134
  };
135
135
  product: {
136
- view: (data: ProductViewEvent, siteId?: string) => BeaconEvent;
137
- click: (data: ProductClickEvent, siteId?: string) => BeaconEvent;
136
+ view: (data: ProductViewEvent, siteId?: string) => BeaconEvent | undefined;
137
+ click: (data: ProductClickEvent, siteId?: string) => BeaconEvent | undefined;
138
138
  };
139
139
  cart: {
140
- view: (data: CartViewEvent, siteId?: string) => BeaconEvent;
140
+ view: (data: CartViewEvent, siteId?: string) => BeaconEvent | undefined;
141
141
  };
142
142
  order: {
143
- transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent;
143
+ transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent | undefined;
144
144
  };
145
145
  }
146
146
  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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"}
@@ -1,12 +1,13 @@
1
+ import * as Types from './types';
1
2
  import { BeaconPayload } from './types';
2
- export declare class BeaconEvent implements BeaconPayload {
3
+ export declare class BeaconEvent {
3
4
  type: any;
4
5
  category: any;
5
- context: any;
6
- event: any;
7
- meta: any;
8
- id: any;
9
- pid?: any;
6
+ context?: Types.BeaconContext;
7
+ meta?: Types.BeaconMeta;
8
+ event?: Types.ProductViewEvent | Types.CartViewEvent | Types.OrderTransactionEvent | Types.RecommendationsEvent | Types.ProductClickEvent | Types.CustomBeaconEvent | Record<string, never>;
9
+ id?: string;
10
+ pid?: string | null;
10
11
  constructor(payload: BeaconPayload);
11
12
  }
12
13
  //# sourceMappingURL=BeaconEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAY,YAAW,aAAa;IAChD,IAAI,MAAC;IACL,QAAQ,MAAC;IACT,OAAO,MAAC;IACR,KAAK,MAAC;IACN,IAAI,MAAC;IACL,EAAE,MAAC;IACH,GAAG,CAAC,MAAC;gBAEO,OAAO,EAAE,aAAa;CAYlC"}
1
+ {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAW;IACvB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EACH,KAAK,CAAC,gBAAgB,GACtB,KAAK,CAAC,aAAa,GACnB,KAAK,CAAC,qBAAqB,GAC3B,KAAK,CAAC,oBAAoB,GAC1B,KAAK,CAAC,iBAAiB,GACvB,KAAK,CAAC,iBAAiB,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAER,OAAO,EAAE,aAAa;CAiBlC"}
@@ -2,9 +2,13 @@ import { v4 as uuidv4 } from 'uuid';
2
2
  import { version } from '@searchspring/snap-toolbox';
3
3
  export class BeaconEvent {
4
4
  constructor(payload) {
5
- Object.keys(payload).forEach((key) => {
6
- this[key] = payload[key];
7
- });
5
+ this.type = payload.type;
6
+ this.category = payload.category;
7
+ this.context = payload.context;
8
+ this.meta = payload.meta;
9
+ this.event = payload.event;
10
+ this.id = payload.id;
11
+ this.pid = payload.pid;
8
12
  this.meta = {
9
13
  initiator: {
10
14
  lib: 'searchspring/snap',
@@ -2,8 +2,8 @@ import { ProductViewEvent, OrderTransactionEvent, BeaconPayload, CartViewEvent }
2
2
  export declare class PixelEvent {
3
3
  endpoint: string;
4
4
  src: string;
5
- img: HTMLImageElement;
6
- event: ProductViewEvent | CartViewEvent | OrderTransactionEvent;
5
+ img: HTMLImageElement | undefined;
6
+ event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | undefined;
7
7
  constructor(payload: BeaconPayload);
8
8
  }
9
9
  //# sourceMappingURL=PixelEvent.d.ts.map
@@ -1 +1 @@
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,CAAC;IACtB,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,CAAC;gBAEpD,OAAO,EAAE,aAAa;CAkDlC"}
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;CAkDlC"}
@@ -5,8 +5,8 @@ export class PixelEvent {
5
5
  this.endpoint = `https://d3cgm8py10hi0z.cloudfront.net/is.gif`;
6
6
  this.src =
7
7
  this.endpoint +
8
- `?s=${encodeURIComponent(payload.context.website.trackingCode)}` +
9
- `&u=${encodeURIComponent(payload.context.userId)}` +
8
+ `?s=${encodeURIComponent(payload?.context?.website?.trackingCode || '')}` +
9
+ `&u=${encodeURIComponent(payload?.context?.userId || '')}` +
10
10
  `&ce=${featureFlags.cookies ? '1' : '0'}` +
11
11
  `&pt=${encodeURIComponent(document.title)}` +
12
12
  `&v=1` + // version always '1'? or set to snap package version?
@@ -15,7 +15,7 @@ export class TrackEvent {
15
15
  this.endpoint +
16
16
  `?d=${encodeURIComponent(this.intellisuggestData)}` +
17
17
  `&s=${encodeURIComponent(this.intellisuggestSignature)}` +
18
- `&u=${encodeURIComponent(this.href)}`;
18
+ `&u=${encodeURIComponent(this.href || '')}`;
19
19
  if (window.document.referrer) {
20
20
  this.src += `&r=${encodeURIComponent(window.document.referrer)}`;
21
21
  }
@@ -5,15 +5,15 @@ export declare class Tracker {
5
5
  globals: TrackerGlobals;
6
6
  localStorage: StorageStore;
7
7
  context: BeaconContext;
8
- isSending: number;
8
+ isSending: number | undefined;
9
9
  private config;
10
10
  private targeters;
11
11
  constructor(globals: TrackerGlobals, config?: TrackerConfig);
12
12
  retarget(): void;
13
13
  track: TrackMethods;
14
- getUserId: () => string;
15
- getSessionId: () => string;
16
- getShopperId: () => string;
14
+ getUserId: () => string | undefined | null;
15
+ getSessionId: () => string | undefined;
16
+ getShopperId: () => string | undefined;
17
17
  sendPreflight: () => void;
18
18
  cookies: {
19
19
  cart: {
@@ -27,6 +27,6 @@ export declare class Tracker {
27
27
  get: () => string[];
28
28
  };
29
29
  };
30
- sendEvents: (eventsToSend?: BeaconEvent[]) => void;
30
+ sendEvents: (eventsToSend?: BeaconEvent[] | undefined) => void;
31
31
  }
32
32
  //# sourceMappingURL=Tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAkBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2GpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CAmB/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAmBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2IpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAiBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,gDAAmC,IAAI,CAmB/C;CACF"}
@@ -17,6 +17,7 @@ const LOCALSTORAGE_BEACON_POOL_NAME = 'ssBeaconPool';
17
17
  const CART_PRODUCTS = 'ssCartProducts';
18
18
  const VIEWED_PRODUCTS = 'ssViewedProducts';
19
19
  const MAX_VIEWED_COUNT = 15;
20
+ const MAX_PARENT_LEVELS = 3;
20
21
  const defaultConfig = {
21
22
  id: 'track',
22
23
  };
@@ -258,7 +259,8 @@ export class Tracker {
258
259
  this.getUserId = () => {
259
260
  let userId;
260
261
  try {
261
- userId = getFlags().storage() && window.localStorage.getItem(USERID_COOKIE_NAME);
262
+ if (getFlags().storage())
263
+ userId = window.localStorage.getItem(USERID_COOKIE_NAME);
262
264
  if (getFlags().cookies()) {
263
265
  userId = userId || cookies.get(USERID_COOKIE_NAME) || uuidv4();
264
266
  cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
@@ -309,7 +311,7 @@ export class Tracker {
309
311
  const shopper = this.getShopperId();
310
312
  const cart = this.cookies.cart.get();
311
313
  const lastViewed = this.cookies.viewed.get();
312
- if (userId && siteId && (shopper || cart.length || lastViewed.length)) {
314
+ if (userId && typeof userId == 'string' && siteId && (shopper || cart.length || lastViewed.length)) {
313
315
  const preflightParams = {
314
316
  userId,
315
317
  siteId,
@@ -430,7 +432,7 @@ export class Tracker {
430
432
  key: `ss-${this.config.id}-${this.globals.siteId}-local`,
431
433
  });
432
434
  this.context = {
433
- userId: this.getUserId(),
435
+ userId: this.getUserId() || '',
434
436
  sessionId: this.getSessionId(),
435
437
  shopperId: this.getShopperId(),
436
438
  pageLoadId: uuidv4(),
@@ -467,10 +469,6 @@ export class Tracker {
467
469
  }));
468
470
  });
469
471
  document.addEventListener('click', (event) => {
470
- const attributes = {};
471
- Object.values(event.target.attributes).forEach((attr) => {
472
- attributes[attr.nodeName] = event.target.getAttribute(attr.nodeName);
473
- });
474
472
  const updateRecsControllers = () => {
475
473
  if (window.searchspring.controller) {
476
474
  Object.keys(window.searchspring.controller).forEach((name) => {
@@ -481,6 +479,33 @@ export class Tracker {
481
479
  });
482
480
  }
483
481
  };
482
+ const getClickAttributes = (event) => {
483
+ const attributeList = [
484
+ `ss-${this.config.id}-cart-add`,
485
+ `ss-${this.config.id}-cart-remove`,
486
+ `ss-${this.config.id}-cart-clear`,
487
+ `ss-${this.config.id}-cart-view`,
488
+ `ss-${this.config.id}-intellisuggest`,
489
+ `ss-${this.config.id}-intellisuggest-signature`,
490
+ `href`,
491
+ ];
492
+ const attributes = {};
493
+ let levels = 0;
494
+ let elem = null;
495
+ elem = event && event.target;
496
+ while (Object.keys(attributes).length == 0 && elem !== null && levels <= MAX_PARENT_LEVELS) {
497
+ Object.values(elem.attributes).forEach((attr) => {
498
+ var attrName = attr.nodeName;
499
+ if (attributeList.indexOf(attrName) != -1) {
500
+ attributes[attrName] = elem && elem.getAttribute(attrName);
501
+ }
502
+ });
503
+ elem = elem.parentElement;
504
+ levels++;
505
+ }
506
+ return attributes;
507
+ };
508
+ const attributes = getClickAttributes(event);
484
509
  if (attributes[`ss-${this.config.id}-cart-add`]) {
485
510
  // add skus to cart
486
511
  const skus = attributes[`ss-${this.config.id}-cart-add`].split(',');
@@ -498,6 +523,10 @@ export class Tracker {
498
523
  this.cookies.cart.clear();
499
524
  updateRecsControllers();
500
525
  }
526
+ else if (`ss-${this.config.id}-cart-view` in attributes) {
527
+ // update recs
528
+ updateRecsControllers();
529
+ }
501
530
  else if (attributes[`ss-${this.config.id}-intellisuggest`] && attributes[`ss-${this.config.id}-intellisuggest-signature`]) {
502
531
  // product click
503
532
  const intellisuggestData = attributes[`ss-${this.config.id}-intellisuggest`];
@@ -5,7 +5,7 @@ export declare type TrackerGlobals = {
5
5
  export declare type TrackerConfig = {
6
6
  id: string;
7
7
  };
8
- export interface BeaconPayload {
8
+ export declare type BeaconPayload = {
9
9
  type: BeaconType;
10
10
  category: BeaconCategory;
11
11
  context?: BeaconContext;
@@ -13,7 +13,7 @@ export interface BeaconPayload {
13
13
  event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | RecommendationsEvent | ProductClickEvent | CustomBeaconEvent | Record<string, never>;
14
14
  id?: string;
15
15
  pid?: string | null;
16
- }
16
+ };
17
17
  export declare enum BeaconType {
18
18
  PRODUCT = "product",
19
19
  CART = "cart",
@@ -130,17 +130,17 @@ export declare type PreflightRequestModel = {
130
130
  export interface TrackMethods {
131
131
  event: (payload: BeaconPayload) => BeaconEvent;
132
132
  shopper: {
133
- login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent;
133
+ login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent | undefined;
134
134
  };
135
135
  product: {
136
- view: (data: ProductViewEvent, siteId?: string) => BeaconEvent;
137
- click: (data: ProductClickEvent, siteId?: string) => BeaconEvent;
136
+ view: (data: ProductViewEvent, siteId?: string) => BeaconEvent | undefined;
137
+ click: (data: ProductClickEvent, siteId?: string) => BeaconEvent | undefined;
138
138
  };
139
139
  cart: {
140
- view: (data: CartViewEvent, siteId?: string) => BeaconEvent;
140
+ view: (data: CartViewEvent, siteId?: string) => BeaconEvent | undefined;
141
141
  };
142
142
  order: {
143
- transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent;
143
+ transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent | undefined;
144
144
  };
145
145
  }
146
146
  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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-tracker",
3
- "version": "0.25.1",
3
+ "version": "0.27.0",
4
4
  "description": "Snap Tracker",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,8 +20,9 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-store-mobx": "^0.25.1",
24
- "@searchspring/snap-toolbox": "^0.25.1",
23
+ "@searchspring/snap-store-mobx": "^0.27.0",
24
+ "@searchspring/snap-toolbox": "^0.27.0",
25
+ "@types/uuid": "^8.3.4",
25
26
  "deepmerge": "^4.2.2",
26
27
  "uuid": "^8.3.2"
27
28
  },
@@ -29,5 +30,5 @@
29
30
  "files": [
30
31
  "dist/**/*"
31
32
  ],
32
- "gitHead": "56ab4bfc6d2d6c98ea80d7efa0ec65cca9e654ae"
33
+ "gitHead": "4cdee561f907c31990f78ba001b2c5bc29fe2b40"
33
34
  }