shopkit-analytics 1.0.0 → 1.0.2
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 +258 -3
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.d.ts +2 -2
- package/dist/adapters/index.js +1039 -600
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/index.mjs +2 -2
- package/dist/{chunk-3TQR5DOP.mjs → chunk-3NR2AKE4.mjs} +1 -31
- package/dist/chunk-3NR2AKE4.mjs.map +1 -0
- package/dist/{chunk-P4OJDCEZ.mjs → chunk-BNV3EVHH.mjs} +3 -3
- package/dist/{chunk-JVEGG6JV.mjs → chunk-HCA4E2RA.mjs} +19 -13
- package/dist/chunk-HCA4E2RA.mjs.map +1 -0
- package/dist/{chunk-4MZH5OLR.mjs → chunk-U3UOXFS4.mjs} +1040 -603
- package/dist/chunk-U3UOXFS4.mjs.map +1 -0
- package/dist/events/index.d.mts +9 -41
- package/dist/events/index.d.ts +9 -41
- package/dist/events/index.js +801 -490
- package/dist/events/index.js.map +1 -1
- package/dist/events/index.mjs +5 -7
- package/dist/{index-GODWc1s6.d.mts → index-Bym1_EAp.d.mts} +74 -17
- package/dist/{index-BnNRgdUv.d.ts → index-DS9OI5Mz.d.ts} +74 -17
- package/dist/index.d.mts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +1057 -645
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -6
- package/dist/index.mjs.map +1 -1
- package/dist/{subscriber-43gnCKWe.d.ts → subscriber-BDAm_BAi.d.ts} +38 -2
- package/dist/{subscriber-sWesj_5p.d.mts → subscriber-BoyOlh9t.d.mts} +38 -2
- package/dist/subscriber-VF3IYUCU.mjs +8 -0
- package/dist/types.d.mts +4 -340
- package/dist/types.d.ts +4 -340
- package/dist/types.js +0 -30
- package/dist/types.js.map +1 -1
- package/dist/types.mjs +1 -1
- package/package.json +2 -3
- package/dist/chunk-3TQR5DOP.mjs.map +0 -1
- package/dist/chunk-4MZH5OLR.mjs.map +0 -1
- package/dist/chunk-JVEGG6JV.mjs.map +0 -1
- package/dist/subscriber-IFZJU57V.mjs +0 -8
- /package/dist/{chunk-P4OJDCEZ.mjs.map → chunk-BNV3EVHH.mjs.map} +0 -0
- /package/dist/{subscriber-IFZJU57V.mjs.map → subscriber-VF3IYUCU.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -32,9 +32,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
32
32
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
33
33
|
|
|
34
34
|
// src/events/publisher.ts
|
|
35
|
-
function publishEvent(event) {
|
|
35
|
+
function publishEvent(event, params) {
|
|
36
36
|
try {
|
|
37
|
-
eventPublisher.publish(event);
|
|
37
|
+
eventPublisher.publish(event, params);
|
|
38
38
|
} catch (error) {
|
|
39
39
|
console.error("Error in publishEvent helper:", error);
|
|
40
40
|
}
|
|
@@ -75,19 +75,24 @@ var init_publisher = __esm({
|
|
|
75
75
|
/**
|
|
76
76
|
* Publish an event to all subscribers
|
|
77
77
|
* @param event The event to publish
|
|
78
|
+
* @param params Optional adapter-specific parameters
|
|
78
79
|
*/
|
|
79
|
-
publish(event) {
|
|
80
|
+
publish(event, params) {
|
|
80
81
|
try {
|
|
81
82
|
console.log("EventPublisher: Received event", {
|
|
82
83
|
type: event.type,
|
|
83
|
-
data: event
|
|
84
|
+
data: event,
|
|
85
|
+
params
|
|
84
86
|
});
|
|
85
87
|
const eventWithTimestamp = !event.timestamp ? { ...event, timestamp: Date.now() } : event;
|
|
86
|
-
console.log(
|
|
88
|
+
console.log(
|
|
89
|
+
"EventPublisher: Number of subscribers:",
|
|
90
|
+
this.subscribers.length
|
|
91
|
+
);
|
|
87
92
|
for (const subscriber of this.subscribers) {
|
|
88
93
|
try {
|
|
89
94
|
console.log("EventPublisher: Notifying subscriber");
|
|
90
|
-
subscriber(eventWithTimestamp);
|
|
95
|
+
subscriber(eventWithTimestamp, params);
|
|
91
96
|
console.log("EventPublisher: Subscriber notified successfully");
|
|
92
97
|
} catch (error) {
|
|
93
98
|
console.error("EventPublisher: Error in subscriber:", error);
|
|
@@ -196,18 +201,19 @@ var init_subscriber = __esm({
|
|
|
196
201
|
/**
|
|
197
202
|
* Handle an event by forwarding it to all enabled adapters
|
|
198
203
|
* @param event The event to handle
|
|
204
|
+
* @param params Optional adapter-specific parameters
|
|
199
205
|
*/
|
|
200
|
-
handleEvent(event) {
|
|
201
|
-
console.log("Handling event:", event.type);
|
|
206
|
+
handleEvent(event, params) {
|
|
207
|
+
console.log("Handling event:", event.type, "with params:", params);
|
|
202
208
|
if (!this.initialized) {
|
|
203
209
|
console.log("Subscriber not initialized, queueing event");
|
|
204
|
-
this.eventQueue.push(event);
|
|
210
|
+
this.eventQueue.push({ event, params });
|
|
205
211
|
return;
|
|
206
212
|
}
|
|
207
213
|
for (const adapter of this.adapters) {
|
|
208
214
|
if (adapter.isEnabled()) {
|
|
209
215
|
console.log(`Forwarding event to adapter: ${adapter.name}`);
|
|
210
|
-
adapter.trackEvent(event).catch((error) => {
|
|
216
|
+
adapter.trackEvent(event, params).catch((error) => {
|
|
211
217
|
console.error(
|
|
212
218
|
`Error tracking event in adapter "${adapter.name}":`,
|
|
213
219
|
error
|
|
@@ -226,8 +232,8 @@ var init_subscriber = __esm({
|
|
|
226
232
|
return;
|
|
227
233
|
}
|
|
228
234
|
console.log(`Processing ${this.eventQueue.length} queued events.`);
|
|
229
|
-
for (const event of this.eventQueue) {
|
|
230
|
-
this.handleEvent(event);
|
|
235
|
+
for (const { event, params } of this.eventQueue) {
|
|
236
|
+
this.handleEvent(event, params);
|
|
231
237
|
}
|
|
232
238
|
this.eventQueue = [];
|
|
233
239
|
}
|
|
@@ -262,7 +268,6 @@ __export(src_exports, {
|
|
|
262
268
|
EventNames: () => EventNames,
|
|
263
269
|
EventType: () => EventType,
|
|
264
270
|
GoogleAdapter: () => GoogleAdapter,
|
|
265
|
-
HARDCODED_HANDLE: () => HARDCODED_HANDLE,
|
|
266
271
|
KwikCheckoutAdapter: () => KwikCheckoutAdapter,
|
|
267
272
|
KwikPassAdapter: () => KwikPassAdapter,
|
|
268
273
|
MoengageAdapter: () => MoengageAdapter,
|
|
@@ -295,7 +300,14 @@ var import_react3 = require("react");
|
|
|
295
300
|
var import_hydrogen_react2 = require("@shopify/hydrogen-react");
|
|
296
301
|
|
|
297
302
|
// src/logger/index.ts
|
|
298
|
-
var
|
|
303
|
+
var LOG_LEVELS = {
|
|
304
|
+
trace: 10,
|
|
305
|
+
debug: 20,
|
|
306
|
+
info: 30,
|
|
307
|
+
warn: 40,
|
|
308
|
+
error: 50,
|
|
309
|
+
fatal: 60
|
|
310
|
+
};
|
|
299
311
|
var NoOpLogger = class _NoOpLogger {
|
|
300
312
|
trace() {
|
|
301
313
|
}
|
|
@@ -313,92 +325,109 @@ var NoOpLogger = class _NoOpLogger {
|
|
|
313
325
|
return new _NoOpLogger();
|
|
314
326
|
}
|
|
315
327
|
};
|
|
316
|
-
var
|
|
317
|
-
constructor(
|
|
318
|
-
this.
|
|
328
|
+
var UniversalLogger = class _UniversalLogger {
|
|
329
|
+
constructor(config, bindings = {}) {
|
|
330
|
+
this.config = config;
|
|
331
|
+
this.bindings = bindings;
|
|
332
|
+
}
|
|
333
|
+
shouldLog(level) {
|
|
334
|
+
return LOG_LEVELS[level] >= LOG_LEVELS[this.config.level];
|
|
335
|
+
}
|
|
336
|
+
formatMessage(level, message, args, error) {
|
|
337
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
338
|
+
const name = this.config.name;
|
|
339
|
+
let logMessage = this.config.prettyPrint ? `[${timestamp}] ${level.toUpperCase()} [${name}]: ${message}` : JSON.stringify({
|
|
340
|
+
timestamp,
|
|
341
|
+
level,
|
|
342
|
+
name,
|
|
343
|
+
message,
|
|
344
|
+
...this.bindings,
|
|
345
|
+
...args.length > 0 && { args },
|
|
346
|
+
...error && {
|
|
347
|
+
error: { message: error.message, stack: error.stack }
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
if (this.config.prettyPrint && args.length > 0) {
|
|
351
|
+
logMessage += ` ${args.map(
|
|
352
|
+
(arg) => typeof arg === "object" ? JSON.stringify(arg) : String(arg)
|
|
353
|
+
).join(" ")}`;
|
|
354
|
+
}
|
|
355
|
+
if (this.config.prettyPrint && error) {
|
|
356
|
+
logMessage += ` Error: ${error.message}`;
|
|
357
|
+
if (error.stack) {
|
|
358
|
+
logMessage += `
|
|
359
|
+
${error.stack}`;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return this.redactSensitiveData(logMessage);
|
|
363
|
+
}
|
|
364
|
+
redactSensitiveData(message) {
|
|
365
|
+
let redactedMessage = message;
|
|
366
|
+
for (const field of this.config.redact) {
|
|
367
|
+
const regex = new RegExp(`"${field}"\\s*:\\s*"[^"]*"`, "gi");
|
|
368
|
+
redactedMessage = redactedMessage.replace(
|
|
369
|
+
regex,
|
|
370
|
+
`"${field}":"[REDACTED]"`
|
|
371
|
+
);
|
|
372
|
+
}
|
|
373
|
+
return redactedMessage;
|
|
374
|
+
}
|
|
375
|
+
log(level, message, args, error) {
|
|
376
|
+
if (!this.shouldLog(level)) return;
|
|
377
|
+
const formattedMessage = this.formatMessage(level, message, args, error);
|
|
378
|
+
switch (level) {
|
|
379
|
+
case "trace":
|
|
380
|
+
console.trace(formattedMessage);
|
|
381
|
+
break;
|
|
382
|
+
case "debug":
|
|
383
|
+
console.debug(formattedMessage);
|
|
384
|
+
break;
|
|
385
|
+
case "info":
|
|
386
|
+
console.info(formattedMessage);
|
|
387
|
+
break;
|
|
388
|
+
case "warn":
|
|
389
|
+
console.warn(formattedMessage);
|
|
390
|
+
break;
|
|
391
|
+
case "error":
|
|
392
|
+
case "fatal":
|
|
393
|
+
console.error(formattedMessage);
|
|
394
|
+
break;
|
|
395
|
+
}
|
|
319
396
|
}
|
|
320
397
|
trace(message, ...args) {
|
|
321
|
-
this.
|
|
398
|
+
this.log("trace", message, args);
|
|
322
399
|
}
|
|
323
400
|
debug(message, ...args) {
|
|
324
|
-
this.
|
|
401
|
+
this.log("debug", message, args);
|
|
325
402
|
}
|
|
326
403
|
info(message, ...args) {
|
|
327
|
-
this.
|
|
404
|
+
this.log("info", message, args);
|
|
328
405
|
}
|
|
329
406
|
warn(message, ...args) {
|
|
330
|
-
this.
|
|
407
|
+
this.log("warn", message, args);
|
|
331
408
|
}
|
|
332
409
|
error(message, error, ...args) {
|
|
333
|
-
this.
|
|
410
|
+
this.log("error", message, args, error);
|
|
334
411
|
}
|
|
335
412
|
fatal(message, error, ...args) {
|
|
336
|
-
this.
|
|
413
|
+
this.log("fatal", message, args, error);
|
|
337
414
|
}
|
|
338
415
|
child(bindings) {
|
|
339
|
-
return new
|
|
416
|
+
return new _UniversalLogger(this.config, { ...this.bindings, ...bindings });
|
|
340
417
|
}
|
|
341
418
|
};
|
|
342
419
|
function createLogger(config = {}) {
|
|
343
|
-
const {
|
|
344
|
-
level
|
|
345
|
-
enabled
|
|
346
|
-
name
|
|
347
|
-
prettyPrint
|
|
348
|
-
redact
|
|
349
|
-
} = config;
|
|
350
|
-
if (!enabled) {
|
|
351
|
-
return new NoOpLogger();
|
|
352
|
-
}
|
|
353
|
-
const pinoConfig = {
|
|
354
|
-
name,
|
|
355
|
-
level,
|
|
356
|
-
redact,
|
|
357
|
-
browser: {
|
|
358
|
-
asObject: true,
|
|
359
|
-
serialize: true,
|
|
360
|
-
write: {
|
|
361
|
-
trace: (o) => console.trace(formatBrowserLog(o)),
|
|
362
|
-
debug: (o) => console.debug(formatBrowserLog(o)),
|
|
363
|
-
info: (o) => console.info(formatBrowserLog(o)),
|
|
364
|
-
warn: (o) => console.warn(formatBrowserLog(o)),
|
|
365
|
-
error: (o) => console.error(formatBrowserLog(o)),
|
|
366
|
-
fatal: (o) => console.error(formatBrowserLog(o))
|
|
367
|
-
}
|
|
368
|
-
}
|
|
420
|
+
const fullConfig = {
|
|
421
|
+
level: config.level || "info",
|
|
422
|
+
enabled: config.enabled !== false,
|
|
423
|
+
name: config.name || "@shopkit/analytics",
|
|
424
|
+
prettyPrint: config.prettyPrint || false,
|
|
425
|
+
redact: config.redact || []
|
|
369
426
|
};
|
|
370
|
-
if (
|
|
371
|
-
|
|
372
|
-
target: "pino-pretty",
|
|
373
|
-
options: {
|
|
374
|
-
colorize: true,
|
|
375
|
-
translateTime: "HH:MM:ss Z",
|
|
376
|
-
ignore: "pid,hostname"
|
|
377
|
-
}
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
|
-
const pinoLogger = (0, import_pino.default)(pinoConfig);
|
|
381
|
-
return new PinoLogger(pinoLogger);
|
|
382
|
-
}
|
|
383
|
-
function formatBrowserLog(logObj) {
|
|
384
|
-
const { level, time, msg, name, args, error, ...rest } = logObj;
|
|
385
|
-
let message = `[${name}] ${msg}`;
|
|
386
|
-
if (args && args.length > 0) {
|
|
387
|
-
message += ` ${args.map(
|
|
388
|
-
(arg) => typeof arg === "object" ? JSON.stringify(arg) : String(arg)
|
|
389
|
-
).join(" ")}`;
|
|
390
|
-
}
|
|
391
|
-
if (error) {
|
|
392
|
-
message += ` Error: ${error.message}`;
|
|
393
|
-
if (error.stack) {
|
|
394
|
-
message += `
|
|
395
|
-
${error.stack}`;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
if (Object.keys(rest).length > 0) {
|
|
399
|
-
message += ` ${JSON.stringify(rest)}`;
|
|
427
|
+
if (!fullConfig.enabled) {
|
|
428
|
+
return new NoOpLogger();
|
|
400
429
|
}
|
|
401
|
-
return
|
|
430
|
+
return new UniversalLogger(fullConfig);
|
|
402
431
|
}
|
|
403
432
|
var logger = createLogger({
|
|
404
433
|
enabled: true,
|
|
@@ -447,6 +476,38 @@ var BaseAdapter = class {
|
|
|
447
476
|
isEnabled() {
|
|
448
477
|
return this.initialized;
|
|
449
478
|
}
|
|
479
|
+
/**
|
|
480
|
+
* Extract adapter-specific parameters for this adapter
|
|
481
|
+
* @param params The adapter parameters object
|
|
482
|
+
* @returns Adapter-specific parameters or empty object
|
|
483
|
+
*/
|
|
484
|
+
getAdapterParams(params) {
|
|
485
|
+
return params?.[this.name] || {};
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Get custom event name or fall back to default
|
|
489
|
+
* @param params The adapter parameters object
|
|
490
|
+
* @param defaultName The default event name to use
|
|
491
|
+
* @returns Custom event name or default
|
|
492
|
+
*/
|
|
493
|
+
getEventName(params, defaultName) {
|
|
494
|
+
const adapterParams = this.getAdapterParams(params);
|
|
495
|
+
return adapterParams.event_name || defaultName;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Merge standard event data with adapter-specific parameters
|
|
499
|
+
* @param params The adapter parameters object
|
|
500
|
+
* @param standardData The standard event data
|
|
501
|
+
* @returns Merged data with adapter-specific overrides
|
|
502
|
+
*/
|
|
503
|
+
mergeEventData(standardData, params) {
|
|
504
|
+
const adapterParams = this.getAdapterParams(params);
|
|
505
|
+
const { event_name, ...customParams } = adapterParams;
|
|
506
|
+
return {
|
|
507
|
+
...standardData,
|
|
508
|
+
...customParams
|
|
509
|
+
};
|
|
510
|
+
}
|
|
450
511
|
/**
|
|
451
512
|
* Get a configuration value
|
|
452
513
|
* @param key The configuration key
|
|
@@ -482,7 +543,6 @@ var BaseAdapter = class {
|
|
|
482
543
|
// src/types.ts
|
|
483
544
|
var EventType = /* @__PURE__ */ ((EventType2) => {
|
|
484
545
|
EventType2["PRODUCT_VIEW"] = "product_view";
|
|
485
|
-
EventType2["STARTED_ORDER"] = "started_order";
|
|
486
546
|
EventType2["PAGE_VIEW"] = "page_view";
|
|
487
547
|
EventType2["BUTTON_CLICK"] = "button_click";
|
|
488
548
|
EventType2["FORM_SUBMISSION"] = "form_submission";
|
|
@@ -495,11 +555,6 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
|
|
|
495
555
|
EventType2["CHECKOUT_STARTED"] = "checkout_started";
|
|
496
556
|
EventType2["CHECKOUT_COMPLETED"] = "checkout_completed";
|
|
497
557
|
EventType2["SEARCH"] = "search";
|
|
498
|
-
EventType2["CART_PAGE_LAND"] = "cart_page_land";
|
|
499
|
-
EventType2["CLOSE_CART"] = "close_cart";
|
|
500
|
-
EventType2["QUANTITY_CHANGE"] = "quantity_change";
|
|
501
|
-
EventType2["FILTER_APPLIED"] = "filter_applied";
|
|
502
|
-
EventType2["NEWSLETTER_SUBSCRIPTION"] = "newsletter_subscription";
|
|
503
558
|
EventType2["USER_SIGNUP"] = "user_signup";
|
|
504
559
|
EventType2["USER_LOGIN"] = "user_login";
|
|
505
560
|
EventType2["CUSTOM"] = "custom";
|
|
@@ -510,25 +565,11 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
|
|
|
510
565
|
EventType2["FORM_START"] = "form_start";
|
|
511
566
|
EventType2["ADD_PAYMENT_INFO"] = "add_payment_info";
|
|
512
567
|
EventType2["CART_VIEWED"] = "cart_viewed";
|
|
513
|
-
EventType2["PAGES_SCREENS_PER_SESSION"] = "pages_screens_per_session";
|
|
514
568
|
EventType2["VIEW_CONTENT"] = "view_content";
|
|
515
569
|
EventType2["PURCHASE"] = "purchase";
|
|
516
570
|
EventType2["VIEW_SEARCH_RESULTS"] = "view_search_results";
|
|
517
571
|
EventType2["ORDER_PLACED"] = "order_placed";
|
|
518
572
|
EventType2["BEGIN_CHECKOUT"] = "begin_checkout";
|
|
519
|
-
EventType2["ITEM_PURCHASED"] = "item_purchased";
|
|
520
|
-
EventType2["UPDATE_CART"] = "update_cart";
|
|
521
|
-
EventType2["CUSTOMER_REGISTERED"] = "customer_registered";
|
|
522
|
-
EventType2["CUSTOMER_LOGGED_IN"] = "customer_logged_in";
|
|
523
|
-
EventType2["SHOPIFY_CHECKOUT_UPDATED"] = "shopify_checkout_updated";
|
|
524
|
-
EventType2["SHOPIFY_ABANDONED_CHECKOUT"] = "shopify_abandoned_checkout";
|
|
525
|
-
EventType2["SHOPIFY_ORDER_FULFILLED"] = "shopify_order_fulfilled";
|
|
526
|
-
EventType2["SHOPIFY_CHECKOUT_STARTED"] = "shopify_checkout_started";
|
|
527
|
-
EventType2["SHOPIFY_ADD_TO_CART"] = "shopify_add_to_cart";
|
|
528
|
-
EventType2["SHOPIFY_REMOVED_FROM_CART"] = "shopify_removed_from_cart";
|
|
529
|
-
EventType2["SHOPIFY_UPDATE_CART"] = "shopify_update_cart";
|
|
530
|
-
EventType2["SPINFORM_RESULT"] = "spinform_result";
|
|
531
|
-
EventType2["COUPON_COPIED"] = "coupon_copied";
|
|
532
573
|
EventType2["STARTED_CHECKOUT_GK"] = "started_checkout_gk";
|
|
533
574
|
EventType2["MOBILE_ADDED_GK"] = "mobile_added_gk";
|
|
534
575
|
EventType2["ADDRESS_SELECTED_GK"] = "address_selected_gk";
|
|
@@ -539,19 +580,60 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
|
|
|
539
580
|
EventType2["ORDER_COMPLETED"] = "order_completed";
|
|
540
581
|
EventType2["PIN_CODE_ADDED_GK"] = "pin_code_added_gk";
|
|
541
582
|
EventType2["ADDRESS_ADDED_GK"] = "address_added_gk";
|
|
542
|
-
EventType2["KP_MP_PHONE_NUMBER_LOGGED_IN"] = "kp_mp_phone_number_logged_in";
|
|
543
|
-
EventType2["KP_PHONE_NUMBER_LOGGED_IN"] = "kp_phone_number_logged_in";
|
|
544
|
-
EventType2["KP_MP_SHOPIFY_LOGGED_IN"] = "kp_mp_shopify_logged_in";
|
|
545
|
-
EventType2["KP_MP_SUCCESSFULLY_LOGGED_OUT"] = "kp_mp_successfully_logged_out";
|
|
546
|
-
EventType2["KP_WHATSAPP_LOGGED_IN"] = "kp_whatsapp_logged_in";
|
|
547
|
-
EventType2["KP_MP_TRUECALLER_LOGGED_IN"] = "kp_mp_truecaller_logged_in";
|
|
548
|
-
EventType2["KP_MP_WHATSAPP_LOGGED_IN"] = "kp_mp_whatsapp_logged_in";
|
|
549
|
-
EventType2["KP_TRUECALLER_LOGGED_IN"] = "kp_truecaller_logged_in";
|
|
550
|
-
EventType2["KP_SHOPIFY_LOGGED_IN"] = "kp_shopify_logged_in";
|
|
551
|
-
EventType2["KP_SUCCESSFULLY_LOGGED_OUT"] = "kp_successfully_logged_out";
|
|
552
583
|
return EventType2;
|
|
553
584
|
})(EventType || {});
|
|
554
585
|
|
|
586
|
+
// src/utils/event-id.ts
|
|
587
|
+
function generateEventId(eventType) {
|
|
588
|
+
const timestamp = Date.now();
|
|
589
|
+
const randomString = Math.random().toString(36).substring(2, 8);
|
|
590
|
+
return `${timestamp}_${randomString}_${eventType}`;
|
|
591
|
+
}
|
|
592
|
+
function getBrowserInfo() {
|
|
593
|
+
if (typeof window === "undefined") {
|
|
594
|
+
return {};
|
|
595
|
+
}
|
|
596
|
+
const userAgent = navigator.userAgent;
|
|
597
|
+
const fbc = getFacebookClickId();
|
|
598
|
+
const fbp = getFacebookBrowserId();
|
|
599
|
+
return {
|
|
600
|
+
clientUserAgent: userAgent,
|
|
601
|
+
fbc,
|
|
602
|
+
fbp
|
|
603
|
+
};
|
|
604
|
+
}
|
|
605
|
+
function getFacebookClickId() {
|
|
606
|
+
if (typeof window === "undefined") {
|
|
607
|
+
return void 0;
|
|
608
|
+
}
|
|
609
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
610
|
+
const fbclid = urlParams.get("fbclid");
|
|
611
|
+
if (fbclid) {
|
|
612
|
+
return `fb.1.${Date.now()}.${fbclid}`;
|
|
613
|
+
}
|
|
614
|
+
const cookies = document.cookie.split(";");
|
|
615
|
+
for (const cookie of cookies) {
|
|
616
|
+
const [name, value] = cookie.trim().split("=");
|
|
617
|
+
if (name === "_fbc") {
|
|
618
|
+
return value;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
return void 0;
|
|
622
|
+
}
|
|
623
|
+
function getFacebookBrowserId() {
|
|
624
|
+
if (typeof window === "undefined") {
|
|
625
|
+
return void 0;
|
|
626
|
+
}
|
|
627
|
+
const cookies = document.cookie.split(";");
|
|
628
|
+
for (const cookie of cookies) {
|
|
629
|
+
const [name, value] = cookie.trim().split("=");
|
|
630
|
+
if (name === "_fbp") {
|
|
631
|
+
return value;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
return void 0;
|
|
635
|
+
}
|
|
636
|
+
|
|
555
637
|
// src/adapters/pixel-adapter.ts
|
|
556
638
|
var PixelAdapter = class extends BaseAdapter {
|
|
557
639
|
constructor(config) {
|
|
@@ -577,18 +659,34 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
577
659
|
);
|
|
578
660
|
return;
|
|
579
661
|
}
|
|
580
|
-
const pixelId = this.getConfig("pixelId");
|
|
581
662
|
this.logger.info("Successfully initialized", { pixelId: "***" });
|
|
582
663
|
this.initialized = true;
|
|
583
664
|
}
|
|
584
665
|
/**
|
|
585
666
|
* Track an event with Facebook Pixel
|
|
586
667
|
* @param event The event to track
|
|
668
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
669
|
+
*/
|
|
670
|
+
async trackEvent(event, adapterParams) {
|
|
671
|
+
if (!event.eventId) {
|
|
672
|
+
event.eventId = generateEventId(event.type);
|
|
673
|
+
}
|
|
674
|
+
this.logger.debug("Tracking event", {
|
|
675
|
+
eventType: event.type,
|
|
676
|
+
eventId: event.eventId
|
|
677
|
+
});
|
|
678
|
+
await this.trackClientSide(event, adapterParams);
|
|
679
|
+
if (this.getConfig("enableCAPI", true)) {
|
|
680
|
+
await this.trackServerSide(event);
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* Track event on client-side (browser pixel)
|
|
587
685
|
*/
|
|
588
|
-
async
|
|
686
|
+
async trackClientSide(event, adapterParams) {
|
|
589
687
|
if (!this.initialized || typeof window === "undefined" || !window.fbq) {
|
|
590
688
|
this.logger.warn(
|
|
591
|
-
"Cannot track event, adapter not initialized or fbq not available",
|
|
689
|
+
"Cannot track client-side event, adapter not initialized or fbq not available",
|
|
592
690
|
{
|
|
593
691
|
eventType: event.type,
|
|
594
692
|
initialized: this.initialized,
|
|
@@ -598,55 +696,95 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
598
696
|
);
|
|
599
697
|
return;
|
|
600
698
|
}
|
|
601
|
-
this.logger.debug("Tracking event", { eventType: event.type });
|
|
602
699
|
switch (event.type) {
|
|
603
700
|
case "page_view" /* PAGE_VIEW */:
|
|
604
|
-
this.trackPageView(event);
|
|
701
|
+
this.trackPageView(event, adapterParams);
|
|
605
702
|
break;
|
|
606
703
|
case "view_content" /* VIEW_CONTENT */:
|
|
607
|
-
this.trackViewContent(event);
|
|
704
|
+
this.trackViewContent(event, adapterParams);
|
|
608
705
|
break;
|
|
609
706
|
case "product_view" /* PRODUCT_VIEW */:
|
|
610
|
-
this.trackProductView(event);
|
|
707
|
+
this.trackProductView(event, adapterParams);
|
|
611
708
|
break;
|
|
612
709
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
613
|
-
this.trackAddToCart(event);
|
|
710
|
+
this.trackAddToCart(event, adapterParams);
|
|
614
711
|
break;
|
|
615
712
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
616
|
-
this.trackCheckoutStarted(event);
|
|
713
|
+
this.trackCheckoutStarted(event, adapterParams);
|
|
617
714
|
break;
|
|
618
715
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
619
|
-
this.trackCheckoutCompleted(event);
|
|
716
|
+
this.trackCheckoutCompleted(event, adapterParams);
|
|
620
717
|
break;
|
|
621
718
|
case "purchase" /* PURCHASE */:
|
|
622
|
-
this.trackPurchase(event);
|
|
719
|
+
this.trackPurchase(event, adapterParams);
|
|
623
720
|
break;
|
|
624
721
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
625
|
-
this.trackAddPaymentInfo(event);
|
|
722
|
+
this.trackAddPaymentInfo(event, adapterParams);
|
|
626
723
|
break;
|
|
627
724
|
case "search" /* SEARCH */:
|
|
628
|
-
this.trackSearch(event);
|
|
725
|
+
this.trackSearch(event, adapterParams);
|
|
629
726
|
break;
|
|
630
727
|
default:
|
|
631
728
|
this.logger.debug("Unhandled event type", { eventType: event.type });
|
|
632
729
|
break;
|
|
633
730
|
}
|
|
634
731
|
}
|
|
732
|
+
/**
|
|
733
|
+
* Track event on server-side (CAPI) as backup
|
|
734
|
+
*/
|
|
735
|
+
async trackServerSide(event) {
|
|
736
|
+
try {
|
|
737
|
+
const browserInfo = getBrowserInfo();
|
|
738
|
+
const payload = {
|
|
739
|
+
events: [event],
|
|
740
|
+
userInfo: browserInfo
|
|
741
|
+
};
|
|
742
|
+
const response = await fetch("/api/events", {
|
|
743
|
+
method: "POST",
|
|
744
|
+
headers: {
|
|
745
|
+
"Content-Type": "application/json"
|
|
746
|
+
},
|
|
747
|
+
body: JSON.stringify(payload)
|
|
748
|
+
});
|
|
749
|
+
if (!response.ok) {
|
|
750
|
+
throw new Error(`Server-side tracking failed: ${response.status}`);
|
|
751
|
+
}
|
|
752
|
+
this.logger.debug(
|
|
753
|
+
`FB Pixel: Server-side backup sent for event ${event.type}`
|
|
754
|
+
);
|
|
755
|
+
} catch (error) {
|
|
756
|
+
this.logger.error(
|
|
757
|
+
`FB Pixel: Server-side backup failed for event ${event.type}: ${error instanceof Error ? error.message : String(error)}`
|
|
758
|
+
);
|
|
759
|
+
}
|
|
760
|
+
}
|
|
635
761
|
/**
|
|
636
762
|
* Track a page view event
|
|
637
763
|
* @param event The page view event
|
|
638
764
|
*/
|
|
639
|
-
trackPageView(event) {
|
|
640
|
-
const
|
|
641
|
-
|
|
642
|
-
this.
|
|
765
|
+
trackPageView(event, adapterParams) {
|
|
766
|
+
const eventName = this.getEventName(adapterParams, "PageView");
|
|
767
|
+
const baseParams = this.enhanceWithAffiliateParams({});
|
|
768
|
+
const enhancedParams = this.mergeEventData(baseParams, adapterParams);
|
|
769
|
+
if (event.eventId) {
|
|
770
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
771
|
+
eventID: event.eventId
|
|
772
|
+
});
|
|
773
|
+
} else {
|
|
774
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
775
|
+
}
|
|
776
|
+
this.logger.debug("PageView event tracked", {
|
|
777
|
+
eventName,
|
|
778
|
+
params: enhancedParams
|
|
779
|
+
});
|
|
643
780
|
}
|
|
644
781
|
/**
|
|
645
782
|
* Track a product view event
|
|
646
783
|
* @param event The product view event
|
|
647
784
|
*/
|
|
648
|
-
trackProductView(event) {
|
|
649
|
-
const
|
|
785
|
+
trackProductView(event, adapterParams) {
|
|
786
|
+
const eventName = this.getEventName(adapterParams, "ViewContent");
|
|
787
|
+
const baseParams = {
|
|
650
788
|
content_type: "product_group",
|
|
651
789
|
content_ids: [event.productId],
|
|
652
790
|
content_name: event.productName,
|
|
@@ -654,34 +792,54 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
654
792
|
value: event.price,
|
|
655
793
|
currency: event.currency || "INR"
|
|
656
794
|
};
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
795
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
796
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
797
|
+
if (event.eventId) {
|
|
798
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
799
|
+
eventID: event.eventId
|
|
800
|
+
});
|
|
801
|
+
} else {
|
|
802
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
803
|
+
}
|
|
804
|
+
this.logger.debug("ProductView event tracked", {
|
|
805
|
+
eventName,
|
|
806
|
+
params: enhancedParams
|
|
807
|
+
});
|
|
662
808
|
}
|
|
663
809
|
/**
|
|
664
810
|
* Track an add to cart event
|
|
665
811
|
* @param event The add to cart event
|
|
666
812
|
*/
|
|
667
|
-
trackAddToCart(event) {
|
|
668
|
-
const
|
|
813
|
+
trackAddToCart(event, adapterParams) {
|
|
814
|
+
const eventName = this.getEventName(adapterParams, "AddToCart");
|
|
815
|
+
const baseParams = {
|
|
669
816
|
content_type: "product_group",
|
|
670
817
|
content_ids: [event.productId],
|
|
671
818
|
content_name: event.productName,
|
|
672
819
|
value: event.price,
|
|
673
820
|
currency: event.currency || "INR"
|
|
674
821
|
};
|
|
675
|
-
const
|
|
676
|
-
|
|
677
|
-
|
|
822
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
823
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
824
|
+
if (event.eventId) {
|
|
825
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
826
|
+
eventID: event.eventId
|
|
827
|
+
});
|
|
828
|
+
} else {
|
|
829
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
830
|
+
}
|
|
831
|
+
this.logger.debug("AddToCart event tracked", {
|
|
832
|
+
eventName,
|
|
833
|
+
params: enhancedParams
|
|
834
|
+
});
|
|
678
835
|
}
|
|
679
836
|
/**
|
|
680
837
|
* Track a checkout started event
|
|
681
838
|
* @param event The checkout started event
|
|
682
839
|
*/
|
|
683
|
-
trackCheckoutStarted(event) {
|
|
684
|
-
const
|
|
840
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
841
|
+
const eventName = this.getEventName(adapterParams, "InitiateCheckout");
|
|
842
|
+
const baseParams = {
|
|
685
843
|
content_ids: event.items.map((item) => item.productId),
|
|
686
844
|
content_type: "product_group",
|
|
687
845
|
value: event.cartValue,
|
|
@@ -693,18 +851,27 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
693
851
|
item_price: item.price
|
|
694
852
|
}))
|
|
695
853
|
};
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
854
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
855
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
856
|
+
if (event.eventId) {
|
|
857
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
858
|
+
eventID: event.eventId
|
|
859
|
+
});
|
|
860
|
+
} else {
|
|
861
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
862
|
+
}
|
|
863
|
+
this.logger.debug("CheckoutStarted event tracked", {
|
|
864
|
+
eventName,
|
|
865
|
+
params: enhancedParams
|
|
866
|
+
});
|
|
701
867
|
}
|
|
702
868
|
/**
|
|
703
869
|
* Track a checkout completed event
|
|
704
870
|
* @param event The checkout completed event
|
|
705
871
|
*/
|
|
706
|
-
trackCheckoutCompleted(event) {
|
|
707
|
-
const
|
|
872
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
873
|
+
const eventName = this.getEventName(adapterParams, "Purchase");
|
|
874
|
+
const baseParams = {
|
|
708
875
|
value: event.cartValue,
|
|
709
876
|
currency: event.currency || "INR",
|
|
710
877
|
content_type: "product_group",
|
|
@@ -716,26 +883,52 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
716
883
|
item_price: item.price
|
|
717
884
|
}))
|
|
718
885
|
};
|
|
719
|
-
|
|
886
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
887
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
888
|
+
if (event.eventId) {
|
|
889
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
890
|
+
eventID: event.eventId
|
|
891
|
+
});
|
|
892
|
+
} else {
|
|
893
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
894
|
+
}
|
|
895
|
+
this.logger.debug("CheckoutCompleted event tracked", {
|
|
896
|
+
eventName,
|
|
897
|
+
params: enhancedParams
|
|
898
|
+
});
|
|
720
899
|
}
|
|
721
900
|
/**
|
|
722
901
|
* Track a search event
|
|
723
902
|
* @param event The search event
|
|
724
903
|
*/
|
|
725
|
-
trackSearch(event) {
|
|
726
|
-
const
|
|
904
|
+
trackSearch(event, adapterParams) {
|
|
905
|
+
const eventName = this.getEventName(adapterParams, "Search");
|
|
906
|
+
const baseParams = {
|
|
727
907
|
search_string: event.searchTerm,
|
|
728
908
|
content_category: "product",
|
|
729
909
|
content_ids: event.content_ids || []
|
|
730
910
|
};
|
|
731
|
-
|
|
911
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
912
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
913
|
+
if (event.eventId) {
|
|
914
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
915
|
+
eventID: event.eventId
|
|
916
|
+
});
|
|
917
|
+
} else {
|
|
918
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
919
|
+
}
|
|
920
|
+
this.logger.debug("Search event tracked", {
|
|
921
|
+
eventName,
|
|
922
|
+
params: enhancedParams
|
|
923
|
+
});
|
|
732
924
|
}
|
|
733
925
|
/**
|
|
734
926
|
* Track an add payment info event
|
|
735
927
|
* @param event The add payment info event
|
|
736
928
|
*/
|
|
737
|
-
trackAddPaymentInfo(event) {
|
|
738
|
-
const
|
|
929
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
930
|
+
const eventName = this.getEventName(adapterParams, "AddPaymentInfo");
|
|
931
|
+
const baseParams = {
|
|
739
932
|
value: event.cartValue,
|
|
740
933
|
currency: event.currency || "INR",
|
|
741
934
|
content_type: "product_group",
|
|
@@ -747,18 +940,27 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
747
940
|
})),
|
|
748
941
|
payment_type: event.paymentType || ""
|
|
749
942
|
};
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
943
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
944
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
945
|
+
if (event.eventId) {
|
|
946
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
947
|
+
eventID: event.eventId
|
|
948
|
+
});
|
|
949
|
+
} else {
|
|
950
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
951
|
+
}
|
|
952
|
+
this.logger.debug("AddPaymentInfo event tracked", {
|
|
953
|
+
eventName,
|
|
954
|
+
params: enhancedParams
|
|
955
|
+
});
|
|
755
956
|
}
|
|
756
957
|
/**
|
|
757
958
|
* Track a view content event
|
|
758
959
|
* @param event The view content event
|
|
759
960
|
*/
|
|
760
|
-
trackViewContent(event) {
|
|
761
|
-
const
|
|
961
|
+
trackViewContent(event, adapterParams) {
|
|
962
|
+
const eventName = this.getEventName(adapterParams, "ViewContent");
|
|
963
|
+
const baseParams = {
|
|
762
964
|
content_type: event.content_type || "product",
|
|
763
965
|
content_ids: event.content_ids || [],
|
|
764
966
|
content_name: event.content_name || "",
|
|
@@ -766,18 +968,27 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
766
968
|
value: event.value || 0,
|
|
767
969
|
currency: event.currency || "INR"
|
|
768
970
|
};
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
971
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
972
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
973
|
+
if (event.eventId) {
|
|
974
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
975
|
+
eventID: event.eventId
|
|
976
|
+
});
|
|
977
|
+
} else {
|
|
978
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
979
|
+
}
|
|
980
|
+
this.logger.debug("ViewContent event tracked", {
|
|
981
|
+
eventName,
|
|
982
|
+
params: enhancedParams
|
|
983
|
+
});
|
|
774
984
|
}
|
|
775
985
|
/**
|
|
776
986
|
* Track a purchase event
|
|
777
987
|
* @param event The purchase event
|
|
778
988
|
*/
|
|
779
|
-
trackPurchase(event) {
|
|
780
|
-
const
|
|
989
|
+
trackPurchase(event, adapterParams) {
|
|
990
|
+
const eventName = this.getEventName(adapterParams, "Purchase");
|
|
991
|
+
const baseParams = {
|
|
781
992
|
value: event.value,
|
|
782
993
|
currency: event.currency || "INR",
|
|
783
994
|
content_type: event.content_type || "product_group",
|
|
@@ -785,15 +996,19 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
785
996
|
num_items: event.num_items || 1,
|
|
786
997
|
contents: event.contents || []
|
|
787
998
|
};
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
999
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1000
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1001
|
+
if (event.eventId) {
|
|
1002
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
1003
|
+
eventID: event.eventId
|
|
1004
|
+
});
|
|
1005
|
+
} else {
|
|
1006
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
1007
|
+
}
|
|
1008
|
+
this.logger.debug("Purchase event tracked", {
|
|
1009
|
+
eventName,
|
|
1010
|
+
params: enhancedParams
|
|
1011
|
+
});
|
|
797
1012
|
}
|
|
798
1013
|
};
|
|
799
1014
|
|
|
@@ -842,8 +1057,9 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
842
1057
|
/**
|
|
843
1058
|
* Track an event with Google Analytics
|
|
844
1059
|
* @param event The event to track
|
|
1060
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
845
1061
|
*/
|
|
846
|
-
async trackEvent(event) {
|
|
1062
|
+
async trackEvent(event, adapterParams) {
|
|
847
1063
|
this.logger.debug("Attempting to track event", {
|
|
848
1064
|
initialized: this.initialized,
|
|
849
1065
|
hasWindow: typeof window !== "undefined",
|
|
@@ -869,76 +1085,93 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
869
1085
|
});
|
|
870
1086
|
switch (event.type) {
|
|
871
1087
|
case "page_view" /* PAGE_VIEW */:
|
|
872
|
-
this.trackPageView(
|
|
1088
|
+
this.trackPageView(
|
|
1089
|
+
event,
|
|
1090
|
+
measurementId,
|
|
1091
|
+
adapterParams
|
|
1092
|
+
);
|
|
873
1093
|
break;
|
|
874
1094
|
case "user_engagement" /* USER_ENGAGEMENT */:
|
|
875
|
-
this.trackUserEngagement();
|
|
1095
|
+
this.trackUserEngagement(adapterParams);
|
|
876
1096
|
break;
|
|
877
1097
|
case "session_start" /* SESSION_START */:
|
|
878
|
-
this.trackSessionStart();
|
|
1098
|
+
this.trackSessionStart(adapterParams);
|
|
879
1099
|
break;
|
|
880
1100
|
case "first_visit" /* FIRST_VISIT */:
|
|
881
|
-
this.trackFirstVisit();
|
|
1101
|
+
this.trackFirstVisit(adapterParams);
|
|
882
1102
|
break;
|
|
883
1103
|
case "view_item" /* VIEW_ITEM */:
|
|
884
|
-
this.trackViewItem(event);
|
|
1104
|
+
this.trackViewItem(event, adapterParams);
|
|
885
1105
|
break;
|
|
886
1106
|
case "viewed_product" /* VIEWED_PRODUCT */:
|
|
887
|
-
this.trackViewedProduct(event);
|
|
1107
|
+
this.trackViewedProduct(event, adapterParams);
|
|
888
1108
|
break;
|
|
889
1109
|
case "checkout_payment" /* CHECKOUT_PAYMENT */:
|
|
890
|
-
this.trackCheckoutPayment(
|
|
1110
|
+
this.trackCheckoutPayment(
|
|
1111
|
+
event,
|
|
1112
|
+
adapterParams
|
|
1113
|
+
);
|
|
891
1114
|
break;
|
|
892
1115
|
case "scroll" /* SCROLL */:
|
|
893
|
-
this.trackScroll();
|
|
1116
|
+
this.trackScroll(adapterParams);
|
|
894
1117
|
break;
|
|
895
1118
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
896
|
-
|
|
897
|
-
this.trackAddToCart(event);
|
|
1119
|
+
this.trackAddToCart(event, adapterParams);
|
|
898
1120
|
break;
|
|
899
1121
|
case "form_start" /* FORM_START */:
|
|
900
|
-
this.trackFormStart();
|
|
1122
|
+
this.trackFormStart(adapterParams);
|
|
901
1123
|
break;
|
|
902
1124
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
903
|
-
this.trackCheckoutStarted(
|
|
1125
|
+
this.trackCheckoutStarted(
|
|
1126
|
+
event,
|
|
1127
|
+
adapterParams
|
|
1128
|
+
);
|
|
904
1129
|
break;
|
|
905
1130
|
case "form_submission" /* FORM_SUBMISSION */:
|
|
906
|
-
this.trackFormSubmission(event);
|
|
1131
|
+
this.trackFormSubmission(event, adapterParams);
|
|
907
1132
|
break;
|
|
908
1133
|
case "search" /* SEARCH */:
|
|
909
|
-
this.trackSearch(event);
|
|
1134
|
+
this.trackSearch(event, adapterParams);
|
|
910
1135
|
break;
|
|
911
1136
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
912
|
-
this.trackCheckoutCompleted(
|
|
1137
|
+
this.trackCheckoutCompleted(
|
|
1138
|
+
event,
|
|
1139
|
+
adapterParams
|
|
1140
|
+
);
|
|
913
1141
|
break;
|
|
914
1142
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
915
|
-
this.trackAddPaymentInfo(event);
|
|
1143
|
+
this.trackAddPaymentInfo(event, adapterParams);
|
|
916
1144
|
break;
|
|
917
1145
|
case "view_content" /* VIEW_CONTENT */:
|
|
918
|
-
this.trackViewContent(event);
|
|
1146
|
+
this.trackViewContent(event, adapterParams);
|
|
919
1147
|
break;
|
|
920
1148
|
case "purchase" /* PURCHASE */:
|
|
921
|
-
this.trackPurchase(event);
|
|
1149
|
+
this.trackPurchase(event, adapterParams);
|
|
922
1150
|
break;
|
|
923
1151
|
case "view_search_results" /* VIEW_SEARCH_RESULTS */:
|
|
924
|
-
this.trackViewSearchResults(
|
|
1152
|
+
this.trackViewSearchResults(
|
|
1153
|
+
event,
|
|
1154
|
+
adapterParams
|
|
1155
|
+
);
|
|
925
1156
|
break;
|
|
926
1157
|
case "order_placed" /* ORDER_PLACED */:
|
|
927
|
-
this.trackOrderPlaced(event);
|
|
1158
|
+
this.trackOrderPlaced(event, adapterParams);
|
|
928
1159
|
break;
|
|
929
1160
|
case "begin_checkout" /* BEGIN_CHECKOUT */:
|
|
930
|
-
this.trackBeginCheckout(event);
|
|
1161
|
+
this.trackBeginCheckout(event, adapterParams);
|
|
931
1162
|
break;
|
|
932
1163
|
case "custom" /* CUSTOM */:
|
|
933
|
-
this.trackCustomEvent(event);
|
|
1164
|
+
this.trackCustomEvent(event, adapterParams);
|
|
934
1165
|
break;
|
|
935
1166
|
default: {
|
|
936
|
-
const
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
1167
|
+
const eventName = this.getEventName(adapterParams, event.type);
|
|
1168
|
+
const baseParams = this.eventToParams(event);
|
|
1169
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1170
|
+
const enhancedParams = this.mergeEventData(
|
|
1171
|
+
affiliateParams,
|
|
1172
|
+
adapterParams
|
|
941
1173
|
);
|
|
1174
|
+
window.gtag("event", eventName, enhancedParams);
|
|
942
1175
|
break;
|
|
943
1176
|
}
|
|
944
1177
|
}
|
|
@@ -948,8 +1181,9 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
948
1181
|
* @param event The page view event
|
|
949
1182
|
* @param measurementId The Google Analytics measurement ID
|
|
950
1183
|
*/
|
|
951
|
-
trackPageView(event, measurementId) {
|
|
952
|
-
const
|
|
1184
|
+
trackPageView(event, measurementId, adapterParams) {
|
|
1185
|
+
const eventName = this.getEventName(adapterParams, "page_view");
|
|
1186
|
+
const baseParams = {
|
|
953
1187
|
page_path: event.path,
|
|
954
1188
|
page_title: event.title || document.title,
|
|
955
1189
|
page_location: event.page_location || window.location.href,
|
|
@@ -972,14 +1206,13 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
972
1206
|
user_properties: event.user_properties,
|
|
973
1207
|
session_engaged: event.session_engaged
|
|
974
1208
|
};
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
this.enhanceWithAffiliateParams(params)
|
|
979
|
-
);
|
|
1209
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1210
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1211
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
980
1212
|
}
|
|
981
|
-
trackUserEngagement() {
|
|
982
|
-
const
|
|
1213
|
+
trackUserEngagement(adapterParams) {
|
|
1214
|
+
const eventName = this.getEventName(adapterParams, "user_engagement");
|
|
1215
|
+
const baseParams = {
|
|
983
1216
|
batch_ordering_id: "",
|
|
984
1217
|
batch_page_id: "",
|
|
985
1218
|
campaign: "",
|
|
@@ -996,14 +1229,13 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
996
1229
|
srsltid: "",
|
|
997
1230
|
term: ""
|
|
998
1231
|
};
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
this.enhanceWithAffiliateParams(params)
|
|
1003
|
-
);
|
|
1232
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1233
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1234
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1004
1235
|
}
|
|
1005
|
-
trackSessionStart() {
|
|
1006
|
-
const
|
|
1236
|
+
trackSessionStart(adapterParams) {
|
|
1237
|
+
const eventName = this.getEventName(adapterParams, "session_start");
|
|
1238
|
+
const baseParams = {
|
|
1007
1239
|
batch_ordering_id: "",
|
|
1008
1240
|
batch_page_id: "",
|
|
1009
1241
|
campaign: "",
|
|
@@ -1022,14 +1254,13 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1022
1254
|
srsltid: "",
|
|
1023
1255
|
term: ""
|
|
1024
1256
|
};
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
this.enhanceWithAffiliateParams(params)
|
|
1029
|
-
);
|
|
1257
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1258
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1259
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1030
1260
|
}
|
|
1031
|
-
trackFirstVisit() {
|
|
1032
|
-
const
|
|
1261
|
+
trackFirstVisit(adapterParams) {
|
|
1262
|
+
const eventName = this.getEventName(adapterParams, "first_visit");
|
|
1263
|
+
const baseParams = {
|
|
1033
1264
|
batch_ordering_id: "",
|
|
1034
1265
|
batch_page_id: "",
|
|
1035
1266
|
campaign: "",
|
|
@@ -1050,25 +1281,24 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1050
1281
|
page_source: "",
|
|
1051
1282
|
page_term: ""
|
|
1052
1283
|
};
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
this.enhanceWithAffiliateParams(params)
|
|
1057
|
-
);
|
|
1284
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1285
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1286
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1058
1287
|
}
|
|
1059
|
-
trackViewItem(event) {
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
);
|
|
1288
|
+
trackViewItem(event, adapterParams) {
|
|
1289
|
+
const eventName = this.getEventName(adapterParams, "view_item");
|
|
1290
|
+
const baseParams = {
|
|
1291
|
+
currency: event.currency,
|
|
1292
|
+
value: event.value,
|
|
1293
|
+
items: event.items
|
|
1294
|
+
};
|
|
1295
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1296
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1297
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1069
1298
|
}
|
|
1070
|
-
trackScroll() {
|
|
1071
|
-
const
|
|
1299
|
+
trackScroll(adapterParams) {
|
|
1300
|
+
const eventName = this.getEventName(adapterParams, "scroll");
|
|
1301
|
+
const baseParams = {
|
|
1072
1302
|
batch_ordering_id: "",
|
|
1073
1303
|
batch_page_id: "",
|
|
1074
1304
|
engagement_time_msec: void 0,
|
|
@@ -1082,46 +1312,49 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1082
1312
|
percent_scrolled: 90
|
|
1083
1313
|
// or dynamically captured
|
|
1084
1314
|
};
|
|
1085
|
-
|
|
1315
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1316
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1317
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1086
1318
|
}
|
|
1087
|
-
trackCheckoutPayment(event) {
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
);
|
|
1319
|
+
trackCheckoutPayment(event, adapterParams) {
|
|
1320
|
+
const eventName = this.getEventName(adapterParams, "checkout_payment");
|
|
1321
|
+
const baseParams = {
|
|
1322
|
+
currency: event.currency,
|
|
1323
|
+
value: event.cartValue,
|
|
1324
|
+
items: event.items.map((item) => ({
|
|
1325
|
+
item_id: item.productId,
|
|
1326
|
+
item_name: item.productName,
|
|
1327
|
+
price: item.price,
|
|
1328
|
+
quantity: item.quantity
|
|
1329
|
+
}))
|
|
1330
|
+
};
|
|
1331
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1332
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1333
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1102
1334
|
}
|
|
1103
|
-
trackViewedProduct(event) {
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
);
|
|
1335
|
+
trackViewedProduct(event, adapterParams) {
|
|
1336
|
+
const eventName = this.getEventName(adapterParams, "viewed_product");
|
|
1337
|
+
const baseParams = {
|
|
1338
|
+
currency: event.currency,
|
|
1339
|
+
value: event.price,
|
|
1340
|
+
items: [
|
|
1341
|
+
{
|
|
1342
|
+
item_id: event.productId,
|
|
1343
|
+
item_name: event.productName,
|
|
1344
|
+
price: event.price,
|
|
1345
|
+
currency: event.currency
|
|
1346
|
+
}
|
|
1347
|
+
],
|
|
1348
|
+
view_duration: event.viewDuration
|
|
1349
|
+
};
|
|
1350
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1351
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1352
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1121
1353
|
}
|
|
1122
|
-
trackAddToCart(event) {
|
|
1354
|
+
trackAddToCart(event, adapterParams) {
|
|
1123
1355
|
this.logger.debug("Processing add_to_cart event", { event });
|
|
1124
|
-
const
|
|
1356
|
+
const eventName = this.getEventName(adapterParams, "add_to_cart");
|
|
1357
|
+
const baseParams = {
|
|
1125
1358
|
currency: event.currency || "INR",
|
|
1126
1359
|
value: event.price * (event.quantity || 1),
|
|
1127
1360
|
// Calculate total value
|
|
@@ -1147,14 +1380,17 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1147
1380
|
user_id: event.user_id,
|
|
1148
1381
|
user_properties: event.user_properties
|
|
1149
1382
|
};
|
|
1150
|
-
const
|
|
1383
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1384
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1151
1385
|
this.logger.debug("Sending add_to_cart event to gtag", {
|
|
1386
|
+
eventName,
|
|
1152
1387
|
params: enhancedParams
|
|
1153
1388
|
});
|
|
1154
|
-
window.gtag?.("event",
|
|
1389
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1155
1390
|
}
|
|
1156
|
-
trackFormStart() {
|
|
1157
|
-
const
|
|
1391
|
+
trackFormStart(adapterParams) {
|
|
1392
|
+
const eventName = this.getEventName(adapterParams, "form_start");
|
|
1393
|
+
const baseParams = {
|
|
1158
1394
|
batch_ordering_id: "",
|
|
1159
1395
|
batch_page_id: "",
|
|
1160
1396
|
engagement_time_msec: void 0,
|
|
@@ -1172,14 +1408,13 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1172
1408
|
page_referrer: document.referrer,
|
|
1173
1409
|
page_title: document.title
|
|
1174
1410
|
};
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
this.enhanceWithAffiliateParams(params)
|
|
1179
|
-
);
|
|
1411
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1412
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1413
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1180
1414
|
}
|
|
1181
|
-
trackCheckoutStarted(event) {
|
|
1182
|
-
const
|
|
1415
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
1416
|
+
const eventName = this.getEventName(adapterParams, "begin_checkout");
|
|
1417
|
+
const baseParams = {
|
|
1183
1418
|
batch_ordering_id: "",
|
|
1184
1419
|
batch_page_id: "",
|
|
1185
1420
|
currency: event.currency || "INR",
|
|
@@ -1202,14 +1437,13 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1202
1437
|
item_variant: item.variant
|
|
1203
1438
|
}))
|
|
1204
1439
|
};
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
this.enhanceWithAffiliateParams(params)
|
|
1209
|
-
);
|
|
1440
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1441
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1442
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1210
1443
|
}
|
|
1211
|
-
trackFormSubmission(event) {
|
|
1212
|
-
const
|
|
1444
|
+
trackFormSubmission(event, adapterParams) {
|
|
1445
|
+
const eventName = this.getEventName(adapterParams, "form_submit");
|
|
1446
|
+
const baseParams = {
|
|
1213
1447
|
batch_ordering_id: "",
|
|
1214
1448
|
batch_page_id: "",
|
|
1215
1449
|
engagement_time_msec: void 0,
|
|
@@ -1223,14 +1457,13 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1223
1457
|
page_referrer: document.referrer,
|
|
1224
1458
|
page_title: document.title
|
|
1225
1459
|
};
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
this.enhanceWithAffiliateParams(params)
|
|
1230
|
-
);
|
|
1460
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1461
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1462
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1231
1463
|
}
|
|
1232
|
-
trackSearch(event) {
|
|
1233
|
-
const
|
|
1464
|
+
trackSearch(event, adapterParams) {
|
|
1465
|
+
const eventName = this.getEventName(adapterParams, "search");
|
|
1466
|
+
const baseParams = {
|
|
1234
1467
|
batch_ordering_id: "",
|
|
1235
1468
|
batch_page_id: "",
|
|
1236
1469
|
engagement_time_msec: void 0,
|
|
@@ -1242,14 +1475,17 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1242
1475
|
page_title: document.title,
|
|
1243
1476
|
search_term: event.searchTerm
|
|
1244
1477
|
};
|
|
1245
|
-
|
|
1478
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1479
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1480
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1246
1481
|
}
|
|
1247
1482
|
/**
|
|
1248
1483
|
* Track a checkout completed event
|
|
1249
1484
|
* @param event The checkout completed event
|
|
1250
1485
|
*/
|
|
1251
|
-
trackCheckoutCompleted(event) {
|
|
1252
|
-
const
|
|
1486
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
1487
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
1488
|
+
const baseParams = {
|
|
1253
1489
|
transaction_id: event.orderId,
|
|
1254
1490
|
currency: event.currency || "INR",
|
|
1255
1491
|
value: event.cartValue,
|
|
@@ -1261,22 +1497,28 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1261
1497
|
item_variant: item.variant
|
|
1262
1498
|
}))
|
|
1263
1499
|
};
|
|
1264
|
-
|
|
1500
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1501
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1502
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1265
1503
|
}
|
|
1266
1504
|
/**
|
|
1267
1505
|
* Track a custom event
|
|
1268
1506
|
* @param event The custom event
|
|
1269
1507
|
*/
|
|
1270
|
-
trackCustomEvent(event) {
|
|
1271
|
-
const
|
|
1272
|
-
|
|
1508
|
+
trackCustomEvent(event, adapterParams) {
|
|
1509
|
+
const eventName = this.getEventName(adapterParams, event.name);
|
|
1510
|
+
const baseParams = event.properties || {};
|
|
1511
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1512
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1513
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1273
1514
|
}
|
|
1274
1515
|
/**
|
|
1275
1516
|
* Track an add payment info event
|
|
1276
1517
|
* @param event The add payment info event
|
|
1277
1518
|
*/
|
|
1278
|
-
trackAddPaymentInfo(event) {
|
|
1279
|
-
const
|
|
1519
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
1520
|
+
const eventName = this.getEventName(adapterParams, "add_payment_info");
|
|
1521
|
+
const baseParams = {
|
|
1280
1522
|
currency: event.currency || "INR",
|
|
1281
1523
|
value: event.cartValue,
|
|
1282
1524
|
payment_type: event.paymentType || "",
|
|
@@ -1288,18 +1530,17 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1288
1530
|
item_variant: item.variant
|
|
1289
1531
|
}))
|
|
1290
1532
|
};
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
this.enhanceWithAffiliateParams(params)
|
|
1295
|
-
);
|
|
1533
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1534
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1535
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1296
1536
|
}
|
|
1297
1537
|
/**
|
|
1298
1538
|
* Track a view content event
|
|
1299
1539
|
* @param event The view content event
|
|
1300
1540
|
*/
|
|
1301
|
-
trackViewContent(event) {
|
|
1302
|
-
const
|
|
1541
|
+
trackViewContent(event, adapterParams) {
|
|
1542
|
+
const eventName = this.getEventName(adapterParams, "view_item");
|
|
1543
|
+
const baseParams = {
|
|
1303
1544
|
currency: event.currency || "USD",
|
|
1304
1545
|
value: event.value || 0,
|
|
1305
1546
|
items: event.items?.map((item) => ({
|
|
@@ -1328,18 +1569,17 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1328
1569
|
user_id: event.user_id,
|
|
1329
1570
|
user_properties: event.user_properties
|
|
1330
1571
|
};
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
this.enhanceWithAffiliateParams(params)
|
|
1335
|
-
);
|
|
1572
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1573
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1574
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1336
1575
|
}
|
|
1337
1576
|
/**
|
|
1338
1577
|
* Track a purchase event
|
|
1339
1578
|
* @param event The purchase event
|
|
1340
1579
|
*/
|
|
1341
|
-
trackPurchase(event) {
|
|
1342
|
-
const
|
|
1580
|
+
trackPurchase(event, adapterParams) {
|
|
1581
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
1582
|
+
const baseParams = {
|
|
1343
1583
|
transaction_id: event.transaction_id,
|
|
1344
1584
|
value: event.value,
|
|
1345
1585
|
currency: event.currency || "USD",
|
|
@@ -1372,14 +1612,17 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1372
1612
|
user_id: event.user_id,
|
|
1373
1613
|
user_properties: event.user_properties
|
|
1374
1614
|
};
|
|
1375
|
-
|
|
1615
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1616
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1617
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1376
1618
|
}
|
|
1377
1619
|
/**
|
|
1378
1620
|
* Track a view search results event
|
|
1379
1621
|
* @param event The view search results event
|
|
1380
1622
|
*/
|
|
1381
|
-
trackViewSearchResults(event) {
|
|
1382
|
-
const
|
|
1623
|
+
trackViewSearchResults(event, adapterParams) {
|
|
1624
|
+
const eventName = this.getEventName(adapterParams, "view_search_results");
|
|
1625
|
+
const baseParams = {
|
|
1383
1626
|
search_term: event.search_term,
|
|
1384
1627
|
// GA4-specific parameters
|
|
1385
1628
|
batch_ordering_id: event.batch_ordering_id || "",
|
|
@@ -1394,18 +1637,17 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1394
1637
|
user_id: event.user_id,
|
|
1395
1638
|
user_properties: event.user_properties
|
|
1396
1639
|
};
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
this.enhanceWithAffiliateParams(params)
|
|
1401
|
-
);
|
|
1640
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1641
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1642
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1402
1643
|
}
|
|
1403
1644
|
/**
|
|
1404
1645
|
* Track an order placed event
|
|
1405
1646
|
* @param event The order placed event
|
|
1406
1647
|
*/
|
|
1407
|
-
trackOrderPlaced(event) {
|
|
1408
|
-
const
|
|
1648
|
+
trackOrderPlaced(event, adapterParams) {
|
|
1649
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
1650
|
+
const baseParams = {
|
|
1409
1651
|
transaction_id: event.order_id,
|
|
1410
1652
|
value: event.total_amount,
|
|
1411
1653
|
currency: event.currency || "USD",
|
|
@@ -1431,14 +1673,17 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1431
1673
|
user_id: event.user_id,
|
|
1432
1674
|
user_properties: event.user_properties
|
|
1433
1675
|
};
|
|
1434
|
-
|
|
1676
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1677
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1678
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1435
1679
|
}
|
|
1436
1680
|
/**
|
|
1437
1681
|
* Track a begin checkout event
|
|
1438
1682
|
* @param event The begin checkout event
|
|
1439
1683
|
*/
|
|
1440
|
-
trackBeginCheckout(event) {
|
|
1441
|
-
const
|
|
1684
|
+
trackBeginCheckout(event, adapterParams) {
|
|
1685
|
+
const eventName = this.getEventName(adapterParams, "begin_checkout");
|
|
1686
|
+
const baseParams = {
|
|
1442
1687
|
currency: event.currency || "USD",
|
|
1443
1688
|
value: event.value || 0,
|
|
1444
1689
|
coupon: event.coupon,
|
|
@@ -1468,11 +1713,9 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1468
1713
|
user_id: event.user_id,
|
|
1469
1714
|
user_properties: event.user_properties
|
|
1470
1715
|
};
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
this.enhanceWithAffiliateParams(params)
|
|
1475
|
-
);
|
|
1716
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1717
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
1718
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1476
1719
|
}
|
|
1477
1720
|
/**
|
|
1478
1721
|
* Convert an event to Google Analytics parameters
|
|
@@ -1502,44 +1745,9 @@ var EventNames = {
|
|
|
1502
1745
|
SEARCH: "Search",
|
|
1503
1746
|
// User events
|
|
1504
1747
|
USER_SIGNED_UP: "User Signed Up",
|
|
1505
|
-
USER_LOGGED_IN: "User Logged In"
|
|
1506
|
-
// MoEngage events
|
|
1507
|
-
ITEM_PURCHASED: "Item Purchased",
|
|
1508
|
-
UPDATE_CART: "Update Cart",
|
|
1509
|
-
CUSTOMER_REGISTERED: "Customer Registered",
|
|
1510
|
-
CUSTOMER_LOGGED_IN: "Customer Logged In",
|
|
1511
|
-
SHOPIFY_CHECKOUT_UPDATED: "Shopify - Checkout Updated",
|
|
1512
|
-
SHOPIFY_ABANDONED_CHECKOUT: "Shopify - Abandoned Checkout",
|
|
1513
|
-
SHOPIFY_ORDER_FULFILLED: "Shopify - Order Fulfilled",
|
|
1514
|
-
SHOPIFY_CHECKOUT_STARTED: "Shopify - Checkout Started",
|
|
1515
|
-
SHOPIFY_ADD_TO_CART: "Shopify - Add To Cart",
|
|
1516
|
-
SHOPIFY_REMOVED_FROM_CART: "Shopify - Removed From Cart",
|
|
1517
|
-
SHOPIFY_UPDATE_CART: "Shopify - Update Cart",
|
|
1518
|
-
SPINFORM_RESULT: "Spinform Result",
|
|
1519
|
-
COUPON_COPIED: "Coupon Copied",
|
|
1520
|
-
STARTED_CHECKOUT_GK: "Started Checkout GK",
|
|
1521
|
-
MOBILE_ADDED_GK: "Mobile Added GK",
|
|
1522
|
-
ADDRESS_SELECTED_GK: "Address Selected GK",
|
|
1523
|
-
ADDRESS_COMPLETED_GK: "Address Completed GK",
|
|
1524
|
-
PAYMENT_METHOD_SELECTED_GK: "Payment Method Selected GK",
|
|
1525
|
-
PAYMENT_COMPLETED_GK: "Payment Completed GK",
|
|
1526
|
-
ORDER_SUCCESS: "Order Success",
|
|
1527
|
-
ORDER_COMPLETED: "Order Completed",
|
|
1528
|
-
PIN_CODE_ADDED_GK: "PIN Code Added GK",
|
|
1529
|
-
ADDRESS_ADDED_GK: "Address Added GK",
|
|
1530
|
-
KP_MP_PHONE_NUMBER_LOGGED_IN: "KP MP Phone Number Logged In",
|
|
1531
|
-
KP_PHONE_NUMBER_LOGGED_IN: "KP Phone Number Logged In",
|
|
1532
|
-
KP_MP_SHOPIFY_LOGGED_IN: "KP MP Shopify Logged In",
|
|
1533
|
-
KP_MP_SUCCESSFULLY_LOGGED_OUT: "KP MP Successfully Logged Out",
|
|
1534
|
-
KP_WHATSAPP_LOGGED_IN: "KP Whatsapp Logged In",
|
|
1535
|
-
KP_MP_TRUECALLER_LOGGED_IN: "KP MP Truecaller Logged In",
|
|
1536
|
-
KP_MP_WHATSAPP_LOGGED_IN: "KP MP Whatsapp Logged In",
|
|
1537
|
-
KP_TRUECALLER_LOGGED_IN: "KP Truecaller Logged In",
|
|
1538
|
-
KP_SHOPIFY_LOGGED_IN: "KP Shopify Logged In",
|
|
1539
|
-
KP_SUCCESSFULLY_LOGGED_OUT: "KP Successfully Logged Out"
|
|
1748
|
+
USER_LOGGED_IN: "User Logged In"
|
|
1540
1749
|
};
|
|
1541
1750
|
var DEFAULT_CURRENCY = "INR";
|
|
1542
|
-
var HARDCODED_HANDLE = "ryze-gums";
|
|
1543
1751
|
|
|
1544
1752
|
// src/adapters/moengage-adapter.ts
|
|
1545
1753
|
var import_web_sdk = __toESM(require("@moengage/web-sdk"));
|
|
@@ -1591,8 +1799,9 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1591
1799
|
/**
|
|
1592
1800
|
* Track an event with MoenGage SDK
|
|
1593
1801
|
* @param event The event to track
|
|
1802
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1594
1803
|
*/
|
|
1595
|
-
async trackEvent(event) {
|
|
1804
|
+
async trackEvent(event, adapterParams) {
|
|
1596
1805
|
if (!this.initialized || typeof window === "undefined" || !this.sdk) {
|
|
1597
1806
|
this.logger.warn(
|
|
1598
1807
|
"Cannot track event, adapter not initialized or SDK not available",
|
|
@@ -1608,106 +1817,147 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1608
1817
|
this.logger.debug("Tracking event", { eventType: event.type });
|
|
1609
1818
|
switch (event.type) {
|
|
1610
1819
|
case "page_view" /* PAGE_VIEW */:
|
|
1611
|
-
this.trackPageView(event);
|
|
1820
|
+
this.trackPageView(event, adapterParams);
|
|
1612
1821
|
break;
|
|
1613
1822
|
case "button_click" /* BUTTON_CLICK */:
|
|
1614
|
-
this.trackButtonClick(event);
|
|
1823
|
+
this.trackButtonClick(event, adapterParams);
|
|
1615
1824
|
break;
|
|
1616
1825
|
case "form_submission" /* FORM_SUBMISSION */:
|
|
1617
|
-
this.trackFormSubmission(event);
|
|
1826
|
+
this.trackFormSubmission(event, adapterParams);
|
|
1618
1827
|
break;
|
|
1619
1828
|
case "product_view" /* PRODUCT_VIEW */:
|
|
1620
|
-
this.trackProductView(event);
|
|
1829
|
+
this.trackProductView(event, adapterParams);
|
|
1621
1830
|
break;
|
|
1622
1831
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
1623
|
-
this.trackAddToCart(event);
|
|
1832
|
+
this.trackAddToCart(event, adapterParams);
|
|
1624
1833
|
break;
|
|
1625
1834
|
case "remove_from_cart" /* REMOVE_FROM_CART */:
|
|
1626
|
-
this.trackRemoveFromCart(event);
|
|
1835
|
+
this.trackRemoveFromCart(event, adapterParams);
|
|
1627
1836
|
break;
|
|
1628
1837
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
1629
|
-
this.trackCheckoutStarted(
|
|
1838
|
+
this.trackCheckoutStarted(
|
|
1839
|
+
event,
|
|
1840
|
+
adapterParams
|
|
1841
|
+
);
|
|
1630
1842
|
break;
|
|
1631
1843
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
1632
|
-
this.trackCheckoutCompleted(
|
|
1844
|
+
this.trackCheckoutCompleted(
|
|
1845
|
+
event,
|
|
1846
|
+
adapterParams
|
|
1847
|
+
);
|
|
1633
1848
|
break;
|
|
1634
1849
|
case "search" /* SEARCH */:
|
|
1635
|
-
this.trackSearch(event);
|
|
1850
|
+
this.trackSearch(event, adapterParams);
|
|
1636
1851
|
break;
|
|
1637
1852
|
case "user_signup" /* USER_SIGNUP */:
|
|
1638
|
-
this.trackUserSignup(event);
|
|
1853
|
+
this.trackUserSignup(event, adapterParams);
|
|
1639
1854
|
break;
|
|
1640
1855
|
case "user_login" /* USER_LOGIN */:
|
|
1641
|
-
this.trackUserLogin(event);
|
|
1856
|
+
this.trackUserLogin(event, adapterParams);
|
|
1642
1857
|
break;
|
|
1643
1858
|
case "custom" /* CUSTOM */:
|
|
1644
|
-
this.trackCustomEvent(event);
|
|
1859
|
+
this.trackCustomEvent(event, adapterParams);
|
|
1645
1860
|
break;
|
|
1646
1861
|
default:
|
|
1647
|
-
this.
|
|
1862
|
+
const eventName = this.getEventName(adapterParams, event.type);
|
|
1863
|
+
const baseParams = this.eventToParams(event);
|
|
1864
|
+
const enhancedParams = this.mergeEventData(baseParams, adapterParams);
|
|
1865
|
+
this.sdk.track_event(eventName, enhancedParams);
|
|
1648
1866
|
break;
|
|
1649
1867
|
}
|
|
1650
1868
|
}
|
|
1651
1869
|
/**
|
|
1652
1870
|
* Track a page view event
|
|
1653
1871
|
* @param event The page view event
|
|
1872
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1654
1873
|
*/
|
|
1655
|
-
trackPageView(event) {
|
|
1874
|
+
trackPageView(event, adapterParams) {
|
|
1656
1875
|
if (!this.sdk?.track_event) {
|
|
1657
1876
|
this.logger.warn("track_event not available for PageView event");
|
|
1658
1877
|
return;
|
|
1659
1878
|
}
|
|
1660
|
-
const
|
|
1879
|
+
const eventName = this.getEventName(adapterParams, EventNames.PAGE_VIEWED);
|
|
1880
|
+
const baseEventData = {
|
|
1661
1881
|
page_path: event.path,
|
|
1662
1882
|
page_title: event.title,
|
|
1663
1883
|
page_url: window.location.href,
|
|
1664
1884
|
referrer: event.referrer || document.referrer
|
|
1665
1885
|
};
|
|
1666
|
-
this.
|
|
1667
|
-
this.
|
|
1886
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
1887
|
+
this.sdk.track_event(eventName, enhancedEventData);
|
|
1888
|
+
this.logger.debug("PageView event tracked", {
|
|
1889
|
+
eventName,
|
|
1890
|
+
eventData: enhancedEventData
|
|
1891
|
+
});
|
|
1668
1892
|
}
|
|
1669
1893
|
/**
|
|
1670
1894
|
* Track a button click event
|
|
1671
1895
|
* @param event The button click event
|
|
1896
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1672
1897
|
*/
|
|
1673
|
-
trackButtonClick(event) {
|
|
1674
|
-
this.
|
|
1898
|
+
trackButtonClick(event, adapterParams) {
|
|
1899
|
+
const eventName = this.getEventName(
|
|
1900
|
+
adapterParams,
|
|
1901
|
+
EventNames.BUTTON_CLICKED
|
|
1902
|
+
);
|
|
1903
|
+
const baseEventData = {
|
|
1675
1904
|
button_id: event.buttonId,
|
|
1676
1905
|
button_text: event.buttonText,
|
|
1677
1906
|
location: event.location
|
|
1678
|
-
}
|
|
1907
|
+
};
|
|
1908
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
1909
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1679
1910
|
}
|
|
1680
1911
|
/**
|
|
1681
1912
|
* Track a form submission event
|
|
1682
1913
|
* @param event The form submission event
|
|
1914
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1683
1915
|
*/
|
|
1684
|
-
trackFormSubmission(event) {
|
|
1685
|
-
this.
|
|
1916
|
+
trackFormSubmission(event, adapterParams) {
|
|
1917
|
+
const eventName = this.getEventName(
|
|
1918
|
+
adapterParams,
|
|
1919
|
+
EventNames.FORM_SUBMITTED
|
|
1920
|
+
);
|
|
1921
|
+
const baseEventData = {
|
|
1686
1922
|
form_id: event.formId,
|
|
1687
1923
|
form_name: event.formName,
|
|
1688
1924
|
success: event.success
|
|
1689
|
-
}
|
|
1925
|
+
};
|
|
1926
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
1927
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1690
1928
|
}
|
|
1691
1929
|
/**
|
|
1692
1930
|
* Track a product view event
|
|
1693
1931
|
* @param event The product view event
|
|
1932
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1694
1933
|
*/
|
|
1695
|
-
trackProductView(event) {
|
|
1696
|
-
this.
|
|
1934
|
+
trackProductView(event, adapterParams) {
|
|
1935
|
+
const eventName = this.getEventName(
|
|
1936
|
+
adapterParams,
|
|
1937
|
+
EventNames.PRODUCT_VIEWED
|
|
1938
|
+
);
|
|
1939
|
+
const baseEventData = {
|
|
1697
1940
|
product_id: event.productId,
|
|
1698
1941
|
product_name: event.productName,
|
|
1699
1942
|
price: event.price,
|
|
1700
1943
|
currency: event.currency || DEFAULT_CURRENCY,
|
|
1701
1944
|
category: event.category
|
|
1702
|
-
}
|
|
1945
|
+
};
|
|
1946
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
1947
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1703
1948
|
}
|
|
1704
1949
|
/**
|
|
1705
1950
|
* Track an add to cart event
|
|
1706
1951
|
* @param event The add to cart event
|
|
1952
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1707
1953
|
*/
|
|
1708
|
-
trackAddToCart(event) {
|
|
1954
|
+
trackAddToCart(event, adapterParams) {
|
|
1709
1955
|
const quantity = event.quantity ?? 1;
|
|
1710
|
-
this.
|
|
1956
|
+
const eventName = this.getEventName(
|
|
1957
|
+
adapterParams,
|
|
1958
|
+
EventNames.ADDED_TO_CART
|
|
1959
|
+
);
|
|
1960
|
+
const baseEventData = {
|
|
1711
1961
|
product_id: event.productId,
|
|
1712
1962
|
product_name: event.productName,
|
|
1713
1963
|
price: event.price,
|
|
@@ -1715,14 +1965,21 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1715
1965
|
quantity,
|
|
1716
1966
|
variant: event.variant,
|
|
1717
1967
|
total_value: event.price * quantity
|
|
1718
|
-
}
|
|
1968
|
+
};
|
|
1969
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
1970
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1719
1971
|
}
|
|
1720
1972
|
/**
|
|
1721
1973
|
* Track a remove from cart event
|
|
1722
1974
|
* @param event The remove from cart event
|
|
1975
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1723
1976
|
*/
|
|
1724
|
-
trackRemoveFromCart(event) {
|
|
1725
|
-
this.
|
|
1977
|
+
trackRemoveFromCart(event, adapterParams) {
|
|
1978
|
+
const eventName = this.getEventName(
|
|
1979
|
+
adapterParams,
|
|
1980
|
+
EventNames.REMOVED_FROM_CART
|
|
1981
|
+
);
|
|
1982
|
+
const baseEventData = {
|
|
1726
1983
|
product_id: event.productId,
|
|
1727
1984
|
product_name: event.productName,
|
|
1728
1985
|
price: event.price,
|
|
@@ -1730,14 +1987,21 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1730
1987
|
quantity: event.quantity,
|
|
1731
1988
|
variant: event.variant,
|
|
1732
1989
|
total_value: event.price * event.quantity
|
|
1733
|
-
}
|
|
1990
|
+
};
|
|
1991
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
1992
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1734
1993
|
}
|
|
1735
1994
|
/**
|
|
1736
1995
|
* Track a checkout started event
|
|
1737
1996
|
* @param event The checkout started event
|
|
1997
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1738
1998
|
*/
|
|
1739
|
-
trackCheckoutStarted(event) {
|
|
1740
|
-
this.
|
|
1999
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
2000
|
+
const eventName = this.getEventName(
|
|
2001
|
+
adapterParams,
|
|
2002
|
+
EventNames.CHECKOUT_STARTED
|
|
2003
|
+
);
|
|
2004
|
+
const baseEventData = {
|
|
1741
2005
|
cart_value: event.cartValue,
|
|
1742
2006
|
currency: event.currency || DEFAULT_CURRENCY,
|
|
1743
2007
|
item_count: event.itemCount,
|
|
@@ -1748,14 +2012,21 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1748
2012
|
quantity: item.quantity,
|
|
1749
2013
|
variant: item.variant
|
|
1750
2014
|
}))
|
|
1751
|
-
}
|
|
2015
|
+
};
|
|
2016
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
2017
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1752
2018
|
}
|
|
1753
2019
|
/**
|
|
1754
2020
|
* Track a checkout completed event
|
|
1755
2021
|
* @param event The checkout completed event
|
|
2022
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1756
2023
|
*/
|
|
1757
|
-
trackCheckoutCompleted(event) {
|
|
1758
|
-
this.
|
|
2024
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
2025
|
+
const eventName = this.getEventName(
|
|
2026
|
+
adapterParams,
|
|
2027
|
+
EventNames.PURCHASE_COMPLETED
|
|
2028
|
+
);
|
|
2029
|
+
const baseEventData = {
|
|
1759
2030
|
order_id: event.orderId,
|
|
1760
2031
|
cart_value: event.cartValue,
|
|
1761
2032
|
currency: event.currency || DEFAULT_CURRENCY,
|
|
@@ -1767,28 +2038,41 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1767
2038
|
quantity: item.quantity,
|
|
1768
2039
|
variant: item.variant
|
|
1769
2040
|
}))
|
|
1770
|
-
}
|
|
2041
|
+
};
|
|
2042
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
2043
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1771
2044
|
}
|
|
1772
2045
|
/**
|
|
1773
2046
|
* Track a search event
|
|
1774
2047
|
* @param event The search event
|
|
2048
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1775
2049
|
*/
|
|
1776
|
-
trackSearch(event) {
|
|
1777
|
-
this.
|
|
2050
|
+
trackSearch(event, adapterParams) {
|
|
2051
|
+
const eventName = this.getEventName(adapterParams, EventNames.SEARCH);
|
|
2052
|
+
const baseEventData = {
|
|
1778
2053
|
search_term: event.searchTerm,
|
|
1779
2054
|
results_count: event.resultsCount
|
|
1780
|
-
}
|
|
2055
|
+
};
|
|
2056
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
2057
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1781
2058
|
}
|
|
1782
2059
|
/**
|
|
1783
2060
|
* Track a user signup event
|
|
1784
2061
|
* @param event The user signup event
|
|
2062
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1785
2063
|
*/
|
|
1786
|
-
trackUserSignup(event) {
|
|
1787
|
-
this.
|
|
2064
|
+
trackUserSignup(event, adapterParams) {
|
|
2065
|
+
const eventName = this.getEventName(
|
|
2066
|
+
adapterParams,
|
|
2067
|
+
EventNames.USER_SIGNED_UP
|
|
2068
|
+
);
|
|
2069
|
+
const baseEventData = {
|
|
1788
2070
|
user_id: event.userId,
|
|
1789
2071
|
method: event.method,
|
|
1790
2072
|
success: event.success
|
|
1791
|
-
}
|
|
2073
|
+
};
|
|
2074
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
2075
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1792
2076
|
if (event.userId && this.getConfig("enableUserIdentification", true)) {
|
|
1793
2077
|
this.sdk?.add_unique_user_id(event.userId);
|
|
1794
2078
|
}
|
|
@@ -1796,13 +2080,20 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1796
2080
|
/**
|
|
1797
2081
|
* Track a user login event
|
|
1798
2082
|
* @param event The user login event
|
|
2083
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1799
2084
|
*/
|
|
1800
|
-
trackUserLogin(event) {
|
|
1801
|
-
this.
|
|
2085
|
+
trackUserLogin(event, adapterParams) {
|
|
2086
|
+
const eventName = this.getEventName(
|
|
2087
|
+
adapterParams,
|
|
2088
|
+
EventNames.USER_LOGGED_IN
|
|
2089
|
+
);
|
|
2090
|
+
const baseEventData = {
|
|
1802
2091
|
user_id: event.userId,
|
|
1803
2092
|
method: event.method,
|
|
1804
2093
|
success: event.success
|
|
1805
|
-
}
|
|
2094
|
+
};
|
|
2095
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
2096
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1806
2097
|
if (event.userId && this.getConfig("enableUserIdentification", true)) {
|
|
1807
2098
|
this.sdk?.add_unique_user_id(event.userId);
|
|
1808
2099
|
}
|
|
@@ -1810,9 +2101,13 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1810
2101
|
/**
|
|
1811
2102
|
* Track a custom event
|
|
1812
2103
|
* @param event The custom event
|
|
2104
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1813
2105
|
*/
|
|
1814
|
-
trackCustomEvent(event) {
|
|
1815
|
-
this.
|
|
2106
|
+
trackCustomEvent(event, adapterParams) {
|
|
2107
|
+
const eventName = this.getEventName(adapterParams, event.name);
|
|
2108
|
+
const baseEventData = event.properties || {};
|
|
2109
|
+
const enhancedEventData = this.mergeEventData(baseEventData, adapterParams);
|
|
2110
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1816
2111
|
}
|
|
1817
2112
|
/**
|
|
1818
2113
|
* Convert an event to MoenGage parameters
|
|
@@ -1899,8 +2194,9 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1899
2194
|
/**
|
|
1900
2195
|
* Track an event with PostHog
|
|
1901
2196
|
* @param event The event to track
|
|
2197
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1902
2198
|
*/
|
|
1903
|
-
async trackEvent(event) {
|
|
2199
|
+
async trackEvent(event, adapterParams) {
|
|
1904
2200
|
if (!this.initialized || typeof window === "undefined" || !window.posthog) {
|
|
1905
2201
|
this.logger.warn(
|
|
1906
2202
|
"Cannot track event, adapter not initialized or posthog not available",
|
|
@@ -1916,74 +2212,81 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1916
2212
|
this.logger.debug("Tracking event", { eventType: event.type });
|
|
1917
2213
|
switch (event.type) {
|
|
1918
2214
|
case "page_view" /* PAGE_VIEW */:
|
|
1919
|
-
this.trackPageView(event);
|
|
2215
|
+
this.trackPageView(event, adapterParams);
|
|
1920
2216
|
break;
|
|
1921
2217
|
case "product_view" /* PRODUCT_VIEW */:
|
|
1922
|
-
this.trackProductView(event);
|
|
2218
|
+
this.trackProductView(event, adapterParams);
|
|
1923
2219
|
break;
|
|
1924
2220
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
1925
|
-
this.trackAddToCart(event);
|
|
2221
|
+
this.trackAddToCart(event, adapterParams);
|
|
1926
2222
|
break;
|
|
1927
2223
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
1928
|
-
this.trackCheckoutStarted(event);
|
|
2224
|
+
this.trackCheckoutStarted(event, adapterParams);
|
|
1929
2225
|
break;
|
|
1930
2226
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
1931
|
-
this.trackCheckoutCompleted(event);
|
|
2227
|
+
this.trackCheckoutCompleted(event, adapterParams);
|
|
1932
2228
|
break;
|
|
1933
2229
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
1934
|
-
this.trackAddPaymentInfo(event);
|
|
2230
|
+
this.trackAddPaymentInfo(event, adapterParams);
|
|
1935
2231
|
break;
|
|
1936
2232
|
case "search" /* SEARCH */:
|
|
1937
|
-
this.trackSearch(event);
|
|
2233
|
+
this.trackSearch(event, adapterParams);
|
|
1938
2234
|
break;
|
|
1939
2235
|
default:
|
|
1940
|
-
const
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
2236
|
+
const eventName = this.getEventName(adapterParams, event.type);
|
|
2237
|
+
const baseParams = this.eventToParams(event);
|
|
2238
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2239
|
+
const enhancedParams = this.mergeEventData(
|
|
2240
|
+
affiliateParams,
|
|
2241
|
+
adapterParams
|
|
1944
2242
|
);
|
|
2243
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1945
2244
|
break;
|
|
1946
2245
|
}
|
|
1947
2246
|
}
|
|
1948
2247
|
/**
|
|
1949
2248
|
* Track a page view event
|
|
1950
2249
|
* @param event The page view event
|
|
2250
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1951
2251
|
*/
|
|
1952
|
-
trackPageView(event) {
|
|
1953
|
-
const
|
|
2252
|
+
trackPageView(event, adapterParams) {
|
|
2253
|
+
const eventName = this.getEventName(adapterParams, "$pageview");
|
|
2254
|
+
const baseParams = {
|
|
1954
2255
|
path: event.path,
|
|
1955
2256
|
title: event.title,
|
|
1956
2257
|
referrer: event.referrer
|
|
1957
2258
|
};
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
);
|
|
2259
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2260
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
2261
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1962
2262
|
}
|
|
1963
2263
|
/**
|
|
1964
2264
|
* Track a product view event
|
|
1965
2265
|
* @param event The product view event
|
|
2266
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1966
2267
|
*/
|
|
1967
|
-
trackProductView(event) {
|
|
1968
|
-
const
|
|
2268
|
+
trackProductView(event, adapterParams) {
|
|
2269
|
+
const eventName = this.getEventName(adapterParams, "product_viewed");
|
|
2270
|
+
const baseParams = {
|
|
1969
2271
|
product_id: event.productId,
|
|
1970
2272
|
product_name: event.productName,
|
|
1971
2273
|
category: event.category,
|
|
1972
2274
|
price: event.price,
|
|
1973
2275
|
currency: event.currency || "INR"
|
|
1974
2276
|
};
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
);
|
|
2277
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2278
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
2279
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1979
2280
|
}
|
|
1980
2281
|
/**
|
|
1981
2282
|
* Track an add to cart event
|
|
1982
2283
|
* @param event The add to cart event
|
|
2284
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1983
2285
|
*/
|
|
1984
|
-
trackAddToCart(event) {
|
|
2286
|
+
trackAddToCart(event, adapterParams) {
|
|
1985
2287
|
this.logger.debug("Handling ADD_TO_CART event", { event });
|
|
1986
|
-
const
|
|
2288
|
+
const eventName = this.getEventName(adapterParams, "add_to_cart");
|
|
2289
|
+
const baseParams = {
|
|
1987
2290
|
product_id: event.productId,
|
|
1988
2291
|
product_name: event.productName,
|
|
1989
2292
|
price: event.price,
|
|
@@ -1991,23 +2294,27 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1991
2294
|
quantity: event.quantity,
|
|
1992
2295
|
variant: event.variant
|
|
1993
2296
|
};
|
|
1994
|
-
this.
|
|
2297
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2298
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
2299
|
+
this.logger.debug("Sending to PostHog with params", {
|
|
2300
|
+
eventName,
|
|
2301
|
+
params: enhancedParams
|
|
2302
|
+
});
|
|
1995
2303
|
if (!window.posthog) {
|
|
1996
2304
|
this.logger.error("window.posthog is not available");
|
|
1997
2305
|
return;
|
|
1998
2306
|
}
|
|
1999
|
-
window.posthog.capture(
|
|
2000
|
-
"add_to_cart",
|
|
2001
|
-
this.enhanceWithAffiliateParams(params)
|
|
2002
|
-
);
|
|
2307
|
+
window.posthog.capture(eventName, enhancedParams);
|
|
2003
2308
|
this.logger.debug("Event sent to PostHog successfully");
|
|
2004
2309
|
}
|
|
2005
2310
|
/**
|
|
2006
2311
|
* Track a checkout started event
|
|
2007
2312
|
* @param event The checkout started event
|
|
2313
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2008
2314
|
*/
|
|
2009
|
-
trackCheckoutStarted(event) {
|
|
2010
|
-
const
|
|
2315
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
2316
|
+
const eventName = this.getEventName(adapterParams, "checkout_started");
|
|
2317
|
+
const baseParams = {
|
|
2011
2318
|
cart_value: event.cartValue,
|
|
2012
2319
|
currency: event.currency || "INR",
|
|
2013
2320
|
item_count: event.itemCount,
|
|
@@ -2019,17 +2326,18 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
2019
2326
|
variant: item.variant
|
|
2020
2327
|
}))
|
|
2021
2328
|
};
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
);
|
|
2329
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2330
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
2331
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
2026
2332
|
}
|
|
2027
2333
|
/**
|
|
2028
2334
|
* Track a checkout completed event
|
|
2029
2335
|
* @param event The checkout completed event
|
|
2336
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2030
2337
|
*/
|
|
2031
|
-
trackCheckoutCompleted(event) {
|
|
2032
|
-
const
|
|
2338
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
2339
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
2340
|
+
const baseParams = {
|
|
2033
2341
|
order_id: event.orderId,
|
|
2034
2342
|
cart_value: event.cartValue,
|
|
2035
2343
|
currency: event.currency || "INR",
|
|
@@ -2042,29 +2350,34 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
2042
2350
|
variant: item.variant
|
|
2043
2351
|
}))
|
|
2044
2352
|
};
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
);
|
|
2353
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2354
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
2355
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
2049
2356
|
}
|
|
2050
2357
|
/**
|
|
2051
2358
|
* Track a search event
|
|
2052
2359
|
* @param event The search event
|
|
2360
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2053
2361
|
*/
|
|
2054
|
-
trackSearch(event) {
|
|
2055
|
-
const
|
|
2362
|
+
trackSearch(event, adapterParams) {
|
|
2363
|
+
const eventName = this.getEventName(adapterParams, "search");
|
|
2364
|
+
const baseParams = {
|
|
2056
2365
|
search_term: event.searchTerm,
|
|
2057
2366
|
results_count: event.resultsCount,
|
|
2058
2367
|
content_ids: event.content_ids
|
|
2059
2368
|
};
|
|
2060
|
-
|
|
2369
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2370
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
2371
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
2061
2372
|
}
|
|
2062
2373
|
/**
|
|
2063
2374
|
* Track an add payment info event
|
|
2064
2375
|
* @param event The add payment info event
|
|
2376
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2065
2377
|
*/
|
|
2066
|
-
trackAddPaymentInfo(event) {
|
|
2067
|
-
const
|
|
2378
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
2379
|
+
const eventName = this.getEventName(adapterParams, "add_payment_info");
|
|
2380
|
+
const baseParams = {
|
|
2068
2381
|
cart_value: event.cartValue,
|
|
2069
2382
|
currency: event.currency || "INR",
|
|
2070
2383
|
payment_type: event.paymentType,
|
|
@@ -2077,10 +2390,9 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
2077
2390
|
variant: item.variant
|
|
2078
2391
|
}))
|
|
2079
2392
|
};
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
);
|
|
2393
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2394
|
+
const enhancedParams = this.mergeEventData(affiliateParams, adapterParams);
|
|
2395
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
2084
2396
|
}
|
|
2085
2397
|
/**
|
|
2086
2398
|
* Convert an event to PostHog parameters
|
|
@@ -2205,37 +2517,56 @@ var ShopifyAdapter = class extends BaseAdapter {
|
|
|
2205
2517
|
/**
|
|
2206
2518
|
* Track an event using Shopify Analytics
|
|
2207
2519
|
*/
|
|
2208
|
-
async trackEvent(event) {
|
|
2520
|
+
async trackEvent(event, adapterParams) {
|
|
2209
2521
|
if (!this.initialized || typeof window === "undefined") {
|
|
2210
2522
|
this.logger.warn(
|
|
2211
2523
|
"Shopify Analytics not initialized or not in browser environment"
|
|
2212
2524
|
);
|
|
2213
2525
|
return;
|
|
2214
2526
|
}
|
|
2527
|
+
const params = this.getAdapterParams(adapterParams);
|
|
2528
|
+
const customEventName = this.getEventName(params, event.type);
|
|
2215
2529
|
this.logger.debug("Processing Shopify Analytics event", {
|
|
2216
2530
|
eventType: event.type,
|
|
2217
|
-
|
|
2531
|
+
customEventName,
|
|
2532
|
+
eventData: event,
|
|
2533
|
+
adapterParams: params
|
|
2218
2534
|
});
|
|
2219
2535
|
try {
|
|
2220
2536
|
switch (event.type) {
|
|
2221
2537
|
case "page_view" /* PAGE_VIEW */:
|
|
2222
|
-
this.
|
|
2223
|
-
this.
|
|
2538
|
+
const pageViewPayload = this.mergeEventData({}, params);
|
|
2539
|
+
this.sendPageView(import_hydrogen_react.AnalyticsEventName.PAGE_VIEW, pageViewPayload);
|
|
2540
|
+
this.logger.debug("Sent PAGE_VIEW event to Shopify Analytics", {
|
|
2541
|
+
payload: pageViewPayload
|
|
2542
|
+
});
|
|
2224
2543
|
break;
|
|
2225
2544
|
case "view_content" /* VIEW_CONTENT */:
|
|
2226
|
-
this.
|
|
2227
|
-
this.
|
|
2545
|
+
const viewContentPayload = this.mergeEventData({}, params);
|
|
2546
|
+
this.sendPageView(
|
|
2547
|
+
import_hydrogen_react.AnalyticsEventName.PRODUCT_VIEW,
|
|
2548
|
+
viewContentPayload
|
|
2549
|
+
);
|
|
2550
|
+
this.logger.debug("Sent PRODUCT_VIEW event to Shopify Analytics", {
|
|
2551
|
+
payload: viewContentPayload
|
|
2552
|
+
});
|
|
2228
2553
|
break;
|
|
2229
2554
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
2230
|
-
this.
|
|
2555
|
+
const enhancedEvent = this.mergeEventData(event, params);
|
|
2556
|
+
this.trackAddToCart(enhancedEvent);
|
|
2231
2557
|
break;
|
|
2232
2558
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
2233
2559
|
case "begin_checkout" /* BEGIN_CHECKOUT */:
|
|
2234
|
-
this.
|
|
2235
|
-
|
|
2236
|
-
|
|
2560
|
+
const checkoutPayload = this.mergeEventData(
|
|
2561
|
+
{
|
|
2562
|
+
pageType: "checkout"
|
|
2563
|
+
},
|
|
2564
|
+
params
|
|
2565
|
+
);
|
|
2566
|
+
this.sendPageView(import_hydrogen_react.AnalyticsEventName.PAGE_VIEW, checkoutPayload);
|
|
2237
2567
|
this.logger.debug(
|
|
2238
|
-
"Sent checkout PAGE_VIEW event to Shopify Analytics"
|
|
2568
|
+
"Sent checkout PAGE_VIEW event to Shopify Analytics",
|
|
2569
|
+
{ payload: checkoutPayload }
|
|
2239
2570
|
);
|
|
2240
2571
|
break;
|
|
2241
2572
|
default:
|
|
@@ -2361,8 +2692,10 @@ var KwikPassAdapter = class extends BaseAdapter {
|
|
|
2361
2692
|
}
|
|
2362
2693
|
/**
|
|
2363
2694
|
* Track an event using KwikPass
|
|
2695
|
+
* @param event The event to track
|
|
2696
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2364
2697
|
*/
|
|
2365
|
-
async trackEvent(event) {
|
|
2698
|
+
async trackEvent(event, adapterParams) {
|
|
2366
2699
|
if (!this.initialized || typeof window === "undefined") {
|
|
2367
2700
|
this.logger.warn(
|
|
2368
2701
|
"KwikPass adapter not initialized or not in browser environment"
|
|
@@ -2380,13 +2713,13 @@ var KwikPassAdapter = class extends BaseAdapter {
|
|
|
2380
2713
|
const enhancedEvent = this.enhanceWithAffiliateParams(event);
|
|
2381
2714
|
switch (event.type) {
|
|
2382
2715
|
case "product_view" /* PRODUCT_VIEW */:
|
|
2383
|
-
this.trackProductView(enhancedEvent);
|
|
2716
|
+
this.trackProductView(enhancedEvent, adapterParams);
|
|
2384
2717
|
break;
|
|
2385
2718
|
case "collection_view" /* COLLECTION_VIEW */:
|
|
2386
|
-
this.trackCollectionView(enhancedEvent);
|
|
2719
|
+
this.trackCollectionView(enhancedEvent, adapterParams);
|
|
2387
2720
|
break;
|
|
2388
2721
|
case "page_view" /* PAGE_VIEW */:
|
|
2389
|
-
this.trackPageView(enhancedEvent);
|
|
2722
|
+
this.trackPageView(enhancedEvent, adapterParams);
|
|
2390
2723
|
break;
|
|
2391
2724
|
default:
|
|
2392
2725
|
this.logger.debug("Event not supported", { eventType: event.type });
|
|
@@ -2401,55 +2734,71 @@ var KwikPassAdapter = class extends BaseAdapter {
|
|
|
2401
2734
|
/**
|
|
2402
2735
|
* Send event to KwikPass platform
|
|
2403
2736
|
*/
|
|
2404
|
-
sendKwikPassEvent(type, eventData) {
|
|
2405
|
-
this.
|
|
2737
|
+
sendKwikPassEvent(type, eventData, adapterParams) {
|
|
2738
|
+
const customEventType = this.getEventName(adapterParams, type);
|
|
2739
|
+
const enhancedEventData = this.mergeEventData(eventData, adapterParams);
|
|
2740
|
+
this.logger.debug(`Sending ${customEventType}`, {
|
|
2741
|
+
eventData: enhancedEventData
|
|
2742
|
+
});
|
|
2406
2743
|
if (typeof window !== "undefined") {
|
|
2407
2744
|
const customEvent = new CustomEvent(`page_view_kp`, {
|
|
2408
2745
|
detail: {
|
|
2409
|
-
type,
|
|
2410
|
-
detail:
|
|
2746
|
+
type: customEventType,
|
|
2747
|
+
detail: enhancedEventData
|
|
2411
2748
|
}
|
|
2412
2749
|
});
|
|
2413
2750
|
window.dispatchEvent(customEvent);
|
|
2414
|
-
this.logger.debug(`${
|
|
2751
|
+
this.logger.debug(`${customEventType} sent successfully`);
|
|
2415
2752
|
}
|
|
2416
2753
|
}
|
|
2417
2754
|
/**
|
|
2418
|
-
* Track
|
|
2755
|
+
* Track collection view event
|
|
2419
2756
|
*/
|
|
2420
|
-
trackCollectionView(event) {
|
|
2421
|
-
this.sendKwikPassEvent(
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2757
|
+
trackCollectionView(event, adapterParams) {
|
|
2758
|
+
this.sendKwikPassEvent(
|
|
2759
|
+
"collection",
|
|
2760
|
+
{
|
|
2761
|
+
product_id: event.productId,
|
|
2762
|
+
product_name: event.productName,
|
|
2763
|
+
price: event.price,
|
|
2764
|
+
currency: event.currency,
|
|
2765
|
+
category: event.category,
|
|
2766
|
+
timestamp: event.timestamp || Date.now()
|
|
2767
|
+
},
|
|
2768
|
+
adapterParams
|
|
2769
|
+
);
|
|
2429
2770
|
}
|
|
2430
2771
|
/**
|
|
2431
|
-
* Track
|
|
2772
|
+
* Track product view event
|
|
2432
2773
|
*/
|
|
2433
|
-
trackProductView(event) {
|
|
2434
|
-
this.sendKwikPassEvent(
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2774
|
+
trackProductView(event, adapterParams) {
|
|
2775
|
+
this.sendKwikPassEvent(
|
|
2776
|
+
"product",
|
|
2777
|
+
{
|
|
2778
|
+
product_id: event.productId,
|
|
2779
|
+
product_name: event.productName,
|
|
2780
|
+
price: event.price,
|
|
2781
|
+
currency: event.currency,
|
|
2782
|
+
category: event.category,
|
|
2783
|
+
timestamp: event.timestamp || Date.now()
|
|
2784
|
+
},
|
|
2785
|
+
adapterParams
|
|
2786
|
+
);
|
|
2442
2787
|
}
|
|
2443
2788
|
/**
|
|
2444
2789
|
* Track page view event
|
|
2445
2790
|
*/
|
|
2446
|
-
trackPageView(event) {
|
|
2447
|
-
this.sendKwikPassEvent(
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2791
|
+
trackPageView(event, adapterParams) {
|
|
2792
|
+
this.sendKwikPassEvent(
|
|
2793
|
+
"other",
|
|
2794
|
+
{
|
|
2795
|
+
path: event.path,
|
|
2796
|
+
title: event.title,
|
|
2797
|
+
referrer: event.referrer,
|
|
2798
|
+
timestamp: event.timestamp || Date.now()
|
|
2799
|
+
},
|
|
2800
|
+
adapterParams
|
|
2801
|
+
);
|
|
2453
2802
|
}
|
|
2454
2803
|
};
|
|
2455
2804
|
|
|
@@ -2483,8 +2832,10 @@ var KwikCheckoutAdapter = class extends BaseAdapter {
|
|
|
2483
2832
|
}
|
|
2484
2833
|
/**
|
|
2485
2834
|
* Track an event using GoKwik
|
|
2835
|
+
* @param event The event to track
|
|
2836
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2486
2837
|
*/
|
|
2487
|
-
async trackEvent(event) {
|
|
2838
|
+
async trackEvent(event, adapterParams) {
|
|
2488
2839
|
if (!this.initialized || typeof window === "undefined") {
|
|
2489
2840
|
this.logger.warn(
|
|
2490
2841
|
"GoKwik adapter not initialized or not in browser environment"
|
|
@@ -2496,46 +2847,46 @@ var KwikCheckoutAdapter = class extends BaseAdapter {
|
|
|
2496
2847
|
const enhancedEvent = this.enhanceWithAffiliateParams(event);
|
|
2497
2848
|
switch (event.type) {
|
|
2498
2849
|
case "started_checkout_gk" /* STARTED_CHECKOUT_GK */:
|
|
2499
|
-
this.trackStartedCheckoutGK(enhancedEvent);
|
|
2850
|
+
this.trackStartedCheckoutGK(enhancedEvent, adapterParams);
|
|
2500
2851
|
break;
|
|
2501
2852
|
case "mobile_added_gk" /* MOBILE_ADDED_GK */:
|
|
2502
|
-
this.trackMobileAddedGK(enhancedEvent);
|
|
2853
|
+
this.trackMobileAddedGK(enhancedEvent, adapterParams);
|
|
2503
2854
|
break;
|
|
2504
2855
|
case "address_selected_gk" /* ADDRESS_SELECTED_GK */:
|
|
2505
|
-
this.trackAddressSelectedGK(enhancedEvent);
|
|
2856
|
+
this.trackAddressSelectedGK(enhancedEvent, adapterParams);
|
|
2506
2857
|
break;
|
|
2507
2858
|
case "address_completed_gk" /* ADDRESS_COMPLETED_GK */:
|
|
2508
|
-
this.trackAddressCompletedGK(enhancedEvent);
|
|
2859
|
+
this.trackAddressCompletedGK(enhancedEvent, adapterParams);
|
|
2509
2860
|
break;
|
|
2510
2861
|
case "address_added_gk" /* ADDRESS_ADDED_GK */:
|
|
2511
|
-
this.trackAddressAddedGK(enhancedEvent);
|
|
2862
|
+
this.trackAddressAddedGK(enhancedEvent, adapterParams);
|
|
2512
2863
|
break;
|
|
2513
2864
|
case "pin_code_added_gk" /* PIN_CODE_ADDED_GK */:
|
|
2514
|
-
this.trackPinCodeAddedGK(enhancedEvent);
|
|
2865
|
+
this.trackPinCodeAddedGK(enhancedEvent, adapterParams);
|
|
2515
2866
|
break;
|
|
2516
2867
|
case "payment_method_selected_gk" /* PAYMENT_METHOD_SELECTED_GK */:
|
|
2517
|
-
this.trackPaymentMethodSelectedGK(enhancedEvent);
|
|
2868
|
+
this.trackPaymentMethodSelectedGK(enhancedEvent, adapterParams);
|
|
2518
2869
|
break;
|
|
2519
2870
|
case "payment_completed_gk" /* PAYMENT_COMPLETED_GK */:
|
|
2520
|
-
this.trackPaymentCompletedGK(enhancedEvent);
|
|
2871
|
+
this.trackPaymentCompletedGK(enhancedEvent, adapterParams);
|
|
2521
2872
|
break;
|
|
2522
2873
|
case "order_success" /* ORDER_SUCCESS */:
|
|
2523
|
-
this.trackOrderSuccess(enhancedEvent);
|
|
2874
|
+
this.trackOrderSuccess(enhancedEvent, adapterParams);
|
|
2524
2875
|
break;
|
|
2525
2876
|
case "order_completed" /* ORDER_COMPLETED */:
|
|
2526
|
-
this.trackOrderCompleted(enhancedEvent);
|
|
2877
|
+
this.trackOrderCompleted(enhancedEvent, adapterParams);
|
|
2527
2878
|
break;
|
|
2528
2879
|
case "cart_viewed" /* CART_VIEWED */:
|
|
2529
|
-
this.trackCartViewed(enhancedEvent);
|
|
2880
|
+
this.trackCartViewed(enhancedEvent, adapterParams);
|
|
2530
2881
|
break;
|
|
2531
2882
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
2532
|
-
this.trackCheckoutStarted(enhancedEvent);
|
|
2883
|
+
this.trackCheckoutStarted(enhancedEvent, adapterParams);
|
|
2533
2884
|
break;
|
|
2534
2885
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
2535
|
-
this.trackCheckoutCompleted(enhancedEvent);
|
|
2886
|
+
this.trackCheckoutCompleted(enhancedEvent, adapterParams);
|
|
2536
2887
|
break;
|
|
2537
2888
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
2538
|
-
this.trackAddPaymentInfo(enhancedEvent);
|
|
2889
|
+
this.trackAddPaymentInfo(enhancedEvent, adapterParams);
|
|
2539
2890
|
break;
|
|
2540
2891
|
default:
|
|
2541
2892
|
this.logger.debug("Event not supported", { eventType: event.type });
|
|
@@ -2550,171 +2901,233 @@ var KwikCheckoutAdapter = class extends BaseAdapter {
|
|
|
2550
2901
|
/**
|
|
2551
2902
|
* Send event to GoKwik platform
|
|
2552
2903
|
*/
|
|
2553
|
-
sendGoKwikEvent(eventName, eventData) {
|
|
2554
|
-
this.
|
|
2904
|
+
sendGoKwikEvent(eventName, eventData, adapterParams) {
|
|
2905
|
+
const customEventName = this.getEventName(adapterParams, eventName);
|
|
2906
|
+
const enhancedEventData = this.mergeEventData(eventData, adapterParams);
|
|
2907
|
+
this.logger.debug(`Sending ${customEventName}`, {
|
|
2908
|
+
eventData: enhancedEventData
|
|
2909
|
+
});
|
|
2555
2910
|
if (typeof window !== "undefined" && window.gokwikSdk) {
|
|
2556
2911
|
try {
|
|
2557
|
-
window.gokwikSdk.track?.(
|
|
2558
|
-
this.logger.debug(`${
|
|
2912
|
+
window.gokwikSdk.track?.(customEventName, enhancedEventData);
|
|
2913
|
+
this.logger.debug(`${customEventName} sent via SDK successfully`);
|
|
2559
2914
|
} catch (error) {
|
|
2560
2915
|
this.logger.error(
|
|
2561
|
-
`Error sending GoKwik event ${
|
|
2916
|
+
`Error sending GoKwik event ${customEventName} via SDK`,
|
|
2562
2917
|
error
|
|
2563
2918
|
);
|
|
2564
2919
|
}
|
|
2565
2920
|
} else {
|
|
2566
2921
|
if (typeof window !== "undefined") {
|
|
2567
|
-
const customEvent = new CustomEvent(`gokwik_${
|
|
2568
|
-
detail:
|
|
2922
|
+
const customEvent = new CustomEvent(`gokwik_${customEventName}`, {
|
|
2923
|
+
detail: enhancedEventData
|
|
2569
2924
|
});
|
|
2570
2925
|
window.dispatchEvent(customEvent);
|
|
2571
|
-
this.logger.debug(
|
|
2926
|
+
this.logger.debug(
|
|
2927
|
+
`${customEventName} sent via custom event successfully`
|
|
2928
|
+
);
|
|
2572
2929
|
}
|
|
2573
2930
|
}
|
|
2574
2931
|
}
|
|
2575
2932
|
/**
|
|
2576
2933
|
* Track started checkout GK event
|
|
2577
2934
|
*/
|
|
2578
|
-
trackStartedCheckoutGK(event) {
|
|
2579
|
-
this.sendGoKwikEvent(
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2935
|
+
trackStartedCheckoutGK(event, adapterParams) {
|
|
2936
|
+
this.sendGoKwikEvent(
|
|
2937
|
+
"started_checkout",
|
|
2938
|
+
{
|
|
2939
|
+
cart_value: event.cartValue,
|
|
2940
|
+
currency: event.currency,
|
|
2941
|
+
timestamp: event.timestamp || Date.now()
|
|
2942
|
+
},
|
|
2943
|
+
adapterParams
|
|
2944
|
+
);
|
|
2584
2945
|
}
|
|
2585
2946
|
/**
|
|
2586
2947
|
* Track mobile added GK event
|
|
2587
2948
|
*/
|
|
2588
|
-
trackMobileAddedGK(event) {
|
|
2589
|
-
this.sendGoKwikEvent(
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2949
|
+
trackMobileAddedGK(event, adapterParams) {
|
|
2950
|
+
this.sendGoKwikEvent(
|
|
2951
|
+
"mobile_added",
|
|
2952
|
+
{
|
|
2953
|
+
mobile: event.mobile,
|
|
2954
|
+
timestamp: event.timestamp || Date.now()
|
|
2955
|
+
},
|
|
2956
|
+
adapterParams
|
|
2957
|
+
);
|
|
2593
2958
|
}
|
|
2594
2959
|
/**
|
|
2595
2960
|
* Track address selected GK event
|
|
2596
2961
|
*/
|
|
2597
|
-
trackAddressSelectedGK(event) {
|
|
2598
|
-
this.sendGoKwikEvent(
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2962
|
+
trackAddressSelectedGK(event, adapterParams) {
|
|
2963
|
+
this.sendGoKwikEvent(
|
|
2964
|
+
"address_selected",
|
|
2965
|
+
{
|
|
2966
|
+
address_id: event.addressId,
|
|
2967
|
+
timestamp: event.timestamp || Date.now()
|
|
2968
|
+
},
|
|
2969
|
+
adapterParams
|
|
2970
|
+
);
|
|
2602
2971
|
}
|
|
2603
2972
|
/**
|
|
2604
2973
|
* Track address completed GK event
|
|
2605
2974
|
*/
|
|
2606
|
-
trackAddressCompletedGK(event) {
|
|
2607
|
-
this.sendGoKwikEvent(
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2975
|
+
trackAddressCompletedGK(event, adapterParams) {
|
|
2976
|
+
this.sendGoKwikEvent(
|
|
2977
|
+
"address_completed",
|
|
2978
|
+
{
|
|
2979
|
+
address_id: event.addressId,
|
|
2980
|
+
timestamp: event.timestamp || Date.now()
|
|
2981
|
+
},
|
|
2982
|
+
adapterParams
|
|
2983
|
+
);
|
|
2611
2984
|
}
|
|
2612
2985
|
/**
|
|
2613
2986
|
* Track address added GK event
|
|
2614
2987
|
*/
|
|
2615
|
-
trackAddressAddedGK(event) {
|
|
2616
|
-
this.sendGoKwikEvent(
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2988
|
+
trackAddressAddedGK(event, adapterParams) {
|
|
2989
|
+
this.sendGoKwikEvent(
|
|
2990
|
+
"address_added",
|
|
2991
|
+
{
|
|
2992
|
+
address_id: event.addressId,
|
|
2993
|
+
timestamp: event.timestamp || Date.now()
|
|
2994
|
+
},
|
|
2995
|
+
adapterParams
|
|
2996
|
+
);
|
|
2620
2997
|
}
|
|
2621
2998
|
/**
|
|
2622
2999
|
* Track PIN code added GK event
|
|
2623
3000
|
*/
|
|
2624
|
-
trackPinCodeAddedGK(event) {
|
|
2625
|
-
this.sendGoKwikEvent(
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
3001
|
+
trackPinCodeAddedGK(event, adapterParams) {
|
|
3002
|
+
this.sendGoKwikEvent(
|
|
3003
|
+
"pin_code_added",
|
|
3004
|
+
{
|
|
3005
|
+
pin_code: event.pinCode,
|
|
3006
|
+
timestamp: event.timestamp || Date.now()
|
|
3007
|
+
},
|
|
3008
|
+
adapterParams
|
|
3009
|
+
);
|
|
2629
3010
|
}
|
|
2630
3011
|
/**
|
|
2631
3012
|
* Track payment method selected GK event
|
|
2632
3013
|
*/
|
|
2633
|
-
trackPaymentMethodSelectedGK(event) {
|
|
2634
|
-
this.sendGoKwikEvent(
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
3014
|
+
trackPaymentMethodSelectedGK(event, adapterParams) {
|
|
3015
|
+
this.sendGoKwikEvent(
|
|
3016
|
+
"payment_method_selected",
|
|
3017
|
+
{
|
|
3018
|
+
payment_method: event.paymentMethod,
|
|
3019
|
+
timestamp: event.timestamp || Date.now()
|
|
3020
|
+
},
|
|
3021
|
+
adapterParams
|
|
3022
|
+
);
|
|
2638
3023
|
}
|
|
2639
3024
|
/**
|
|
2640
3025
|
* Track payment completed GK event
|
|
2641
3026
|
*/
|
|
2642
|
-
trackPaymentCompletedGK(event) {
|
|
2643
|
-
this.sendGoKwikEvent(
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
3027
|
+
trackPaymentCompletedGK(event, adapterParams) {
|
|
3028
|
+
this.sendGoKwikEvent(
|
|
3029
|
+
"payment_completed",
|
|
3030
|
+
{
|
|
3031
|
+
amount: event.amount,
|
|
3032
|
+
currency: event.currency,
|
|
3033
|
+
timestamp: event.timestamp || Date.now()
|
|
3034
|
+
},
|
|
3035
|
+
adapterParams
|
|
3036
|
+
);
|
|
2648
3037
|
}
|
|
2649
3038
|
/**
|
|
2650
3039
|
* Track order success event
|
|
2651
3040
|
*/
|
|
2652
|
-
trackOrderSuccess(event) {
|
|
2653
|
-
this.sendGoKwikEvent(
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
3041
|
+
trackOrderSuccess(event, adapterParams) {
|
|
3042
|
+
this.sendGoKwikEvent(
|
|
3043
|
+
"order_success",
|
|
3044
|
+
{
|
|
3045
|
+
order_id: event.orderId,
|
|
3046
|
+
amount: event.amount,
|
|
3047
|
+
currency: event.currency,
|
|
3048
|
+
timestamp: event.timestamp || Date.now()
|
|
3049
|
+
},
|
|
3050
|
+
adapterParams
|
|
3051
|
+
);
|
|
2659
3052
|
}
|
|
2660
3053
|
/**
|
|
2661
3054
|
* Track order completed event
|
|
2662
3055
|
*/
|
|
2663
|
-
trackOrderCompleted(event) {
|
|
2664
|
-
this.sendGoKwikEvent(
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
3056
|
+
trackOrderCompleted(event, adapterParams) {
|
|
3057
|
+
this.sendGoKwikEvent(
|
|
3058
|
+
"order_completed",
|
|
3059
|
+
{
|
|
3060
|
+
order_id: event.orderId,
|
|
3061
|
+
amount: event.amount,
|
|
3062
|
+
currency: event.currency,
|
|
3063
|
+
timestamp: event.timestamp || Date.now()
|
|
3064
|
+
},
|
|
3065
|
+
adapterParams
|
|
3066
|
+
);
|
|
2670
3067
|
}
|
|
2671
3068
|
/**
|
|
2672
3069
|
* Track cart viewed event
|
|
2673
3070
|
*/
|
|
2674
|
-
trackCartViewed(event) {
|
|
2675
|
-
this.sendGoKwikEvent(
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
3071
|
+
trackCartViewed(event, adapterParams) {
|
|
3072
|
+
this.sendGoKwikEvent(
|
|
3073
|
+
"cart_viewed",
|
|
3074
|
+
{
|
|
3075
|
+
cart_id: event.cartId,
|
|
3076
|
+
products: event.products,
|
|
3077
|
+
timestamp: event.timestamp || Date.now()
|
|
3078
|
+
},
|
|
3079
|
+
adapterParams
|
|
3080
|
+
);
|
|
2680
3081
|
}
|
|
2681
3082
|
/**
|
|
2682
3083
|
* Track checkout started event
|
|
2683
3084
|
*/
|
|
2684
|
-
trackCheckoutStarted(event) {
|
|
2685
|
-
this.sendGoKwikEvent(
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
3085
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
3086
|
+
this.sendGoKwikEvent(
|
|
3087
|
+
"checkout_started",
|
|
3088
|
+
{
|
|
3089
|
+
cart_value: event.cartValue,
|
|
3090
|
+
currency: event.currency,
|
|
3091
|
+
item_count: event.itemCount,
|
|
3092
|
+
items: event.items,
|
|
3093
|
+
timestamp: event.timestamp || Date.now()
|
|
3094
|
+
},
|
|
3095
|
+
adapterParams
|
|
3096
|
+
);
|
|
2692
3097
|
}
|
|
2693
3098
|
/**
|
|
2694
3099
|
* Track checkout completed event
|
|
2695
3100
|
*/
|
|
2696
|
-
trackCheckoutCompleted(event) {
|
|
2697
|
-
this.sendGoKwikEvent(
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
3101
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
3102
|
+
this.sendGoKwikEvent(
|
|
3103
|
+
"checkout_completed",
|
|
3104
|
+
{
|
|
3105
|
+
order_id: event.orderId,
|
|
3106
|
+
cart_value: event.cartValue,
|
|
3107
|
+
currency: event.currency,
|
|
3108
|
+
item_count: event.itemCount,
|
|
3109
|
+
items: event.items,
|
|
3110
|
+
timestamp: event.timestamp || Date.now()
|
|
3111
|
+
},
|
|
3112
|
+
adapterParams
|
|
3113
|
+
);
|
|
2705
3114
|
}
|
|
2706
3115
|
/**
|
|
2707
3116
|
* Track add payment info event
|
|
2708
3117
|
*/
|
|
2709
|
-
trackAddPaymentInfo(event) {
|
|
2710
|
-
this.sendGoKwikEvent(
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
3118
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
3119
|
+
this.sendGoKwikEvent(
|
|
3120
|
+
"add_payment_info",
|
|
3121
|
+
{
|
|
3122
|
+
cart_value: event.cartValue,
|
|
3123
|
+
currency: event.currency,
|
|
3124
|
+
item_count: event.itemCount,
|
|
3125
|
+
payment_type: event.paymentType,
|
|
3126
|
+
items: event.items,
|
|
3127
|
+
timestamp: event.timestamp || Date.now()
|
|
3128
|
+
},
|
|
3129
|
+
adapterParams
|
|
3130
|
+
);
|
|
2718
3131
|
}
|
|
2719
3132
|
};
|
|
2720
3133
|
|
|
@@ -3241,7 +3654,6 @@ init_subscriber();
|
|
|
3241
3654
|
EventNames,
|
|
3242
3655
|
EventType,
|
|
3243
3656
|
GoogleAdapter,
|
|
3244
|
-
HARDCODED_HANDLE,
|
|
3245
3657
|
KwikCheckoutAdapter,
|
|
3246
3658
|
KwikPassAdapter,
|
|
3247
3659
|
MoengageAdapter,
|