shopkit-analytics 1.0.1 → 1.0.3
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 +193 -3
- package/dist/adapters/index.d.mts +3 -2
- package/dist/adapters/index.d.ts +3 -2
- package/dist/adapters/index.js +1220 -615
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/index.mjs +4 -2
- package/dist/{chunk-3TQR5DOP.mjs → chunk-3NR2AKE4.mjs} +1 -31
- package/dist/chunk-3NR2AKE4.mjs.map +1 -0
- package/dist/chunk-4RDPDMGW.mjs +68 -0
- package/dist/chunk-4RDPDMGW.mjs.map +1 -0
- package/dist/{chunk-JVEGG6JV.mjs → chunk-HCA4E2RA.mjs} +19 -13
- package/dist/chunk-HCA4E2RA.mjs.map +1 -0
- package/dist/chunk-NC25KOAF.mjs +156 -0
- package/dist/chunk-NC25KOAF.mjs.map +1 -0
- package/dist/chunk-NGPUKV7E.mjs +46 -0
- package/dist/chunk-NGPUKV7E.mjs.map +1 -0
- package/dist/{chunk-4MZH5OLR.mjs → chunk-NJQ2MOM2.mjs} +1145 -618
- package/dist/chunk-NJQ2MOM2.mjs.map +1 -0
- package/dist/chunk-NKDB4KX2.mjs +2 -0
- package/dist/{chunk-P4OJDCEZ.mjs → chunk-QCS5UARA.mjs} +3 -3
- package/dist/events/index.d.mts +9 -41
- package/dist/events/index.d.ts +9 -41
- package/dist/events/index.js +973 -498
- package/dist/events/index.js.map +1 -1
- package/dist/events/index.mjs +11 -11
- package/dist/experiment/index.d.mts +25 -0
- package/dist/experiment/index.d.ts +25 -0
- package/dist/experiment/index.js +74 -0
- package/dist/experiment/index.js.map +1 -0
- package/dist/experiment/index.mjs +15 -0
- package/dist/experiment/index.mjs.map +1 -0
- package/dist/{index-BnNRgdUv.d.ts → index-D_8w5bL_.d.ts} +87 -17
- package/dist/{index-GODWc1s6.d.mts → index-th6sBtE3.d.mts} +87 -17
- package/dist/index.d.mts +10 -6
- package/dist/index.d.ts +10 -6
- package/dist/index.js +1408 -660
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -10
- package/dist/index.mjs.map +1 -1
- package/dist/services/index.d.mts +51 -0
- package/dist/services/index.d.ts +51 -0
- package/dist/services/index.js +180 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/index.mjs +11 -0
- package/dist/services/index.mjs.map +1 -0
- 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/subscriber-VF3IYUCU.mjs.map +1 -0
- package/dist/types-C__2IBCj.d.mts +7 -0
- package/dist/types-C__2IBCj.d.ts +7 -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/dist/utils/index.d.mts +19 -0
- package/dist/utils/index.d.ts +19 -0
- package/dist/utils/index.js +93 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +12 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +21 -8
- package/templates/nextjs/README.md +206 -0
- package/templates/nextjs/api-events-route.ts +62 -0
- 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/{subscriber-IFZJU57V.mjs.map → chunk-NKDB4KX2.mjs.map} +0 -0
- /package/dist/{chunk-P4OJDCEZ.mjs.map → chunk-QCS5UARA.mjs.map} +0 -0
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import {
|
|
3
|
+
getExperimentParams
|
|
4
|
+
} from "./chunk-NGPUKV7E.mjs";
|
|
5
|
+
import {
|
|
6
|
+
generateEventId,
|
|
7
|
+
getBrowserInfo
|
|
8
|
+
} from "./chunk-4RDPDMGW.mjs";
|
|
2
9
|
|
|
3
10
|
// src/logger/index.ts
|
|
4
|
-
|
|
11
|
+
var LOG_LEVELS = {
|
|
12
|
+
trace: 10,
|
|
13
|
+
debug: 20,
|
|
14
|
+
info: 30,
|
|
15
|
+
warn: 40,
|
|
16
|
+
error: 50,
|
|
17
|
+
fatal: 60
|
|
18
|
+
};
|
|
5
19
|
var NoOpLogger = class _NoOpLogger {
|
|
6
20
|
trace() {
|
|
7
21
|
}
|
|
@@ -19,92 +33,109 @@ var NoOpLogger = class _NoOpLogger {
|
|
|
19
33
|
return new _NoOpLogger();
|
|
20
34
|
}
|
|
21
35
|
};
|
|
22
|
-
var
|
|
23
|
-
constructor(
|
|
24
|
-
this.
|
|
36
|
+
var UniversalLogger = class _UniversalLogger {
|
|
37
|
+
constructor(config, bindings = {}) {
|
|
38
|
+
this.config = config;
|
|
39
|
+
this.bindings = bindings;
|
|
40
|
+
}
|
|
41
|
+
shouldLog(level) {
|
|
42
|
+
return LOG_LEVELS[level] >= LOG_LEVELS[this.config.level];
|
|
43
|
+
}
|
|
44
|
+
formatMessage(level, message, args, error) {
|
|
45
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
46
|
+
const name = this.config.name;
|
|
47
|
+
let logMessage = this.config.prettyPrint ? `[${timestamp}] ${level.toUpperCase()} [${name}]: ${message}` : JSON.stringify({
|
|
48
|
+
timestamp,
|
|
49
|
+
level,
|
|
50
|
+
name,
|
|
51
|
+
message,
|
|
52
|
+
...this.bindings,
|
|
53
|
+
...args.length > 0 && { args },
|
|
54
|
+
...error && {
|
|
55
|
+
error: { message: error.message, stack: error.stack }
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
if (this.config.prettyPrint && args.length > 0) {
|
|
59
|
+
logMessage += ` ${args.map(
|
|
60
|
+
(arg) => typeof arg === "object" ? JSON.stringify(arg) : String(arg)
|
|
61
|
+
).join(" ")}`;
|
|
62
|
+
}
|
|
63
|
+
if (this.config.prettyPrint && error) {
|
|
64
|
+
logMessage += ` Error: ${error.message}`;
|
|
65
|
+
if (error.stack) {
|
|
66
|
+
logMessage += `
|
|
67
|
+
${error.stack}`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return this.redactSensitiveData(logMessage);
|
|
71
|
+
}
|
|
72
|
+
redactSensitiveData(message) {
|
|
73
|
+
let redactedMessage = message;
|
|
74
|
+
for (const field of this.config.redact) {
|
|
75
|
+
const regex = new RegExp(`"${field}"\\s*:\\s*"[^"]*"`, "gi");
|
|
76
|
+
redactedMessage = redactedMessage.replace(
|
|
77
|
+
regex,
|
|
78
|
+
`"${field}":"[REDACTED]"`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
return redactedMessage;
|
|
82
|
+
}
|
|
83
|
+
log(level, message, args, error) {
|
|
84
|
+
if (!this.shouldLog(level)) return;
|
|
85
|
+
const formattedMessage = this.formatMessage(level, message, args, error);
|
|
86
|
+
switch (level) {
|
|
87
|
+
case "trace":
|
|
88
|
+
console.trace(formattedMessage);
|
|
89
|
+
break;
|
|
90
|
+
case "debug":
|
|
91
|
+
console.debug(formattedMessage);
|
|
92
|
+
break;
|
|
93
|
+
case "info":
|
|
94
|
+
console.info(formattedMessage);
|
|
95
|
+
break;
|
|
96
|
+
case "warn":
|
|
97
|
+
console.warn(formattedMessage);
|
|
98
|
+
break;
|
|
99
|
+
case "error":
|
|
100
|
+
case "fatal":
|
|
101
|
+
console.error(formattedMessage);
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
25
104
|
}
|
|
26
105
|
trace(message, ...args) {
|
|
27
|
-
this.
|
|
106
|
+
this.log("trace", message, args);
|
|
28
107
|
}
|
|
29
108
|
debug(message, ...args) {
|
|
30
|
-
this.
|
|
109
|
+
this.log("debug", message, args);
|
|
31
110
|
}
|
|
32
111
|
info(message, ...args) {
|
|
33
|
-
this.
|
|
112
|
+
this.log("info", message, args);
|
|
34
113
|
}
|
|
35
114
|
warn(message, ...args) {
|
|
36
|
-
this.
|
|
115
|
+
this.log("warn", message, args);
|
|
37
116
|
}
|
|
38
117
|
error(message, error, ...args) {
|
|
39
|
-
this.
|
|
118
|
+
this.log("error", message, args, error);
|
|
40
119
|
}
|
|
41
120
|
fatal(message, error, ...args) {
|
|
42
|
-
this.
|
|
121
|
+
this.log("fatal", message, args, error);
|
|
43
122
|
}
|
|
44
123
|
child(bindings) {
|
|
45
|
-
return new
|
|
124
|
+
return new _UniversalLogger(this.config, { ...this.bindings, ...bindings });
|
|
46
125
|
}
|
|
47
126
|
};
|
|
48
127
|
function createLogger(config = {}) {
|
|
49
|
-
const {
|
|
50
|
-
level
|
|
51
|
-
enabled
|
|
52
|
-
name
|
|
53
|
-
prettyPrint
|
|
54
|
-
redact
|
|
55
|
-
} = config;
|
|
56
|
-
if (!enabled) {
|
|
57
|
-
return new NoOpLogger();
|
|
58
|
-
}
|
|
59
|
-
const pinoConfig = {
|
|
60
|
-
name,
|
|
61
|
-
level,
|
|
62
|
-
redact,
|
|
63
|
-
browser: {
|
|
64
|
-
asObject: true,
|
|
65
|
-
serialize: true,
|
|
66
|
-
write: {
|
|
67
|
-
trace: (o) => console.trace(formatBrowserLog(o)),
|
|
68
|
-
debug: (o) => console.debug(formatBrowserLog(o)),
|
|
69
|
-
info: (o) => console.info(formatBrowserLog(o)),
|
|
70
|
-
warn: (o) => console.warn(formatBrowserLog(o)),
|
|
71
|
-
error: (o) => console.error(formatBrowserLog(o)),
|
|
72
|
-
fatal: (o) => console.error(formatBrowserLog(o))
|
|
73
|
-
}
|
|
74
|
-
}
|
|
128
|
+
const fullConfig = {
|
|
129
|
+
level: config.level || "info",
|
|
130
|
+
enabled: config.enabled !== false,
|
|
131
|
+
name: config.name || "@shopkit/analytics",
|
|
132
|
+
prettyPrint: config.prettyPrint || false,
|
|
133
|
+
redact: config.redact || []
|
|
75
134
|
};
|
|
76
|
-
if (
|
|
77
|
-
|
|
78
|
-
target: "pino-pretty",
|
|
79
|
-
options: {
|
|
80
|
-
colorize: true,
|
|
81
|
-
translateTime: "HH:MM:ss Z",
|
|
82
|
-
ignore: "pid,hostname"
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
const pinoLogger = pino(pinoConfig);
|
|
87
|
-
return new PinoLogger(pinoLogger);
|
|
88
|
-
}
|
|
89
|
-
function formatBrowserLog(logObj) {
|
|
90
|
-
const { level, time, msg, name, args, error, ...rest } = logObj;
|
|
91
|
-
let message = `[${name}] ${msg}`;
|
|
92
|
-
if (args && args.length > 0) {
|
|
93
|
-
message += ` ${args.map(
|
|
94
|
-
(arg) => typeof arg === "object" ? JSON.stringify(arg) : String(arg)
|
|
95
|
-
).join(" ")}`;
|
|
96
|
-
}
|
|
97
|
-
if (error) {
|
|
98
|
-
message += ` Error: ${error.message}`;
|
|
99
|
-
if (error.stack) {
|
|
100
|
-
message += `
|
|
101
|
-
${error.stack}`;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (Object.keys(rest).length > 0) {
|
|
105
|
-
message += ` ${JSON.stringify(rest)}`;
|
|
135
|
+
if (!fullConfig.enabled) {
|
|
136
|
+
return new NoOpLogger();
|
|
106
137
|
}
|
|
107
|
-
return
|
|
138
|
+
return new UniversalLogger(fullConfig);
|
|
108
139
|
}
|
|
109
140
|
var logger = createLogger({
|
|
110
141
|
enabled: true,
|
|
@@ -153,6 +184,38 @@ var BaseAdapter = class {
|
|
|
153
184
|
isEnabled() {
|
|
154
185
|
return this.initialized;
|
|
155
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Extract adapter-specific parameters for this adapter
|
|
189
|
+
* @param params The adapter parameters object
|
|
190
|
+
* @returns Adapter-specific parameters or empty object
|
|
191
|
+
*/
|
|
192
|
+
getAdapterParams(params) {
|
|
193
|
+
return params?.[this.name] || {};
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Get custom event name or fall back to default
|
|
197
|
+
* @param params The adapter parameters object
|
|
198
|
+
* @param defaultName The default event name to use
|
|
199
|
+
* @returns Custom event name or default
|
|
200
|
+
*/
|
|
201
|
+
getEventName(params, defaultName) {
|
|
202
|
+
const adapterParams = this.getAdapterParams(params);
|
|
203
|
+
return adapterParams.event_name || defaultName;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Merge standard event data with adapter-specific parameters
|
|
207
|
+
* @param params The adapter parameters object
|
|
208
|
+
* @param standardData The standard event data
|
|
209
|
+
* @returns Merged data with adapter-specific overrides
|
|
210
|
+
*/
|
|
211
|
+
mergeEventData(standardData, params) {
|
|
212
|
+
const adapterParams = this.getAdapterParams(params);
|
|
213
|
+
const { event_name, ...customParams } = adapterParams;
|
|
214
|
+
return {
|
|
215
|
+
...standardData,
|
|
216
|
+
...customParams
|
|
217
|
+
};
|
|
218
|
+
}
|
|
156
219
|
/**
|
|
157
220
|
* Get a configuration value
|
|
158
221
|
* @param key The configuration key
|
|
@@ -169,6 +232,21 @@ var BaseAdapter = class {
|
|
|
169
232
|
getAffiliateParams() {
|
|
170
233
|
return null;
|
|
171
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Get experiment parameters from cookies
|
|
237
|
+
* @returns Experiment parameters
|
|
238
|
+
*/
|
|
239
|
+
getExperimentParams() {
|
|
240
|
+
try {
|
|
241
|
+
return getExperimentParams();
|
|
242
|
+
} catch (error) {
|
|
243
|
+
return {
|
|
244
|
+
_prima_pr_ab_home: null,
|
|
245
|
+
_prima_pr_ab_collection: null,
|
|
246
|
+
_prima_pr_ab_product: null
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
}
|
|
172
250
|
/**
|
|
173
251
|
* Enhance event parameters with affiliate data
|
|
174
252
|
* @param params The original parameters
|
|
@@ -183,6 +261,18 @@ var BaseAdapter = class {
|
|
|
183
261
|
...affiliateParams
|
|
184
262
|
};
|
|
185
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Enhance event parameters with experiment data
|
|
266
|
+
* @param params The original parameters
|
|
267
|
+
* @returns Parameters enhanced with experiment data
|
|
268
|
+
*/
|
|
269
|
+
enhanceWithExperimentParams(params) {
|
|
270
|
+
const experimentParams = this.getExperimentParams();
|
|
271
|
+
return {
|
|
272
|
+
...params,
|
|
273
|
+
experiment: experimentParams
|
|
274
|
+
};
|
|
275
|
+
}
|
|
186
276
|
};
|
|
187
277
|
|
|
188
278
|
// src/adapters/pixel-adapter.ts
|
|
@@ -210,18 +300,34 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
210
300
|
);
|
|
211
301
|
return;
|
|
212
302
|
}
|
|
213
|
-
const pixelId = this.getConfig("pixelId");
|
|
214
303
|
this.logger.info("Successfully initialized", { pixelId: "***" });
|
|
215
304
|
this.initialized = true;
|
|
216
305
|
}
|
|
217
306
|
/**
|
|
218
307
|
* Track an event with Facebook Pixel
|
|
219
308
|
* @param event The event to track
|
|
309
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
220
310
|
*/
|
|
221
|
-
async trackEvent(event) {
|
|
311
|
+
async trackEvent(event, adapterParams) {
|
|
312
|
+
if (!event.eventId) {
|
|
313
|
+
event.eventId = generateEventId(event.type);
|
|
314
|
+
}
|
|
315
|
+
this.logger.debug("Tracking event", {
|
|
316
|
+
eventType: event.type,
|
|
317
|
+
eventId: event.eventId
|
|
318
|
+
});
|
|
319
|
+
await this.trackClientSide(event, adapterParams);
|
|
320
|
+
if (this.getConfig("enableCAPI", true)) {
|
|
321
|
+
await this.trackServerSide(event);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Track event on client-side (browser pixel)
|
|
326
|
+
*/
|
|
327
|
+
async trackClientSide(event, adapterParams) {
|
|
222
328
|
if (!this.initialized || typeof window === "undefined" || !window.fbq) {
|
|
223
329
|
this.logger.warn(
|
|
224
|
-
"Cannot track event, adapter not initialized or fbq not available",
|
|
330
|
+
"Cannot track client-side event, adapter not initialized or fbq not available",
|
|
225
331
|
{
|
|
226
332
|
eventType: event.type,
|
|
227
333
|
initialized: this.initialized,
|
|
@@ -231,55 +337,96 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
231
337
|
);
|
|
232
338
|
return;
|
|
233
339
|
}
|
|
234
|
-
this.logger.debug("Tracking event", { eventType: event.type });
|
|
235
340
|
switch (event.type) {
|
|
236
341
|
case "page_view" /* PAGE_VIEW */:
|
|
237
|
-
this.trackPageView(event);
|
|
342
|
+
this.trackPageView(event, adapterParams);
|
|
238
343
|
break;
|
|
239
344
|
case "view_content" /* VIEW_CONTENT */:
|
|
240
|
-
this.trackViewContent(event);
|
|
345
|
+
this.trackViewContent(event, adapterParams);
|
|
241
346
|
break;
|
|
242
347
|
case "product_view" /* PRODUCT_VIEW */:
|
|
243
|
-
this.trackProductView(event);
|
|
348
|
+
this.trackProductView(event, adapterParams);
|
|
244
349
|
break;
|
|
245
350
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
246
|
-
this.trackAddToCart(event);
|
|
351
|
+
this.trackAddToCart(event, adapterParams);
|
|
247
352
|
break;
|
|
248
353
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
249
|
-
this.trackCheckoutStarted(event);
|
|
354
|
+
this.trackCheckoutStarted(event, adapterParams);
|
|
250
355
|
break;
|
|
251
356
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
252
|
-
this.trackCheckoutCompleted(event);
|
|
357
|
+
this.trackCheckoutCompleted(event, adapterParams);
|
|
253
358
|
break;
|
|
254
359
|
case "purchase" /* PURCHASE */:
|
|
255
|
-
this.trackPurchase(event);
|
|
360
|
+
this.trackPurchase(event, adapterParams);
|
|
256
361
|
break;
|
|
257
362
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
258
|
-
this.trackAddPaymentInfo(event);
|
|
363
|
+
this.trackAddPaymentInfo(event, adapterParams);
|
|
259
364
|
break;
|
|
260
365
|
case "search" /* SEARCH */:
|
|
261
|
-
this.trackSearch(event);
|
|
366
|
+
this.trackSearch(event, adapterParams);
|
|
262
367
|
break;
|
|
263
368
|
default:
|
|
264
369
|
this.logger.debug("Unhandled event type", { eventType: event.type });
|
|
265
370
|
break;
|
|
266
371
|
}
|
|
267
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* Track event on server-side (CAPI) as backup
|
|
375
|
+
*/
|
|
376
|
+
async trackServerSide(event) {
|
|
377
|
+
try {
|
|
378
|
+
const browserInfo = getBrowserInfo();
|
|
379
|
+
const payload = {
|
|
380
|
+
events: [event],
|
|
381
|
+
userInfo: browserInfo
|
|
382
|
+
};
|
|
383
|
+
const response = await fetch("/api/events", {
|
|
384
|
+
method: "POST",
|
|
385
|
+
headers: {
|
|
386
|
+
"Content-Type": "application/json"
|
|
387
|
+
},
|
|
388
|
+
body: JSON.stringify(payload)
|
|
389
|
+
});
|
|
390
|
+
if (!response.ok) {
|
|
391
|
+
throw new Error(`Server-side tracking failed: ${response.status}`);
|
|
392
|
+
}
|
|
393
|
+
this.logger.debug(
|
|
394
|
+
`FB Pixel: Server-side backup sent for event ${event.type}`
|
|
395
|
+
);
|
|
396
|
+
} catch (error) {
|
|
397
|
+
this.logger.error(
|
|
398
|
+
`FB Pixel: Server-side backup failed for event ${event.type}: ${error instanceof Error ? error.message : String(error)}`
|
|
399
|
+
);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
268
402
|
/**
|
|
269
403
|
* Track a page view event
|
|
270
404
|
* @param event The page view event
|
|
271
405
|
*/
|
|
272
|
-
trackPageView(event) {
|
|
273
|
-
const
|
|
274
|
-
|
|
275
|
-
this.
|
|
406
|
+
trackPageView(event, adapterParams) {
|
|
407
|
+
const eventName = this.getEventName(adapterParams, "PageView");
|
|
408
|
+
const affiliateParams = this.enhanceWithAffiliateParams({});
|
|
409
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
410
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
411
|
+
if (event.eventId) {
|
|
412
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
413
|
+
eventID: event.eventId
|
|
414
|
+
});
|
|
415
|
+
} else {
|
|
416
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
417
|
+
}
|
|
418
|
+
this.logger.debug("PageView event tracked", {
|
|
419
|
+
eventName,
|
|
420
|
+
params: enhancedParams
|
|
421
|
+
});
|
|
276
422
|
}
|
|
277
423
|
/**
|
|
278
424
|
* Track a product view event
|
|
279
425
|
* @param event The product view event
|
|
280
426
|
*/
|
|
281
|
-
trackProductView(event) {
|
|
282
|
-
const
|
|
427
|
+
trackProductView(event, adapterParams) {
|
|
428
|
+
const eventName = this.getEventName(adapterParams, "ViewContent");
|
|
429
|
+
const baseParams = {
|
|
283
430
|
content_type: "product_group",
|
|
284
431
|
content_ids: [event.productId],
|
|
285
432
|
content_name: event.productName,
|
|
@@ -287,34 +434,56 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
287
434
|
value: event.price,
|
|
288
435
|
currency: event.currency || "INR"
|
|
289
436
|
};
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
437
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
438
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
439
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
440
|
+
if (event.eventId) {
|
|
441
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
442
|
+
eventID: event.eventId
|
|
443
|
+
});
|
|
444
|
+
} else {
|
|
445
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
446
|
+
}
|
|
447
|
+
this.logger.debug("ProductView event tracked", {
|
|
448
|
+
eventName,
|
|
449
|
+
params: enhancedParams
|
|
450
|
+
});
|
|
295
451
|
}
|
|
296
452
|
/**
|
|
297
453
|
* Track an add to cart event
|
|
298
454
|
* @param event The add to cart event
|
|
299
455
|
*/
|
|
300
|
-
trackAddToCart(event) {
|
|
301
|
-
const
|
|
456
|
+
trackAddToCart(event, adapterParams) {
|
|
457
|
+
const eventName = this.getEventName(adapterParams, "AddToCart");
|
|
458
|
+
const baseParams = {
|
|
302
459
|
content_type: "product_group",
|
|
303
460
|
content_ids: [event.productId],
|
|
304
461
|
content_name: event.productName,
|
|
305
462
|
value: event.price,
|
|
306
463
|
currency: event.currency || "INR"
|
|
307
464
|
};
|
|
308
|
-
const
|
|
309
|
-
|
|
310
|
-
this.
|
|
465
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
466
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
467
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
468
|
+
if (event.eventId) {
|
|
469
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
470
|
+
eventID: event.eventId
|
|
471
|
+
});
|
|
472
|
+
} else {
|
|
473
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
474
|
+
}
|
|
475
|
+
this.logger.debug("AddToCart event tracked", {
|
|
476
|
+
eventName,
|
|
477
|
+
params: enhancedParams
|
|
478
|
+
});
|
|
311
479
|
}
|
|
312
480
|
/**
|
|
313
481
|
* Track a checkout started event
|
|
314
482
|
* @param event The checkout started event
|
|
315
483
|
*/
|
|
316
|
-
trackCheckoutStarted(event) {
|
|
317
|
-
const
|
|
484
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
485
|
+
const eventName = this.getEventName(adapterParams, "InitiateCheckout");
|
|
486
|
+
const baseParams = {
|
|
318
487
|
content_ids: event.items.map((item) => item.productId),
|
|
319
488
|
content_type: "product_group",
|
|
320
489
|
value: event.cartValue,
|
|
@@ -326,18 +495,28 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
326
495
|
item_price: item.price
|
|
327
496
|
}))
|
|
328
497
|
};
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
498
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
499
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
500
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
501
|
+
if (event.eventId) {
|
|
502
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
503
|
+
eventID: event.eventId
|
|
504
|
+
});
|
|
505
|
+
} else {
|
|
506
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
507
|
+
}
|
|
508
|
+
this.logger.debug("CheckoutStarted event tracked", {
|
|
509
|
+
eventName,
|
|
510
|
+
params: enhancedParams
|
|
511
|
+
});
|
|
334
512
|
}
|
|
335
513
|
/**
|
|
336
514
|
* Track a checkout completed event
|
|
337
515
|
* @param event The checkout completed event
|
|
338
516
|
*/
|
|
339
|
-
trackCheckoutCompleted(event) {
|
|
340
|
-
const
|
|
517
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
518
|
+
const eventName = this.getEventName(adapterParams, "Purchase");
|
|
519
|
+
const baseParams = {
|
|
341
520
|
value: event.cartValue,
|
|
342
521
|
currency: event.currency || "INR",
|
|
343
522
|
content_type: "product_group",
|
|
@@ -349,26 +528,54 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
349
528
|
item_price: item.price
|
|
350
529
|
}))
|
|
351
530
|
};
|
|
352
|
-
|
|
531
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
532
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
533
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
534
|
+
if (event.eventId) {
|
|
535
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
536
|
+
eventID: event.eventId
|
|
537
|
+
});
|
|
538
|
+
} else {
|
|
539
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
540
|
+
}
|
|
541
|
+
this.logger.debug("CheckoutCompleted event tracked", {
|
|
542
|
+
eventName,
|
|
543
|
+
params: enhancedParams
|
|
544
|
+
});
|
|
353
545
|
}
|
|
354
546
|
/**
|
|
355
547
|
* Track a search event
|
|
356
548
|
* @param event The search event
|
|
357
549
|
*/
|
|
358
|
-
trackSearch(event) {
|
|
359
|
-
const
|
|
550
|
+
trackSearch(event, adapterParams) {
|
|
551
|
+
const eventName = this.getEventName(adapterParams, "Search");
|
|
552
|
+
const baseParams = {
|
|
360
553
|
search_string: event.searchTerm,
|
|
361
554
|
content_category: "product",
|
|
362
555
|
content_ids: event.content_ids || []
|
|
363
556
|
};
|
|
364
|
-
|
|
557
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
558
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
559
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
560
|
+
if (event.eventId) {
|
|
561
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
562
|
+
eventID: event.eventId
|
|
563
|
+
});
|
|
564
|
+
} else {
|
|
565
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
566
|
+
}
|
|
567
|
+
this.logger.debug("Search event tracked", {
|
|
568
|
+
eventName,
|
|
569
|
+
params: enhancedParams
|
|
570
|
+
});
|
|
365
571
|
}
|
|
366
572
|
/**
|
|
367
573
|
* Track an add payment info event
|
|
368
574
|
* @param event The add payment info event
|
|
369
575
|
*/
|
|
370
|
-
trackAddPaymentInfo(event) {
|
|
371
|
-
const
|
|
576
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
577
|
+
const eventName = this.getEventName(adapterParams, "AddPaymentInfo");
|
|
578
|
+
const baseParams = {
|
|
372
579
|
value: event.cartValue,
|
|
373
580
|
currency: event.currency || "INR",
|
|
374
581
|
content_type: "product_group",
|
|
@@ -380,18 +587,28 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
380
587
|
})),
|
|
381
588
|
payment_type: event.paymentType || ""
|
|
382
589
|
};
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
590
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
591
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
592
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
593
|
+
if (event.eventId) {
|
|
594
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
595
|
+
eventID: event.eventId
|
|
596
|
+
});
|
|
597
|
+
} else {
|
|
598
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
599
|
+
}
|
|
600
|
+
this.logger.debug("AddPaymentInfo event tracked", {
|
|
601
|
+
eventName,
|
|
602
|
+
params: enhancedParams
|
|
603
|
+
});
|
|
388
604
|
}
|
|
389
605
|
/**
|
|
390
606
|
* Track a view content event
|
|
391
607
|
* @param event The view content event
|
|
392
608
|
*/
|
|
393
|
-
trackViewContent(event) {
|
|
394
|
-
const
|
|
609
|
+
trackViewContent(event, adapterParams) {
|
|
610
|
+
const eventName = this.getEventName(adapterParams, "ViewContent");
|
|
611
|
+
const baseParams = {
|
|
395
612
|
content_type: event.content_type || "product",
|
|
396
613
|
content_ids: event.content_ids || [],
|
|
397
614
|
content_name: event.content_name || "",
|
|
@@ -399,18 +616,28 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
399
616
|
value: event.value || 0,
|
|
400
617
|
currency: event.currency || "INR"
|
|
401
618
|
};
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
619
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
620
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
621
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
622
|
+
if (event.eventId) {
|
|
623
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
624
|
+
eventID: event.eventId
|
|
625
|
+
});
|
|
626
|
+
} else {
|
|
627
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
628
|
+
}
|
|
629
|
+
this.logger.debug("ViewContent event tracked", {
|
|
630
|
+
eventName,
|
|
631
|
+
params: enhancedParams
|
|
632
|
+
});
|
|
407
633
|
}
|
|
408
634
|
/**
|
|
409
635
|
* Track a purchase event
|
|
410
636
|
* @param event The purchase event
|
|
411
637
|
*/
|
|
412
|
-
trackPurchase(event) {
|
|
413
|
-
const
|
|
638
|
+
trackPurchase(event, adapterParams) {
|
|
639
|
+
const eventName = this.getEventName(adapterParams, "Purchase");
|
|
640
|
+
const baseParams = {
|
|
414
641
|
value: event.value,
|
|
415
642
|
currency: event.currency || "INR",
|
|
416
643
|
content_type: event.content_type || "product_group",
|
|
@@ -418,15 +645,20 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
418
645
|
num_items: event.num_items || 1,
|
|
419
646
|
contents: event.contents || []
|
|
420
647
|
};
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
648
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
649
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
650
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
651
|
+
if (event.eventId) {
|
|
652
|
+
window.fbq?.("track", eventName, enhancedParams, {
|
|
653
|
+
eventID: event.eventId
|
|
654
|
+
});
|
|
655
|
+
} else {
|
|
656
|
+
window.fbq?.("track", eventName, enhancedParams);
|
|
657
|
+
}
|
|
658
|
+
this.logger.debug("Purchase event tracked", {
|
|
659
|
+
eventName,
|
|
660
|
+
params: enhancedParams
|
|
661
|
+
});
|
|
430
662
|
}
|
|
431
663
|
};
|
|
432
664
|
|
|
@@ -475,8 +707,9 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
475
707
|
/**
|
|
476
708
|
* Track an event with Google Analytics
|
|
477
709
|
* @param event The event to track
|
|
710
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
478
711
|
*/
|
|
479
|
-
async trackEvent(event) {
|
|
712
|
+
async trackEvent(event, adapterParams) {
|
|
480
713
|
this.logger.debug("Attempting to track event", {
|
|
481
714
|
initialized: this.initialized,
|
|
482
715
|
hasWindow: typeof window !== "undefined",
|
|
@@ -502,76 +735,94 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
502
735
|
});
|
|
503
736
|
switch (event.type) {
|
|
504
737
|
case "page_view" /* PAGE_VIEW */:
|
|
505
|
-
this.trackPageView(
|
|
738
|
+
this.trackPageView(
|
|
739
|
+
event,
|
|
740
|
+
measurementId,
|
|
741
|
+
adapterParams
|
|
742
|
+
);
|
|
506
743
|
break;
|
|
507
744
|
case "user_engagement" /* USER_ENGAGEMENT */:
|
|
508
|
-
this.trackUserEngagement();
|
|
745
|
+
this.trackUserEngagement(adapterParams);
|
|
509
746
|
break;
|
|
510
747
|
case "session_start" /* SESSION_START */:
|
|
511
|
-
this.trackSessionStart();
|
|
748
|
+
this.trackSessionStart(adapterParams);
|
|
512
749
|
break;
|
|
513
750
|
case "first_visit" /* FIRST_VISIT */:
|
|
514
|
-
this.trackFirstVisit();
|
|
751
|
+
this.trackFirstVisit(adapterParams);
|
|
515
752
|
break;
|
|
516
753
|
case "view_item" /* VIEW_ITEM */:
|
|
517
|
-
this.trackViewItem(event);
|
|
754
|
+
this.trackViewItem(event, adapterParams);
|
|
518
755
|
break;
|
|
519
756
|
case "viewed_product" /* VIEWED_PRODUCT */:
|
|
520
|
-
this.trackViewedProduct(event);
|
|
757
|
+
this.trackViewedProduct(event, adapterParams);
|
|
521
758
|
break;
|
|
522
759
|
case "checkout_payment" /* CHECKOUT_PAYMENT */:
|
|
523
|
-
this.trackCheckoutPayment(
|
|
760
|
+
this.trackCheckoutPayment(
|
|
761
|
+
event,
|
|
762
|
+
adapterParams
|
|
763
|
+
);
|
|
524
764
|
break;
|
|
525
765
|
case "scroll" /* SCROLL */:
|
|
526
|
-
this.trackScroll();
|
|
766
|
+
this.trackScroll(adapterParams);
|
|
527
767
|
break;
|
|
528
768
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
529
|
-
|
|
530
|
-
this.trackAddToCart(event);
|
|
769
|
+
this.trackAddToCart(event, adapterParams);
|
|
531
770
|
break;
|
|
532
771
|
case "form_start" /* FORM_START */:
|
|
533
|
-
this.trackFormStart();
|
|
772
|
+
this.trackFormStart(adapterParams);
|
|
534
773
|
break;
|
|
535
774
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
536
|
-
this.trackCheckoutStarted(
|
|
775
|
+
this.trackCheckoutStarted(
|
|
776
|
+
event,
|
|
777
|
+
adapterParams
|
|
778
|
+
);
|
|
537
779
|
break;
|
|
538
780
|
case "form_submission" /* FORM_SUBMISSION */:
|
|
539
|
-
this.trackFormSubmission(event);
|
|
781
|
+
this.trackFormSubmission(event, adapterParams);
|
|
540
782
|
break;
|
|
541
783
|
case "search" /* SEARCH */:
|
|
542
|
-
this.trackSearch(event);
|
|
784
|
+
this.trackSearch(event, adapterParams);
|
|
543
785
|
break;
|
|
544
786
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
545
|
-
this.trackCheckoutCompleted(
|
|
787
|
+
this.trackCheckoutCompleted(
|
|
788
|
+
event,
|
|
789
|
+
adapterParams
|
|
790
|
+
);
|
|
546
791
|
break;
|
|
547
792
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
548
|
-
this.trackAddPaymentInfo(event);
|
|
793
|
+
this.trackAddPaymentInfo(event, adapterParams);
|
|
549
794
|
break;
|
|
550
795
|
case "view_content" /* VIEW_CONTENT */:
|
|
551
|
-
this.trackViewContent(event);
|
|
796
|
+
this.trackViewContent(event, adapterParams);
|
|
552
797
|
break;
|
|
553
798
|
case "purchase" /* PURCHASE */:
|
|
554
|
-
this.trackPurchase(event);
|
|
799
|
+
this.trackPurchase(event, adapterParams);
|
|
555
800
|
break;
|
|
556
801
|
case "view_search_results" /* VIEW_SEARCH_RESULTS */:
|
|
557
|
-
this.trackViewSearchResults(
|
|
802
|
+
this.trackViewSearchResults(
|
|
803
|
+
event,
|
|
804
|
+
adapterParams
|
|
805
|
+
);
|
|
558
806
|
break;
|
|
559
807
|
case "order_placed" /* ORDER_PLACED */:
|
|
560
|
-
this.trackOrderPlaced(event);
|
|
808
|
+
this.trackOrderPlaced(event, adapterParams);
|
|
561
809
|
break;
|
|
562
810
|
case "begin_checkout" /* BEGIN_CHECKOUT */:
|
|
563
|
-
this.trackBeginCheckout(event);
|
|
811
|
+
this.trackBeginCheckout(event, adapterParams);
|
|
564
812
|
break;
|
|
565
813
|
case "custom" /* CUSTOM */:
|
|
566
|
-
this.trackCustomEvent(event);
|
|
814
|
+
this.trackCustomEvent(event, adapterParams);
|
|
567
815
|
break;
|
|
568
816
|
default: {
|
|
569
|
-
const
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
817
|
+
const eventName = this.getEventName(adapterParams, event.type);
|
|
818
|
+
const baseParams = this.eventToParams(event);
|
|
819
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
820
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
821
|
+
const enhancedParams = this.mergeEventData(
|
|
822
|
+
experimentParams,
|
|
823
|
+
adapterParams
|
|
574
824
|
);
|
|
825
|
+
window.gtag("event", eventName, enhancedParams);
|
|
575
826
|
break;
|
|
576
827
|
}
|
|
577
828
|
}
|
|
@@ -581,8 +832,9 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
581
832
|
* @param event The page view event
|
|
582
833
|
* @param measurementId The Google Analytics measurement ID
|
|
583
834
|
*/
|
|
584
|
-
trackPageView(event, measurementId) {
|
|
585
|
-
const
|
|
835
|
+
trackPageView(event, measurementId, adapterParams) {
|
|
836
|
+
const eventName = this.getEventName(adapterParams, "page_view");
|
|
837
|
+
const baseParams = {
|
|
586
838
|
page_path: event.path,
|
|
587
839
|
page_title: event.title || document.title,
|
|
588
840
|
page_location: event.page_location || window.location.href,
|
|
@@ -605,14 +857,14 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
605
857
|
user_properties: event.user_properties,
|
|
606
858
|
session_engaged: event.session_engaged
|
|
607
859
|
};
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
const
|
|
860
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
861
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
862
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
863
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
864
|
+
}
|
|
865
|
+
trackUserEngagement(adapterParams) {
|
|
866
|
+
const eventName = this.getEventName(adapterParams, "user_engagement");
|
|
867
|
+
const baseParams = {
|
|
616
868
|
batch_ordering_id: "",
|
|
617
869
|
batch_page_id: "",
|
|
618
870
|
campaign: "",
|
|
@@ -629,14 +881,14 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
629
881
|
srsltid: "",
|
|
630
882
|
term: ""
|
|
631
883
|
};
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
const
|
|
884
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
885
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
886
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
887
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
888
|
+
}
|
|
889
|
+
trackSessionStart(adapterParams) {
|
|
890
|
+
const eventName = this.getEventName(adapterParams, "session_start");
|
|
891
|
+
const baseParams = {
|
|
640
892
|
batch_ordering_id: "",
|
|
641
893
|
batch_page_id: "",
|
|
642
894
|
campaign: "",
|
|
@@ -655,14 +907,14 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
655
907
|
srsltid: "",
|
|
656
908
|
term: ""
|
|
657
909
|
};
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
const
|
|
910
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
911
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
912
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
913
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
914
|
+
}
|
|
915
|
+
trackFirstVisit(adapterParams) {
|
|
916
|
+
const eventName = this.getEventName(adapterParams, "first_visit");
|
|
917
|
+
const baseParams = {
|
|
666
918
|
batch_ordering_id: "",
|
|
667
919
|
batch_page_id: "",
|
|
668
920
|
campaign: "",
|
|
@@ -683,25 +935,26 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
683
935
|
page_source: "",
|
|
684
936
|
page_term: ""
|
|
685
937
|
};
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
);
|
|
702
|
-
}
|
|
703
|
-
trackScroll() {
|
|
704
|
-
const
|
|
938
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
939
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
940
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
941
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
942
|
+
}
|
|
943
|
+
trackViewItem(event, adapterParams) {
|
|
944
|
+
const eventName = this.getEventName(adapterParams, "view_item");
|
|
945
|
+
const baseParams = {
|
|
946
|
+
currency: event.currency,
|
|
947
|
+
value: event.value,
|
|
948
|
+
items: event.items
|
|
949
|
+
};
|
|
950
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
951
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
952
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
953
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
954
|
+
}
|
|
955
|
+
trackScroll(adapterParams) {
|
|
956
|
+
const eventName = this.getEventName(adapterParams, "scroll");
|
|
957
|
+
const baseParams = {
|
|
705
958
|
batch_ordering_id: "",
|
|
706
959
|
batch_page_id: "",
|
|
707
960
|
engagement_time_msec: void 0,
|
|
@@ -715,46 +968,52 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
715
968
|
percent_scrolled: 90
|
|
716
969
|
// or dynamically captured
|
|
717
970
|
};
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
window.gtag?.(
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
})
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
971
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
972
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
973
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
974
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
975
|
+
}
|
|
976
|
+
trackCheckoutPayment(event, adapterParams) {
|
|
977
|
+
const eventName = this.getEventName(adapterParams, "checkout_payment");
|
|
978
|
+
const baseParams = {
|
|
979
|
+
currency: event.currency,
|
|
980
|
+
value: event.cartValue,
|
|
981
|
+
items: event.items.map((item) => ({
|
|
982
|
+
item_id: item.productId,
|
|
983
|
+
item_name: item.productName,
|
|
984
|
+
price: item.price,
|
|
985
|
+
quantity: item.quantity
|
|
986
|
+
}))
|
|
987
|
+
};
|
|
988
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
989
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
990
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
991
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
992
|
+
}
|
|
993
|
+
trackViewedProduct(event, adapterParams) {
|
|
994
|
+
const eventName = this.getEventName(adapterParams, "viewed_product");
|
|
995
|
+
const baseParams = {
|
|
996
|
+
currency: event.currency,
|
|
997
|
+
value: event.price,
|
|
998
|
+
items: [
|
|
999
|
+
{
|
|
1000
|
+
item_id: event.productId,
|
|
1001
|
+
item_name: event.productName,
|
|
1002
|
+
price: event.price,
|
|
1003
|
+
currency: event.currency
|
|
1004
|
+
}
|
|
1005
|
+
],
|
|
1006
|
+
view_duration: event.viewDuration
|
|
1007
|
+
};
|
|
1008
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1009
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1010
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1011
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
754
1012
|
}
|
|
755
|
-
trackAddToCart(event) {
|
|
1013
|
+
trackAddToCart(event, adapterParams) {
|
|
756
1014
|
this.logger.debug("Processing add_to_cart event", { event });
|
|
757
|
-
const
|
|
1015
|
+
const eventName = this.getEventName(adapterParams, "add_to_cart");
|
|
1016
|
+
const baseParams = {
|
|
758
1017
|
currency: event.currency || "INR",
|
|
759
1018
|
value: event.price * (event.quantity || 1),
|
|
760
1019
|
// Calculate total value
|
|
@@ -780,14 +1039,18 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
780
1039
|
user_id: event.user_id,
|
|
781
1040
|
user_properties: event.user_properties
|
|
782
1041
|
};
|
|
783
|
-
const
|
|
1042
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1043
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1044
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
784
1045
|
this.logger.debug("Sending add_to_cart event to gtag", {
|
|
1046
|
+
eventName,
|
|
785
1047
|
params: enhancedParams
|
|
786
1048
|
});
|
|
787
|
-
window.gtag?.("event",
|
|
1049
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
788
1050
|
}
|
|
789
|
-
trackFormStart() {
|
|
790
|
-
const
|
|
1051
|
+
trackFormStart(adapterParams) {
|
|
1052
|
+
const eventName = this.getEventName(adapterParams, "form_start");
|
|
1053
|
+
const baseParams = {
|
|
791
1054
|
batch_ordering_id: "",
|
|
792
1055
|
batch_page_id: "",
|
|
793
1056
|
engagement_time_msec: void 0,
|
|
@@ -805,14 +1068,14 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
805
1068
|
page_referrer: document.referrer,
|
|
806
1069
|
page_title: document.title
|
|
807
1070
|
};
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
const
|
|
1071
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1072
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1073
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1074
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1075
|
+
}
|
|
1076
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
1077
|
+
const eventName = this.getEventName(adapterParams, "begin_checkout");
|
|
1078
|
+
const baseParams = {
|
|
816
1079
|
batch_ordering_id: "",
|
|
817
1080
|
batch_page_id: "",
|
|
818
1081
|
currency: event.currency || "INR",
|
|
@@ -835,14 +1098,14 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
835
1098
|
item_variant: item.variant
|
|
836
1099
|
}))
|
|
837
1100
|
};
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
const
|
|
1101
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1102
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1103
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1104
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1105
|
+
}
|
|
1106
|
+
trackFormSubmission(event, adapterParams) {
|
|
1107
|
+
const eventName = this.getEventName(adapterParams, "form_submit");
|
|
1108
|
+
const baseParams = {
|
|
846
1109
|
batch_ordering_id: "",
|
|
847
1110
|
batch_page_id: "",
|
|
848
1111
|
engagement_time_msec: void 0,
|
|
@@ -856,14 +1119,14 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
856
1119
|
page_referrer: document.referrer,
|
|
857
1120
|
page_title: document.title
|
|
858
1121
|
};
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
const
|
|
1122
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1123
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1124
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1125
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1126
|
+
}
|
|
1127
|
+
trackSearch(event, adapterParams) {
|
|
1128
|
+
const eventName = this.getEventName(adapterParams, "search");
|
|
1129
|
+
const baseParams = {
|
|
867
1130
|
batch_ordering_id: "",
|
|
868
1131
|
batch_page_id: "",
|
|
869
1132
|
engagement_time_msec: void 0,
|
|
@@ -875,14 +1138,18 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
875
1138
|
page_title: document.title,
|
|
876
1139
|
search_term: event.searchTerm
|
|
877
1140
|
};
|
|
878
|
-
|
|
1141
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1142
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1143
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1144
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
879
1145
|
}
|
|
880
1146
|
/**
|
|
881
1147
|
* Track a checkout completed event
|
|
882
1148
|
* @param event The checkout completed event
|
|
883
1149
|
*/
|
|
884
|
-
trackCheckoutCompleted(event) {
|
|
885
|
-
const
|
|
1150
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
1151
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
1152
|
+
const baseParams = {
|
|
886
1153
|
transaction_id: event.orderId,
|
|
887
1154
|
currency: event.currency || "INR",
|
|
888
1155
|
value: event.cartValue,
|
|
@@ -894,22 +1161,30 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
894
1161
|
item_variant: item.variant
|
|
895
1162
|
}))
|
|
896
1163
|
};
|
|
897
|
-
|
|
1164
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1165
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1166
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1167
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
898
1168
|
}
|
|
899
1169
|
/**
|
|
900
1170
|
* Track a custom event
|
|
901
1171
|
* @param event The custom event
|
|
902
1172
|
*/
|
|
903
|
-
trackCustomEvent(event) {
|
|
904
|
-
const
|
|
905
|
-
|
|
1173
|
+
trackCustomEvent(event, adapterParams) {
|
|
1174
|
+
const eventName = this.getEventName(adapterParams, event.name);
|
|
1175
|
+
const baseParams = event.properties || {};
|
|
1176
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1177
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1178
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1179
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
906
1180
|
}
|
|
907
1181
|
/**
|
|
908
1182
|
* Track an add payment info event
|
|
909
1183
|
* @param event The add payment info event
|
|
910
1184
|
*/
|
|
911
|
-
trackAddPaymentInfo(event) {
|
|
912
|
-
const
|
|
1185
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
1186
|
+
const eventName = this.getEventName(adapterParams, "add_payment_info");
|
|
1187
|
+
const baseParams = {
|
|
913
1188
|
currency: event.currency || "INR",
|
|
914
1189
|
value: event.cartValue,
|
|
915
1190
|
payment_type: event.paymentType || "",
|
|
@@ -921,18 +1196,18 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
921
1196
|
item_variant: item.variant
|
|
922
1197
|
}))
|
|
923
1198
|
};
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
);
|
|
1199
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1200
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1201
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1202
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
929
1203
|
}
|
|
930
1204
|
/**
|
|
931
1205
|
* Track a view content event
|
|
932
1206
|
* @param event The view content event
|
|
933
1207
|
*/
|
|
934
|
-
trackViewContent(event) {
|
|
935
|
-
const
|
|
1208
|
+
trackViewContent(event, adapterParams) {
|
|
1209
|
+
const eventName = this.getEventName(adapterParams, "view_item");
|
|
1210
|
+
const baseParams = {
|
|
936
1211
|
currency: event.currency || "USD",
|
|
937
1212
|
value: event.value || 0,
|
|
938
1213
|
items: event.items?.map((item) => ({
|
|
@@ -961,18 +1236,18 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
961
1236
|
user_id: event.user_id,
|
|
962
1237
|
user_properties: event.user_properties
|
|
963
1238
|
};
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
);
|
|
1239
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1240
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1241
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1242
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
969
1243
|
}
|
|
970
1244
|
/**
|
|
971
1245
|
* Track a purchase event
|
|
972
1246
|
* @param event The purchase event
|
|
973
1247
|
*/
|
|
974
|
-
trackPurchase(event) {
|
|
975
|
-
const
|
|
1248
|
+
trackPurchase(event, adapterParams) {
|
|
1249
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
1250
|
+
const baseParams = {
|
|
976
1251
|
transaction_id: event.transaction_id,
|
|
977
1252
|
value: event.value,
|
|
978
1253
|
currency: event.currency || "USD",
|
|
@@ -1005,14 +1280,18 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1005
1280
|
user_id: event.user_id,
|
|
1006
1281
|
user_properties: event.user_properties
|
|
1007
1282
|
};
|
|
1008
|
-
|
|
1283
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1284
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1285
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1286
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1009
1287
|
}
|
|
1010
1288
|
/**
|
|
1011
1289
|
* Track a view search results event
|
|
1012
1290
|
* @param event The view search results event
|
|
1013
1291
|
*/
|
|
1014
|
-
trackViewSearchResults(event) {
|
|
1015
|
-
const
|
|
1292
|
+
trackViewSearchResults(event, adapterParams) {
|
|
1293
|
+
const eventName = this.getEventName(adapterParams, "view_search_results");
|
|
1294
|
+
const baseParams = {
|
|
1016
1295
|
search_term: event.search_term,
|
|
1017
1296
|
// GA4-specific parameters
|
|
1018
1297
|
batch_ordering_id: event.batch_ordering_id || "",
|
|
@@ -1027,18 +1306,18 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1027
1306
|
user_id: event.user_id,
|
|
1028
1307
|
user_properties: event.user_properties
|
|
1029
1308
|
};
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
);
|
|
1309
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1310
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1311
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1312
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1035
1313
|
}
|
|
1036
1314
|
/**
|
|
1037
1315
|
* Track an order placed event
|
|
1038
1316
|
* @param event The order placed event
|
|
1039
1317
|
*/
|
|
1040
|
-
trackOrderPlaced(event) {
|
|
1041
|
-
const
|
|
1318
|
+
trackOrderPlaced(event, adapterParams) {
|
|
1319
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
1320
|
+
const baseParams = {
|
|
1042
1321
|
transaction_id: event.order_id,
|
|
1043
1322
|
value: event.total_amount,
|
|
1044
1323
|
currency: event.currency || "USD",
|
|
@@ -1064,14 +1343,18 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1064
1343
|
user_id: event.user_id,
|
|
1065
1344
|
user_properties: event.user_properties
|
|
1066
1345
|
};
|
|
1067
|
-
|
|
1346
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1347
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1348
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1349
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1068
1350
|
}
|
|
1069
1351
|
/**
|
|
1070
1352
|
* Track a begin checkout event
|
|
1071
1353
|
* @param event The begin checkout event
|
|
1072
1354
|
*/
|
|
1073
|
-
trackBeginCheckout(event) {
|
|
1074
|
-
const
|
|
1355
|
+
trackBeginCheckout(event, adapterParams) {
|
|
1356
|
+
const eventName = this.getEventName(adapterParams, "begin_checkout");
|
|
1357
|
+
const baseParams = {
|
|
1075
1358
|
currency: event.currency || "USD",
|
|
1076
1359
|
value: event.value || 0,
|
|
1077
1360
|
coupon: event.coupon,
|
|
@@ -1101,11 +1384,10 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1101
1384
|
user_id: event.user_id,
|
|
1102
1385
|
user_properties: event.user_properties
|
|
1103
1386
|
};
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
);
|
|
1387
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1388
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1389
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1390
|
+
window.gtag?.("event", eventName, enhancedParams);
|
|
1109
1391
|
}
|
|
1110
1392
|
/**
|
|
1111
1393
|
* Convert an event to Google Analytics parameters
|
|
@@ -1113,7 +1395,8 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1113
1395
|
*/
|
|
1114
1396
|
eventToParams(event) {
|
|
1115
1397
|
const { type, timestamp, ...params } = event;
|
|
1116
|
-
|
|
1398
|
+
const affiliateParams = this.enhanceWithAffiliateParams(params);
|
|
1399
|
+
return this.enhanceWithExperimentParams(affiliateParams);
|
|
1117
1400
|
}
|
|
1118
1401
|
};
|
|
1119
1402
|
|
|
@@ -1135,44 +1418,9 @@ var EventNames = {
|
|
|
1135
1418
|
SEARCH: "Search",
|
|
1136
1419
|
// User events
|
|
1137
1420
|
USER_SIGNED_UP: "User Signed Up",
|
|
1138
|
-
USER_LOGGED_IN: "User Logged In"
|
|
1139
|
-
// MoEngage events
|
|
1140
|
-
ITEM_PURCHASED: "Item Purchased",
|
|
1141
|
-
UPDATE_CART: "Update Cart",
|
|
1142
|
-
CUSTOMER_REGISTERED: "Customer Registered",
|
|
1143
|
-
CUSTOMER_LOGGED_IN: "Customer Logged In",
|
|
1144
|
-
SHOPIFY_CHECKOUT_UPDATED: "Shopify - Checkout Updated",
|
|
1145
|
-
SHOPIFY_ABANDONED_CHECKOUT: "Shopify - Abandoned Checkout",
|
|
1146
|
-
SHOPIFY_ORDER_FULFILLED: "Shopify - Order Fulfilled",
|
|
1147
|
-
SHOPIFY_CHECKOUT_STARTED: "Shopify - Checkout Started",
|
|
1148
|
-
SHOPIFY_ADD_TO_CART: "Shopify - Add To Cart",
|
|
1149
|
-
SHOPIFY_REMOVED_FROM_CART: "Shopify - Removed From Cart",
|
|
1150
|
-
SHOPIFY_UPDATE_CART: "Shopify - Update Cart",
|
|
1151
|
-
SPINFORM_RESULT: "Spinform Result",
|
|
1152
|
-
COUPON_COPIED: "Coupon Copied",
|
|
1153
|
-
STARTED_CHECKOUT_GK: "Started Checkout GK",
|
|
1154
|
-
MOBILE_ADDED_GK: "Mobile Added GK",
|
|
1155
|
-
ADDRESS_SELECTED_GK: "Address Selected GK",
|
|
1156
|
-
ADDRESS_COMPLETED_GK: "Address Completed GK",
|
|
1157
|
-
PAYMENT_METHOD_SELECTED_GK: "Payment Method Selected GK",
|
|
1158
|
-
PAYMENT_COMPLETED_GK: "Payment Completed GK",
|
|
1159
|
-
ORDER_SUCCESS: "Order Success",
|
|
1160
|
-
ORDER_COMPLETED: "Order Completed",
|
|
1161
|
-
PIN_CODE_ADDED_GK: "PIN Code Added GK",
|
|
1162
|
-
ADDRESS_ADDED_GK: "Address Added GK",
|
|
1163
|
-
KP_MP_PHONE_NUMBER_LOGGED_IN: "KP MP Phone Number Logged In",
|
|
1164
|
-
KP_PHONE_NUMBER_LOGGED_IN: "KP Phone Number Logged In",
|
|
1165
|
-
KP_MP_SHOPIFY_LOGGED_IN: "KP MP Shopify Logged In",
|
|
1166
|
-
KP_MP_SUCCESSFULLY_LOGGED_OUT: "KP MP Successfully Logged Out",
|
|
1167
|
-
KP_WHATSAPP_LOGGED_IN: "KP Whatsapp Logged In",
|
|
1168
|
-
KP_MP_TRUECALLER_LOGGED_IN: "KP MP Truecaller Logged In",
|
|
1169
|
-
KP_MP_WHATSAPP_LOGGED_IN: "KP MP Whatsapp Logged In",
|
|
1170
|
-
KP_TRUECALLER_LOGGED_IN: "KP Truecaller Logged In",
|
|
1171
|
-
KP_SHOPIFY_LOGGED_IN: "KP Shopify Logged In",
|
|
1172
|
-
KP_SUCCESSFULLY_LOGGED_OUT: "KP Successfully Logged Out"
|
|
1421
|
+
USER_LOGGED_IN: "User Logged In"
|
|
1173
1422
|
};
|
|
1174
1423
|
var DEFAULT_CURRENCY = "INR";
|
|
1175
|
-
var HARDCODED_HANDLE = "ryze-gums";
|
|
1176
1424
|
|
|
1177
1425
|
// src/adapters/moengage-adapter.ts
|
|
1178
1426
|
import moengage from "@moengage/web-sdk";
|
|
@@ -1224,8 +1472,9 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1224
1472
|
/**
|
|
1225
1473
|
* Track an event with MoenGage SDK
|
|
1226
1474
|
* @param event The event to track
|
|
1475
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1227
1476
|
*/
|
|
1228
|
-
async trackEvent(event) {
|
|
1477
|
+
async trackEvent(event, adapterParams) {
|
|
1229
1478
|
if (!this.initialized || typeof window === "undefined" || !this.sdk) {
|
|
1230
1479
|
this.logger.warn(
|
|
1231
1480
|
"Cannot track event, adapter not initialized or SDK not available",
|
|
@@ -1241,106 +1490,172 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1241
1490
|
this.logger.debug("Tracking event", { eventType: event.type });
|
|
1242
1491
|
switch (event.type) {
|
|
1243
1492
|
case "page_view" /* PAGE_VIEW */:
|
|
1244
|
-
this.trackPageView(event);
|
|
1493
|
+
this.trackPageView(event, adapterParams);
|
|
1245
1494
|
break;
|
|
1246
1495
|
case "button_click" /* BUTTON_CLICK */:
|
|
1247
|
-
this.trackButtonClick(event);
|
|
1496
|
+
this.trackButtonClick(event, adapterParams);
|
|
1248
1497
|
break;
|
|
1249
1498
|
case "form_submission" /* FORM_SUBMISSION */:
|
|
1250
|
-
this.trackFormSubmission(event);
|
|
1499
|
+
this.trackFormSubmission(event, adapterParams);
|
|
1251
1500
|
break;
|
|
1252
1501
|
case "product_view" /* PRODUCT_VIEW */:
|
|
1253
|
-
this.trackProductView(event);
|
|
1502
|
+
this.trackProductView(event, adapterParams);
|
|
1254
1503
|
break;
|
|
1255
1504
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
1256
|
-
this.trackAddToCart(event);
|
|
1505
|
+
this.trackAddToCart(event, adapterParams);
|
|
1257
1506
|
break;
|
|
1258
1507
|
case "remove_from_cart" /* REMOVE_FROM_CART */:
|
|
1259
|
-
this.trackRemoveFromCart(event);
|
|
1508
|
+
this.trackRemoveFromCart(event, adapterParams);
|
|
1260
1509
|
break;
|
|
1261
1510
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
1262
|
-
this.trackCheckoutStarted(
|
|
1511
|
+
this.trackCheckoutStarted(
|
|
1512
|
+
event,
|
|
1513
|
+
adapterParams
|
|
1514
|
+
);
|
|
1263
1515
|
break;
|
|
1264
1516
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
1265
|
-
this.trackCheckoutCompleted(
|
|
1517
|
+
this.trackCheckoutCompleted(
|
|
1518
|
+
event,
|
|
1519
|
+
adapterParams
|
|
1520
|
+
);
|
|
1266
1521
|
break;
|
|
1267
1522
|
case "search" /* SEARCH */:
|
|
1268
|
-
this.trackSearch(event);
|
|
1523
|
+
this.trackSearch(event, adapterParams);
|
|
1269
1524
|
break;
|
|
1270
1525
|
case "user_signup" /* USER_SIGNUP */:
|
|
1271
|
-
this.trackUserSignup(event);
|
|
1526
|
+
this.trackUserSignup(event, adapterParams);
|
|
1272
1527
|
break;
|
|
1273
1528
|
case "user_login" /* USER_LOGIN */:
|
|
1274
|
-
this.trackUserLogin(event);
|
|
1529
|
+
this.trackUserLogin(event, adapterParams);
|
|
1275
1530
|
break;
|
|
1276
1531
|
case "custom" /* CUSTOM */:
|
|
1277
|
-
this.trackCustomEvent(event);
|
|
1532
|
+
this.trackCustomEvent(event, adapterParams);
|
|
1278
1533
|
break;
|
|
1279
1534
|
default:
|
|
1280
|
-
this.
|
|
1535
|
+
const eventName = this.getEventName(adapterParams, event.type);
|
|
1536
|
+
const baseParams = this.eventToParams(event);
|
|
1537
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1538
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1539
|
+
const enhancedParams = this.mergeEventData(
|
|
1540
|
+
experimentParams,
|
|
1541
|
+
adapterParams
|
|
1542
|
+
);
|
|
1543
|
+
this.sdk.track_event(eventName, enhancedParams);
|
|
1281
1544
|
break;
|
|
1282
1545
|
}
|
|
1283
1546
|
}
|
|
1284
1547
|
/**
|
|
1285
1548
|
* Track a page view event
|
|
1286
1549
|
* @param event The page view event
|
|
1550
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1287
1551
|
*/
|
|
1288
|
-
trackPageView(event) {
|
|
1552
|
+
trackPageView(event, adapterParams) {
|
|
1289
1553
|
if (!this.sdk?.track_event) {
|
|
1290
1554
|
this.logger.warn("track_event not available for PageView event");
|
|
1291
1555
|
return;
|
|
1292
1556
|
}
|
|
1293
|
-
const
|
|
1557
|
+
const eventName = this.getEventName(adapterParams, EventNames.PAGE_VIEWED);
|
|
1558
|
+
const baseEventData = {
|
|
1294
1559
|
page_path: event.path,
|
|
1295
1560
|
page_title: event.title,
|
|
1296
1561
|
page_url: window.location.href,
|
|
1297
1562
|
referrer: event.referrer || document.referrer
|
|
1298
1563
|
};
|
|
1299
|
-
this.
|
|
1300
|
-
this.
|
|
1564
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1565
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1566
|
+
const enhancedEventData = this.mergeEventData(
|
|
1567
|
+
experimentParams,
|
|
1568
|
+
adapterParams
|
|
1569
|
+
);
|
|
1570
|
+
this.sdk.track_event(eventName, enhancedEventData);
|
|
1571
|
+
this.logger.debug("PageView event tracked", {
|
|
1572
|
+
eventName,
|
|
1573
|
+
eventData: enhancedEventData
|
|
1574
|
+
});
|
|
1301
1575
|
}
|
|
1302
1576
|
/**
|
|
1303
1577
|
* Track a button click event
|
|
1304
1578
|
* @param event The button click event
|
|
1579
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1305
1580
|
*/
|
|
1306
|
-
trackButtonClick(event) {
|
|
1307
|
-
this.
|
|
1581
|
+
trackButtonClick(event, adapterParams) {
|
|
1582
|
+
const eventName = this.getEventName(
|
|
1583
|
+
adapterParams,
|
|
1584
|
+
EventNames.BUTTON_CLICKED
|
|
1585
|
+
);
|
|
1586
|
+
const baseEventData = {
|
|
1308
1587
|
button_id: event.buttonId,
|
|
1309
1588
|
button_text: event.buttonText,
|
|
1310
1589
|
location: event.location
|
|
1311
|
-
}
|
|
1590
|
+
};
|
|
1591
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1592
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1593
|
+
const enhancedEventData = this.mergeEventData(
|
|
1594
|
+
experimentParams,
|
|
1595
|
+
adapterParams
|
|
1596
|
+
);
|
|
1597
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1312
1598
|
}
|
|
1313
1599
|
/**
|
|
1314
1600
|
* Track a form submission event
|
|
1315
1601
|
* @param event The form submission event
|
|
1602
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1316
1603
|
*/
|
|
1317
|
-
trackFormSubmission(event) {
|
|
1318
|
-
this.
|
|
1604
|
+
trackFormSubmission(event, adapterParams) {
|
|
1605
|
+
const eventName = this.getEventName(
|
|
1606
|
+
adapterParams,
|
|
1607
|
+
EventNames.FORM_SUBMITTED
|
|
1608
|
+
);
|
|
1609
|
+
const baseEventData = {
|
|
1319
1610
|
form_id: event.formId,
|
|
1320
1611
|
form_name: event.formName,
|
|
1321
1612
|
success: event.success
|
|
1322
|
-
}
|
|
1613
|
+
};
|
|
1614
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1615
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1616
|
+
const enhancedEventData = this.mergeEventData(
|
|
1617
|
+
experimentParams,
|
|
1618
|
+
adapterParams
|
|
1619
|
+
);
|
|
1620
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1323
1621
|
}
|
|
1324
1622
|
/**
|
|
1325
1623
|
* Track a product view event
|
|
1326
1624
|
* @param event The product view event
|
|
1625
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1327
1626
|
*/
|
|
1328
|
-
trackProductView(event) {
|
|
1329
|
-
this.
|
|
1627
|
+
trackProductView(event, adapterParams) {
|
|
1628
|
+
const eventName = this.getEventName(
|
|
1629
|
+
adapterParams,
|
|
1630
|
+
EventNames.PRODUCT_VIEWED
|
|
1631
|
+
);
|
|
1632
|
+
const baseEventData = {
|
|
1330
1633
|
product_id: event.productId,
|
|
1331
1634
|
product_name: event.productName,
|
|
1332
1635
|
price: event.price,
|
|
1333
1636
|
currency: event.currency || DEFAULT_CURRENCY,
|
|
1334
1637
|
category: event.category
|
|
1335
|
-
}
|
|
1638
|
+
};
|
|
1639
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1640
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1641
|
+
const enhancedEventData = this.mergeEventData(
|
|
1642
|
+
experimentParams,
|
|
1643
|
+
adapterParams
|
|
1644
|
+
);
|
|
1645
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1336
1646
|
}
|
|
1337
1647
|
/**
|
|
1338
1648
|
* Track an add to cart event
|
|
1339
1649
|
* @param event The add to cart event
|
|
1650
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1340
1651
|
*/
|
|
1341
|
-
trackAddToCart(event) {
|
|
1652
|
+
trackAddToCart(event, adapterParams) {
|
|
1342
1653
|
const quantity = event.quantity ?? 1;
|
|
1343
|
-
this.
|
|
1654
|
+
const eventName = this.getEventName(
|
|
1655
|
+
adapterParams,
|
|
1656
|
+
EventNames.ADDED_TO_CART
|
|
1657
|
+
);
|
|
1658
|
+
const baseEventData = {
|
|
1344
1659
|
product_id: event.productId,
|
|
1345
1660
|
product_name: event.productName,
|
|
1346
1661
|
price: event.price,
|
|
@@ -1348,14 +1663,26 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1348
1663
|
quantity,
|
|
1349
1664
|
variant: event.variant,
|
|
1350
1665
|
total_value: event.price * quantity
|
|
1351
|
-
}
|
|
1666
|
+
};
|
|
1667
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1668
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1669
|
+
const enhancedEventData = this.mergeEventData(
|
|
1670
|
+
experimentParams,
|
|
1671
|
+
adapterParams
|
|
1672
|
+
);
|
|
1673
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1352
1674
|
}
|
|
1353
1675
|
/**
|
|
1354
1676
|
* Track a remove from cart event
|
|
1355
1677
|
* @param event The remove from cart event
|
|
1678
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1356
1679
|
*/
|
|
1357
|
-
trackRemoveFromCart(event) {
|
|
1358
|
-
this.
|
|
1680
|
+
trackRemoveFromCart(event, adapterParams) {
|
|
1681
|
+
const eventName = this.getEventName(
|
|
1682
|
+
adapterParams,
|
|
1683
|
+
EventNames.REMOVED_FROM_CART
|
|
1684
|
+
);
|
|
1685
|
+
const baseEventData = {
|
|
1359
1686
|
product_id: event.productId,
|
|
1360
1687
|
product_name: event.productName,
|
|
1361
1688
|
price: event.price,
|
|
@@ -1363,14 +1690,26 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1363
1690
|
quantity: event.quantity,
|
|
1364
1691
|
variant: event.variant,
|
|
1365
1692
|
total_value: event.price * event.quantity
|
|
1366
|
-
}
|
|
1693
|
+
};
|
|
1694
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1695
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1696
|
+
const enhancedEventData = this.mergeEventData(
|
|
1697
|
+
experimentParams,
|
|
1698
|
+
adapterParams
|
|
1699
|
+
);
|
|
1700
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1367
1701
|
}
|
|
1368
1702
|
/**
|
|
1369
1703
|
* Track a checkout started event
|
|
1370
1704
|
* @param event The checkout started event
|
|
1705
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1371
1706
|
*/
|
|
1372
|
-
trackCheckoutStarted(event) {
|
|
1373
|
-
this.
|
|
1707
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
1708
|
+
const eventName = this.getEventName(
|
|
1709
|
+
adapterParams,
|
|
1710
|
+
EventNames.CHECKOUT_STARTED
|
|
1711
|
+
);
|
|
1712
|
+
const baseEventData = {
|
|
1374
1713
|
cart_value: event.cartValue,
|
|
1375
1714
|
currency: event.currency || DEFAULT_CURRENCY,
|
|
1376
1715
|
item_count: event.itemCount,
|
|
@@ -1381,14 +1720,26 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1381
1720
|
quantity: item.quantity,
|
|
1382
1721
|
variant: item.variant
|
|
1383
1722
|
}))
|
|
1384
|
-
}
|
|
1723
|
+
};
|
|
1724
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1725
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1726
|
+
const enhancedEventData = this.mergeEventData(
|
|
1727
|
+
experimentParams,
|
|
1728
|
+
adapterParams
|
|
1729
|
+
);
|
|
1730
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1385
1731
|
}
|
|
1386
1732
|
/**
|
|
1387
1733
|
* Track a checkout completed event
|
|
1388
1734
|
* @param event The checkout completed event
|
|
1735
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1389
1736
|
*/
|
|
1390
|
-
trackCheckoutCompleted(event) {
|
|
1391
|
-
this.
|
|
1737
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
1738
|
+
const eventName = this.getEventName(
|
|
1739
|
+
adapterParams,
|
|
1740
|
+
EventNames.PURCHASE_COMPLETED
|
|
1741
|
+
);
|
|
1742
|
+
const baseEventData = {
|
|
1392
1743
|
order_id: event.orderId,
|
|
1393
1744
|
cart_value: event.cartValue,
|
|
1394
1745
|
currency: event.currency || DEFAULT_CURRENCY,
|
|
@@ -1400,28 +1751,56 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1400
1751
|
quantity: item.quantity,
|
|
1401
1752
|
variant: item.variant
|
|
1402
1753
|
}))
|
|
1403
|
-
}
|
|
1754
|
+
};
|
|
1755
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1756
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1757
|
+
const enhancedEventData = this.mergeEventData(
|
|
1758
|
+
experimentParams,
|
|
1759
|
+
adapterParams
|
|
1760
|
+
);
|
|
1761
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1404
1762
|
}
|
|
1405
1763
|
/**
|
|
1406
1764
|
* Track a search event
|
|
1407
1765
|
* @param event The search event
|
|
1766
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1408
1767
|
*/
|
|
1409
|
-
trackSearch(event) {
|
|
1410
|
-
this.
|
|
1768
|
+
trackSearch(event, adapterParams) {
|
|
1769
|
+
const eventName = this.getEventName(adapterParams, EventNames.SEARCH);
|
|
1770
|
+
const baseEventData = {
|
|
1411
1771
|
search_term: event.searchTerm,
|
|
1412
1772
|
results_count: event.resultsCount
|
|
1413
|
-
}
|
|
1773
|
+
};
|
|
1774
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1775
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1776
|
+
const enhancedEventData = this.mergeEventData(
|
|
1777
|
+
experimentParams,
|
|
1778
|
+
adapterParams
|
|
1779
|
+
);
|
|
1780
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1414
1781
|
}
|
|
1415
1782
|
/**
|
|
1416
1783
|
* Track a user signup event
|
|
1417
1784
|
* @param event The user signup event
|
|
1785
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1418
1786
|
*/
|
|
1419
|
-
trackUserSignup(event) {
|
|
1420
|
-
this.
|
|
1787
|
+
trackUserSignup(event, adapterParams) {
|
|
1788
|
+
const eventName = this.getEventName(
|
|
1789
|
+
adapterParams,
|
|
1790
|
+
EventNames.USER_SIGNED_UP
|
|
1791
|
+
);
|
|
1792
|
+
const baseEventData = {
|
|
1421
1793
|
user_id: event.userId,
|
|
1422
1794
|
method: event.method,
|
|
1423
1795
|
success: event.success
|
|
1424
|
-
}
|
|
1796
|
+
};
|
|
1797
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1798
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1799
|
+
const enhancedEventData = this.mergeEventData(
|
|
1800
|
+
experimentParams,
|
|
1801
|
+
adapterParams
|
|
1802
|
+
);
|
|
1803
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1425
1804
|
if (event.userId && this.getConfig("enableUserIdentification", true)) {
|
|
1426
1805
|
this.sdk?.add_unique_user_id(event.userId);
|
|
1427
1806
|
}
|
|
@@ -1429,13 +1808,25 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1429
1808
|
/**
|
|
1430
1809
|
* Track a user login event
|
|
1431
1810
|
* @param event The user login event
|
|
1811
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1432
1812
|
*/
|
|
1433
|
-
trackUserLogin(event) {
|
|
1434
|
-
this.
|
|
1813
|
+
trackUserLogin(event, adapterParams) {
|
|
1814
|
+
const eventName = this.getEventName(
|
|
1815
|
+
adapterParams,
|
|
1816
|
+
EventNames.USER_LOGGED_IN
|
|
1817
|
+
);
|
|
1818
|
+
const baseEventData = {
|
|
1435
1819
|
user_id: event.userId,
|
|
1436
1820
|
method: event.method,
|
|
1437
1821
|
success: event.success
|
|
1438
|
-
}
|
|
1822
|
+
};
|
|
1823
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1824
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1825
|
+
const enhancedEventData = this.mergeEventData(
|
|
1826
|
+
experimentParams,
|
|
1827
|
+
adapterParams
|
|
1828
|
+
);
|
|
1829
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1439
1830
|
if (event.userId && this.getConfig("enableUserIdentification", true)) {
|
|
1440
1831
|
this.sdk?.add_unique_user_id(event.userId);
|
|
1441
1832
|
}
|
|
@@ -1443,9 +1834,18 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1443
1834
|
/**
|
|
1444
1835
|
* Track a custom event
|
|
1445
1836
|
* @param event The custom event
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1837
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1838
|
+
*/
|
|
1839
|
+
trackCustomEvent(event, adapterParams) {
|
|
1840
|
+
const eventName = this.getEventName(adapterParams, event.name);
|
|
1841
|
+
const baseEventData = event.properties || {};
|
|
1842
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseEventData);
|
|
1843
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1844
|
+
const enhancedEventData = this.mergeEventData(
|
|
1845
|
+
experimentParams,
|
|
1846
|
+
adapterParams
|
|
1847
|
+
);
|
|
1848
|
+
this.sdk?.track_event(eventName, enhancedEventData);
|
|
1449
1849
|
}
|
|
1450
1850
|
/**
|
|
1451
1851
|
* Convert an event to MoenGage parameters
|
|
@@ -1532,8 +1932,9 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1532
1932
|
/**
|
|
1533
1933
|
* Track an event with PostHog
|
|
1534
1934
|
* @param event The event to track
|
|
1935
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1535
1936
|
*/
|
|
1536
|
-
async trackEvent(event) {
|
|
1937
|
+
async trackEvent(event, adapterParams) {
|
|
1537
1938
|
if (!this.initialized || typeof window === "undefined" || !window.posthog) {
|
|
1538
1939
|
this.logger.warn(
|
|
1539
1940
|
"Cannot track event, adapter not initialized or posthog not available",
|
|
@@ -1549,74 +1950,84 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1549
1950
|
this.logger.debug("Tracking event", { eventType: event.type });
|
|
1550
1951
|
switch (event.type) {
|
|
1551
1952
|
case "page_view" /* PAGE_VIEW */:
|
|
1552
|
-
this.trackPageView(event);
|
|
1953
|
+
this.trackPageView(event, adapterParams);
|
|
1553
1954
|
break;
|
|
1554
1955
|
case "product_view" /* PRODUCT_VIEW */:
|
|
1555
|
-
this.trackProductView(event);
|
|
1956
|
+
this.trackProductView(event, adapterParams);
|
|
1556
1957
|
break;
|
|
1557
1958
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
1558
|
-
this.trackAddToCart(event);
|
|
1959
|
+
this.trackAddToCart(event, adapterParams);
|
|
1559
1960
|
break;
|
|
1560
1961
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
1561
|
-
this.trackCheckoutStarted(event);
|
|
1962
|
+
this.trackCheckoutStarted(event, adapterParams);
|
|
1562
1963
|
break;
|
|
1563
1964
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
1564
|
-
this.trackCheckoutCompleted(event);
|
|
1965
|
+
this.trackCheckoutCompleted(event, adapterParams);
|
|
1565
1966
|
break;
|
|
1566
1967
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
1567
|
-
this.trackAddPaymentInfo(event);
|
|
1968
|
+
this.trackAddPaymentInfo(event, adapterParams);
|
|
1568
1969
|
break;
|
|
1569
1970
|
case "search" /* SEARCH */:
|
|
1570
|
-
this.trackSearch(event);
|
|
1971
|
+
this.trackSearch(event, adapterParams);
|
|
1571
1972
|
break;
|
|
1572
1973
|
default:
|
|
1573
|
-
const
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1974
|
+
const eventName = this.getEventName(adapterParams, event.type);
|
|
1975
|
+
const baseParams = this.eventToParams(event);
|
|
1976
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1977
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1978
|
+
const enhancedParams = this.mergeEventData(
|
|
1979
|
+
experimentParams,
|
|
1980
|
+
adapterParams
|
|
1577
1981
|
);
|
|
1982
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1578
1983
|
break;
|
|
1579
1984
|
}
|
|
1580
1985
|
}
|
|
1581
1986
|
/**
|
|
1582
1987
|
* Track a page view event
|
|
1583
1988
|
* @param event The page view event
|
|
1989
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1584
1990
|
*/
|
|
1585
|
-
trackPageView(event) {
|
|
1586
|
-
const
|
|
1991
|
+
trackPageView(event, adapterParams) {
|
|
1992
|
+
const eventName = this.getEventName(adapterParams, "$pageview");
|
|
1993
|
+
const baseParams = {
|
|
1587
1994
|
path: event.path,
|
|
1588
1995
|
title: event.title,
|
|
1589
1996
|
referrer: event.referrer
|
|
1590
1997
|
};
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
);
|
|
1998
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1999
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2000
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2001
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1595
2002
|
}
|
|
1596
2003
|
/**
|
|
1597
2004
|
* Track a product view event
|
|
1598
2005
|
* @param event The product view event
|
|
2006
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1599
2007
|
*/
|
|
1600
|
-
trackProductView(event) {
|
|
1601
|
-
const
|
|
2008
|
+
trackProductView(event, adapterParams) {
|
|
2009
|
+
const eventName = this.getEventName(adapterParams, "product_viewed");
|
|
2010
|
+
const baseParams = {
|
|
1602
2011
|
product_id: event.productId,
|
|
1603
2012
|
product_name: event.productName,
|
|
1604
2013
|
category: event.category,
|
|
1605
2014
|
price: event.price,
|
|
1606
2015
|
currency: event.currency || "INR"
|
|
1607
2016
|
};
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
);
|
|
2017
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2018
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2019
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2020
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1612
2021
|
}
|
|
1613
2022
|
/**
|
|
1614
2023
|
* Track an add to cart event
|
|
1615
2024
|
* @param event The add to cart event
|
|
2025
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1616
2026
|
*/
|
|
1617
|
-
trackAddToCart(event) {
|
|
2027
|
+
trackAddToCart(event, adapterParams) {
|
|
1618
2028
|
this.logger.debug("Handling ADD_TO_CART event", { event });
|
|
1619
|
-
const
|
|
2029
|
+
const eventName = this.getEventName(adapterParams, "add_to_cart");
|
|
2030
|
+
const baseParams = {
|
|
1620
2031
|
product_id: event.productId,
|
|
1621
2032
|
product_name: event.productName,
|
|
1622
2033
|
price: event.price,
|
|
@@ -1624,23 +2035,28 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1624
2035
|
quantity: event.quantity,
|
|
1625
2036
|
variant: event.variant
|
|
1626
2037
|
};
|
|
1627
|
-
this.
|
|
2038
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2039
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2040
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2041
|
+
this.logger.debug("Sending to PostHog with params", {
|
|
2042
|
+
eventName,
|
|
2043
|
+
params: enhancedParams
|
|
2044
|
+
});
|
|
1628
2045
|
if (!window.posthog) {
|
|
1629
2046
|
this.logger.error("window.posthog is not available");
|
|
1630
2047
|
return;
|
|
1631
2048
|
}
|
|
1632
|
-
window.posthog.capture(
|
|
1633
|
-
"add_to_cart",
|
|
1634
|
-
this.enhanceWithAffiliateParams(params)
|
|
1635
|
-
);
|
|
2049
|
+
window.posthog.capture(eventName, enhancedParams);
|
|
1636
2050
|
this.logger.debug("Event sent to PostHog successfully");
|
|
1637
2051
|
}
|
|
1638
2052
|
/**
|
|
1639
2053
|
* Track a checkout started event
|
|
1640
2054
|
* @param event The checkout started event
|
|
2055
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1641
2056
|
*/
|
|
1642
|
-
trackCheckoutStarted(event) {
|
|
1643
|
-
const
|
|
2057
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
2058
|
+
const eventName = this.getEventName(adapterParams, "checkout_started");
|
|
2059
|
+
const baseParams = {
|
|
1644
2060
|
cart_value: event.cartValue,
|
|
1645
2061
|
currency: event.currency || "INR",
|
|
1646
2062
|
item_count: event.itemCount,
|
|
@@ -1652,17 +2068,19 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1652
2068
|
variant: item.variant
|
|
1653
2069
|
}))
|
|
1654
2070
|
};
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
);
|
|
2071
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2072
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2073
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2074
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1659
2075
|
}
|
|
1660
2076
|
/**
|
|
1661
2077
|
* Track a checkout completed event
|
|
1662
2078
|
* @param event The checkout completed event
|
|
2079
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1663
2080
|
*/
|
|
1664
|
-
trackCheckoutCompleted(event) {
|
|
1665
|
-
const
|
|
2081
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
2082
|
+
const eventName = this.getEventName(adapterParams, "purchase");
|
|
2083
|
+
const baseParams = {
|
|
1666
2084
|
order_id: event.orderId,
|
|
1667
2085
|
cart_value: event.cartValue,
|
|
1668
2086
|
currency: event.currency || "INR",
|
|
@@ -1675,29 +2093,36 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1675
2093
|
variant: item.variant
|
|
1676
2094
|
}))
|
|
1677
2095
|
};
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
);
|
|
2096
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2097
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2098
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2099
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1682
2100
|
}
|
|
1683
2101
|
/**
|
|
1684
2102
|
* Track a search event
|
|
1685
2103
|
* @param event The search event
|
|
2104
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1686
2105
|
*/
|
|
1687
|
-
trackSearch(event) {
|
|
1688
|
-
const
|
|
2106
|
+
trackSearch(event, adapterParams) {
|
|
2107
|
+
const eventName = this.getEventName(adapterParams, "search");
|
|
2108
|
+
const baseParams = {
|
|
1689
2109
|
search_term: event.searchTerm,
|
|
1690
2110
|
results_count: event.resultsCount,
|
|
1691
2111
|
content_ids: event.content_ids
|
|
1692
2112
|
};
|
|
1693
|
-
|
|
2113
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2114
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2115
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2116
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1694
2117
|
}
|
|
1695
2118
|
/**
|
|
1696
2119
|
* Track an add payment info event
|
|
1697
2120
|
* @param event The add payment info event
|
|
2121
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
1698
2122
|
*/
|
|
1699
|
-
trackAddPaymentInfo(event) {
|
|
1700
|
-
const
|
|
2123
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
2124
|
+
const eventName = this.getEventName(adapterParams, "add_payment_info");
|
|
2125
|
+
const baseParams = {
|
|
1701
2126
|
cart_value: event.cartValue,
|
|
1702
2127
|
currency: event.currency || "INR",
|
|
1703
2128
|
payment_type: event.paymentType,
|
|
@@ -1710,10 +2135,10 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
1710
2135
|
variant: item.variant
|
|
1711
2136
|
}))
|
|
1712
2137
|
};
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
);
|
|
2138
|
+
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2139
|
+
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2140
|
+
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2141
|
+
window.posthog?.capture(eventName, enhancedParams);
|
|
1717
2142
|
}
|
|
1718
2143
|
/**
|
|
1719
2144
|
* Convert an event to PostHog parameters
|
|
@@ -1837,43 +2262,62 @@ var ShopifyAdapter = class extends BaseAdapter {
|
|
|
1837
2262
|
shopId: `gid://shopify/Shop/${this.shopId}`,
|
|
1838
2263
|
currency: this.currency,
|
|
1839
2264
|
acceptedLanguage: DEFAULT_LANGUAGE,
|
|
1840
|
-
...this.enhanceWithAffiliateParams({})
|
|
2265
|
+
...this.enhanceWithExperimentParams(this.enhanceWithAffiliateParams({}))
|
|
1841
2266
|
};
|
|
1842
2267
|
}
|
|
1843
2268
|
/**
|
|
1844
2269
|
* Track an event using Shopify Analytics
|
|
1845
2270
|
*/
|
|
1846
|
-
async trackEvent(event) {
|
|
2271
|
+
async trackEvent(event, adapterParams) {
|
|
1847
2272
|
if (!this.initialized || typeof window === "undefined") {
|
|
1848
2273
|
this.logger.warn(
|
|
1849
2274
|
"Shopify Analytics not initialized or not in browser environment"
|
|
1850
2275
|
);
|
|
1851
2276
|
return;
|
|
1852
2277
|
}
|
|
2278
|
+
const params = this.getAdapterParams(adapterParams);
|
|
2279
|
+
const customEventName = this.getEventName(params, event.type);
|
|
1853
2280
|
this.logger.debug("Processing Shopify Analytics event", {
|
|
1854
2281
|
eventType: event.type,
|
|
1855
|
-
|
|
2282
|
+
customEventName,
|
|
2283
|
+
eventData: event,
|
|
2284
|
+
adapterParams: params
|
|
1856
2285
|
});
|
|
2286
|
+
const affiliateParams = this.enhanceWithAffiliateParams(event);
|
|
2287
|
+
const enhancedEvent = this.enhanceWithExperimentParams(affiliateParams);
|
|
1857
2288
|
try {
|
|
1858
2289
|
switch (event.type) {
|
|
1859
2290
|
case "page_view" /* PAGE_VIEW */:
|
|
1860
|
-
this.
|
|
1861
|
-
this.
|
|
2291
|
+
const pageViewPayload = this.mergeEventData(enhancedEvent, params);
|
|
2292
|
+
this.sendPageView(AnalyticsEventName.PAGE_VIEW, pageViewPayload);
|
|
2293
|
+
this.logger.debug("Sent PAGE_VIEW event to Shopify Analytics", {
|
|
2294
|
+
payload: pageViewPayload
|
|
2295
|
+
});
|
|
1862
2296
|
break;
|
|
1863
2297
|
case "view_content" /* VIEW_CONTENT */:
|
|
1864
|
-
this.
|
|
1865
|
-
this.
|
|
2298
|
+
const viewContentPayload = this.mergeEventData(enhancedEvent, params);
|
|
2299
|
+
this.sendPageView(
|
|
2300
|
+
AnalyticsEventName.PRODUCT_VIEW,
|
|
2301
|
+
viewContentPayload
|
|
2302
|
+
);
|
|
2303
|
+
this.logger.debug("Sent PRODUCT_VIEW event to Shopify Analytics", {
|
|
2304
|
+
payload: viewContentPayload
|
|
2305
|
+
});
|
|
1866
2306
|
break;
|
|
1867
2307
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
1868
|
-
this.
|
|
2308
|
+
const addToCartPayload = this.mergeEventData(enhancedEvent, params);
|
|
2309
|
+
this.trackAddToCart(addToCartPayload);
|
|
1869
2310
|
break;
|
|
1870
2311
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
1871
2312
|
case "begin_checkout" /* BEGIN_CHECKOUT */:
|
|
1872
|
-
this.
|
|
1873
|
-
pageType: "checkout"
|
|
1874
|
-
|
|
2313
|
+
const checkoutPayload = this.mergeEventData(
|
|
2314
|
+
{ ...enhancedEvent, pageType: "checkout" },
|
|
2315
|
+
params
|
|
2316
|
+
);
|
|
2317
|
+
this.sendPageView(AnalyticsEventName.PAGE_VIEW, checkoutPayload);
|
|
1875
2318
|
this.logger.debug(
|
|
1876
|
-
"Sent checkout PAGE_VIEW event to Shopify Analytics"
|
|
2319
|
+
"Sent checkout PAGE_VIEW event to Shopify Analytics",
|
|
2320
|
+
{ payload: checkoutPayload }
|
|
1877
2321
|
);
|
|
1878
2322
|
break;
|
|
1879
2323
|
default:
|
|
@@ -1999,8 +2443,10 @@ var KwikPassAdapter = class extends BaseAdapter {
|
|
|
1999
2443
|
}
|
|
2000
2444
|
/**
|
|
2001
2445
|
* Track an event using KwikPass
|
|
2446
|
+
* @param event The event to track
|
|
2447
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2002
2448
|
*/
|
|
2003
|
-
async trackEvent(event) {
|
|
2449
|
+
async trackEvent(event, adapterParams) {
|
|
2004
2450
|
if (!this.initialized || typeof window === "undefined") {
|
|
2005
2451
|
this.logger.warn(
|
|
2006
2452
|
"KwikPass adapter not initialized or not in browser environment"
|
|
@@ -2013,18 +2459,19 @@ var KwikPassAdapter = class extends BaseAdapter {
|
|
|
2013
2459
|
});
|
|
2014
2460
|
return;
|
|
2015
2461
|
}
|
|
2462
|
+
const affiliateParams = this.enhanceWithAffiliateParams(event);
|
|
2463
|
+
const enhancedEvent = this.enhanceWithExperimentParams(affiliateParams);
|
|
2016
2464
|
try {
|
|
2017
2465
|
this.logger.debug("Processing event", { eventType: event.type });
|
|
2018
|
-
const enhancedEvent = this.enhanceWithAffiliateParams(event);
|
|
2019
2466
|
switch (event.type) {
|
|
2020
2467
|
case "product_view" /* PRODUCT_VIEW */:
|
|
2021
|
-
this.trackProductView(enhancedEvent);
|
|
2468
|
+
this.trackProductView(enhancedEvent, adapterParams);
|
|
2022
2469
|
break;
|
|
2023
2470
|
case "collection_view" /* COLLECTION_VIEW */:
|
|
2024
|
-
this.trackCollectionView(enhancedEvent);
|
|
2471
|
+
this.trackCollectionView(enhancedEvent, adapterParams);
|
|
2025
2472
|
break;
|
|
2026
2473
|
case "page_view" /* PAGE_VIEW */:
|
|
2027
|
-
this.trackPageView(enhancedEvent);
|
|
2474
|
+
this.trackPageView(enhancedEvent, adapterParams);
|
|
2028
2475
|
break;
|
|
2029
2476
|
default:
|
|
2030
2477
|
this.logger.debug("Event not supported", { eventType: event.type });
|
|
@@ -2039,55 +2486,71 @@ var KwikPassAdapter = class extends BaseAdapter {
|
|
|
2039
2486
|
/**
|
|
2040
2487
|
* Send event to KwikPass platform
|
|
2041
2488
|
*/
|
|
2042
|
-
sendKwikPassEvent(type, eventData) {
|
|
2043
|
-
this.
|
|
2489
|
+
sendKwikPassEvent(type, eventData, adapterParams) {
|
|
2490
|
+
const customEventType = this.getEventName(adapterParams, type);
|
|
2491
|
+
const enhancedEventData = this.mergeEventData(eventData, adapterParams);
|
|
2492
|
+
this.logger.debug(`Sending ${customEventType}`, {
|
|
2493
|
+
eventData: enhancedEventData
|
|
2494
|
+
});
|
|
2044
2495
|
if (typeof window !== "undefined") {
|
|
2045
2496
|
const customEvent = new CustomEvent(`page_view_kp`, {
|
|
2046
2497
|
detail: {
|
|
2047
|
-
type,
|
|
2048
|
-
detail:
|
|
2498
|
+
type: customEventType,
|
|
2499
|
+
detail: enhancedEventData
|
|
2049
2500
|
}
|
|
2050
2501
|
});
|
|
2051
2502
|
window.dispatchEvent(customEvent);
|
|
2052
|
-
this.logger.debug(`${
|
|
2503
|
+
this.logger.debug(`${customEventType} sent successfully`);
|
|
2053
2504
|
}
|
|
2054
2505
|
}
|
|
2055
2506
|
/**
|
|
2056
|
-
* Track
|
|
2507
|
+
* Track collection view event
|
|
2057
2508
|
*/
|
|
2058
|
-
trackCollectionView(event) {
|
|
2059
|
-
this.sendKwikPassEvent(
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2509
|
+
trackCollectionView(event, adapterParams) {
|
|
2510
|
+
this.sendKwikPassEvent(
|
|
2511
|
+
"collection",
|
|
2512
|
+
{
|
|
2513
|
+
product_id: event.productId,
|
|
2514
|
+
product_name: event.productName,
|
|
2515
|
+
price: event.price,
|
|
2516
|
+
currency: event.currency,
|
|
2517
|
+
category: event.category,
|
|
2518
|
+
timestamp: event.timestamp || Date.now()
|
|
2519
|
+
},
|
|
2520
|
+
adapterParams
|
|
2521
|
+
);
|
|
2067
2522
|
}
|
|
2068
2523
|
/**
|
|
2069
|
-
* Track
|
|
2524
|
+
* Track product view event
|
|
2070
2525
|
*/
|
|
2071
|
-
trackProductView(event) {
|
|
2072
|
-
this.sendKwikPassEvent(
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2526
|
+
trackProductView(event, adapterParams) {
|
|
2527
|
+
this.sendKwikPassEvent(
|
|
2528
|
+
"product",
|
|
2529
|
+
{
|
|
2530
|
+
product_id: event.productId,
|
|
2531
|
+
product_name: event.productName,
|
|
2532
|
+
price: event.price,
|
|
2533
|
+
currency: event.currency,
|
|
2534
|
+
category: event.category,
|
|
2535
|
+
timestamp: event.timestamp || Date.now()
|
|
2536
|
+
},
|
|
2537
|
+
adapterParams
|
|
2538
|
+
);
|
|
2080
2539
|
}
|
|
2081
2540
|
/**
|
|
2082
2541
|
* Track page view event
|
|
2083
2542
|
*/
|
|
2084
|
-
trackPageView(event) {
|
|
2085
|
-
this.sendKwikPassEvent(
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2543
|
+
trackPageView(event, adapterParams) {
|
|
2544
|
+
this.sendKwikPassEvent(
|
|
2545
|
+
"other",
|
|
2546
|
+
{
|
|
2547
|
+
path: event.path,
|
|
2548
|
+
title: event.title,
|
|
2549
|
+
referrer: event.referrer,
|
|
2550
|
+
timestamp: event.timestamp || Date.now()
|
|
2551
|
+
},
|
|
2552
|
+
adapterParams
|
|
2553
|
+
);
|
|
2091
2554
|
}
|
|
2092
2555
|
};
|
|
2093
2556
|
|
|
@@ -2121,8 +2584,10 @@ var KwikCheckoutAdapter = class extends BaseAdapter {
|
|
|
2121
2584
|
}
|
|
2122
2585
|
/**
|
|
2123
2586
|
* Track an event using GoKwik
|
|
2587
|
+
* @param event The event to track
|
|
2588
|
+
* @param adapterParams Optional adapter-specific parameters
|
|
2124
2589
|
*/
|
|
2125
|
-
async trackEvent(event) {
|
|
2590
|
+
async trackEvent(event, adapterParams) {
|
|
2126
2591
|
if (!this.initialized || typeof window === "undefined") {
|
|
2127
2592
|
this.logger.warn(
|
|
2128
2593
|
"GoKwik adapter not initialized or not in browser environment"
|
|
@@ -2131,49 +2596,50 @@ var KwikCheckoutAdapter = class extends BaseAdapter {
|
|
|
2131
2596
|
}
|
|
2132
2597
|
try {
|
|
2133
2598
|
this.logger.debug("Processing event", { eventType: event.type });
|
|
2134
|
-
const
|
|
2599
|
+
const affiliateEnhanced = this.enhanceWithAffiliateParams(event);
|
|
2600
|
+
const enhancedEvent = this.enhanceWithExperimentParams(affiliateEnhanced);
|
|
2135
2601
|
switch (event.type) {
|
|
2136
2602
|
case "started_checkout_gk" /* STARTED_CHECKOUT_GK */:
|
|
2137
|
-
this.trackStartedCheckoutGK(enhancedEvent);
|
|
2603
|
+
this.trackStartedCheckoutGK(enhancedEvent, adapterParams);
|
|
2138
2604
|
break;
|
|
2139
2605
|
case "mobile_added_gk" /* MOBILE_ADDED_GK */:
|
|
2140
|
-
this.trackMobileAddedGK(enhancedEvent);
|
|
2606
|
+
this.trackMobileAddedGK(enhancedEvent, adapterParams);
|
|
2141
2607
|
break;
|
|
2142
2608
|
case "address_selected_gk" /* ADDRESS_SELECTED_GK */:
|
|
2143
|
-
this.trackAddressSelectedGK(enhancedEvent);
|
|
2609
|
+
this.trackAddressSelectedGK(enhancedEvent, adapterParams);
|
|
2144
2610
|
break;
|
|
2145
2611
|
case "address_completed_gk" /* ADDRESS_COMPLETED_GK */:
|
|
2146
|
-
this.trackAddressCompletedGK(enhancedEvent);
|
|
2612
|
+
this.trackAddressCompletedGK(enhancedEvent, adapterParams);
|
|
2147
2613
|
break;
|
|
2148
2614
|
case "address_added_gk" /* ADDRESS_ADDED_GK */:
|
|
2149
|
-
this.trackAddressAddedGK(enhancedEvent);
|
|
2615
|
+
this.trackAddressAddedGK(enhancedEvent, adapterParams);
|
|
2150
2616
|
break;
|
|
2151
2617
|
case "pin_code_added_gk" /* PIN_CODE_ADDED_GK */:
|
|
2152
|
-
this.trackPinCodeAddedGK(enhancedEvent);
|
|
2618
|
+
this.trackPinCodeAddedGK(enhancedEvent, adapterParams);
|
|
2153
2619
|
break;
|
|
2154
2620
|
case "payment_method_selected_gk" /* PAYMENT_METHOD_SELECTED_GK */:
|
|
2155
|
-
this.trackPaymentMethodSelectedGK(enhancedEvent);
|
|
2621
|
+
this.trackPaymentMethodSelectedGK(enhancedEvent, adapterParams);
|
|
2156
2622
|
break;
|
|
2157
2623
|
case "payment_completed_gk" /* PAYMENT_COMPLETED_GK */:
|
|
2158
|
-
this.trackPaymentCompletedGK(enhancedEvent);
|
|
2624
|
+
this.trackPaymentCompletedGK(enhancedEvent, adapterParams);
|
|
2159
2625
|
break;
|
|
2160
2626
|
case "order_success" /* ORDER_SUCCESS */:
|
|
2161
|
-
this.trackOrderSuccess(enhancedEvent);
|
|
2627
|
+
this.trackOrderSuccess(enhancedEvent, adapterParams);
|
|
2162
2628
|
break;
|
|
2163
2629
|
case "order_completed" /* ORDER_COMPLETED */:
|
|
2164
|
-
this.trackOrderCompleted(enhancedEvent);
|
|
2630
|
+
this.trackOrderCompleted(enhancedEvent, adapterParams);
|
|
2165
2631
|
break;
|
|
2166
2632
|
case "cart_viewed" /* CART_VIEWED */:
|
|
2167
|
-
this.trackCartViewed(enhancedEvent);
|
|
2633
|
+
this.trackCartViewed(enhancedEvent, adapterParams);
|
|
2168
2634
|
break;
|
|
2169
2635
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
2170
|
-
this.trackCheckoutStarted(enhancedEvent);
|
|
2636
|
+
this.trackCheckoutStarted(enhancedEvent, adapterParams);
|
|
2171
2637
|
break;
|
|
2172
2638
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
2173
|
-
this.trackCheckoutCompleted(enhancedEvent);
|
|
2639
|
+
this.trackCheckoutCompleted(enhancedEvent, adapterParams);
|
|
2174
2640
|
break;
|
|
2175
2641
|
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
2176
|
-
this.trackAddPaymentInfo(enhancedEvent);
|
|
2642
|
+
this.trackAddPaymentInfo(enhancedEvent, adapterParams);
|
|
2177
2643
|
break;
|
|
2178
2644
|
default:
|
|
2179
2645
|
this.logger.debug("Event not supported", { eventType: event.type });
|
|
@@ -2188,171 +2654,233 @@ var KwikCheckoutAdapter = class extends BaseAdapter {
|
|
|
2188
2654
|
/**
|
|
2189
2655
|
* Send event to GoKwik platform
|
|
2190
2656
|
*/
|
|
2191
|
-
sendGoKwikEvent(eventName, eventData) {
|
|
2192
|
-
this.
|
|
2657
|
+
sendGoKwikEvent(eventName, eventData, adapterParams) {
|
|
2658
|
+
const customEventName = this.getEventName(adapterParams, eventName);
|
|
2659
|
+
const enhancedEventData = this.mergeEventData(eventData, adapterParams);
|
|
2660
|
+
this.logger.debug(`Sending ${customEventName}`, {
|
|
2661
|
+
eventData: enhancedEventData
|
|
2662
|
+
});
|
|
2193
2663
|
if (typeof window !== "undefined" && window.gokwikSdk) {
|
|
2194
2664
|
try {
|
|
2195
|
-
window.gokwikSdk.track?.(
|
|
2196
|
-
this.logger.debug(`${
|
|
2665
|
+
window.gokwikSdk.track?.(customEventName, enhancedEventData);
|
|
2666
|
+
this.logger.debug(`${customEventName} sent via SDK successfully`);
|
|
2197
2667
|
} catch (error) {
|
|
2198
2668
|
this.logger.error(
|
|
2199
|
-
`Error sending GoKwik event ${
|
|
2669
|
+
`Error sending GoKwik event ${customEventName} via SDK`,
|
|
2200
2670
|
error
|
|
2201
2671
|
);
|
|
2202
2672
|
}
|
|
2203
2673
|
} else {
|
|
2204
2674
|
if (typeof window !== "undefined") {
|
|
2205
|
-
const customEvent = new CustomEvent(`gokwik_${
|
|
2206
|
-
detail:
|
|
2675
|
+
const customEvent = new CustomEvent(`gokwik_${customEventName}`, {
|
|
2676
|
+
detail: enhancedEventData
|
|
2207
2677
|
});
|
|
2208
2678
|
window.dispatchEvent(customEvent);
|
|
2209
|
-
this.logger.debug(
|
|
2679
|
+
this.logger.debug(
|
|
2680
|
+
`${customEventName} sent via custom event successfully`
|
|
2681
|
+
);
|
|
2210
2682
|
}
|
|
2211
2683
|
}
|
|
2212
2684
|
}
|
|
2213
2685
|
/**
|
|
2214
2686
|
* Track started checkout GK event
|
|
2215
2687
|
*/
|
|
2216
|
-
trackStartedCheckoutGK(event) {
|
|
2217
|
-
this.sendGoKwikEvent(
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2688
|
+
trackStartedCheckoutGK(event, adapterParams) {
|
|
2689
|
+
this.sendGoKwikEvent(
|
|
2690
|
+
"started_checkout",
|
|
2691
|
+
{
|
|
2692
|
+
cart_value: event.cartValue,
|
|
2693
|
+
currency: event.currency,
|
|
2694
|
+
timestamp: event.timestamp || Date.now()
|
|
2695
|
+
},
|
|
2696
|
+
adapterParams
|
|
2697
|
+
);
|
|
2222
2698
|
}
|
|
2223
2699
|
/**
|
|
2224
2700
|
* Track mobile added GK event
|
|
2225
2701
|
*/
|
|
2226
|
-
trackMobileAddedGK(event) {
|
|
2227
|
-
this.sendGoKwikEvent(
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2702
|
+
trackMobileAddedGK(event, adapterParams) {
|
|
2703
|
+
this.sendGoKwikEvent(
|
|
2704
|
+
"mobile_added",
|
|
2705
|
+
{
|
|
2706
|
+
mobile: event.mobile,
|
|
2707
|
+
timestamp: event.timestamp || Date.now()
|
|
2708
|
+
},
|
|
2709
|
+
adapterParams
|
|
2710
|
+
);
|
|
2231
2711
|
}
|
|
2232
2712
|
/**
|
|
2233
2713
|
* Track address selected GK event
|
|
2234
2714
|
*/
|
|
2235
|
-
trackAddressSelectedGK(event) {
|
|
2236
|
-
this.sendGoKwikEvent(
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2715
|
+
trackAddressSelectedGK(event, adapterParams) {
|
|
2716
|
+
this.sendGoKwikEvent(
|
|
2717
|
+
"address_selected",
|
|
2718
|
+
{
|
|
2719
|
+
address_id: event.addressId,
|
|
2720
|
+
timestamp: event.timestamp || Date.now()
|
|
2721
|
+
},
|
|
2722
|
+
adapterParams
|
|
2723
|
+
);
|
|
2240
2724
|
}
|
|
2241
2725
|
/**
|
|
2242
2726
|
* Track address completed GK event
|
|
2243
2727
|
*/
|
|
2244
|
-
trackAddressCompletedGK(event) {
|
|
2245
|
-
this.sendGoKwikEvent(
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2728
|
+
trackAddressCompletedGK(event, adapterParams) {
|
|
2729
|
+
this.sendGoKwikEvent(
|
|
2730
|
+
"address_completed",
|
|
2731
|
+
{
|
|
2732
|
+
address_id: event.addressId,
|
|
2733
|
+
timestamp: event.timestamp || Date.now()
|
|
2734
|
+
},
|
|
2735
|
+
adapterParams
|
|
2736
|
+
);
|
|
2249
2737
|
}
|
|
2250
2738
|
/**
|
|
2251
2739
|
* Track address added GK event
|
|
2252
2740
|
*/
|
|
2253
|
-
trackAddressAddedGK(event) {
|
|
2254
|
-
this.sendGoKwikEvent(
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2741
|
+
trackAddressAddedGK(event, adapterParams) {
|
|
2742
|
+
this.sendGoKwikEvent(
|
|
2743
|
+
"address_added",
|
|
2744
|
+
{
|
|
2745
|
+
address_id: event.addressId,
|
|
2746
|
+
timestamp: event.timestamp || Date.now()
|
|
2747
|
+
},
|
|
2748
|
+
adapterParams
|
|
2749
|
+
);
|
|
2258
2750
|
}
|
|
2259
2751
|
/**
|
|
2260
2752
|
* Track PIN code added GK event
|
|
2261
2753
|
*/
|
|
2262
|
-
trackPinCodeAddedGK(event) {
|
|
2263
|
-
this.sendGoKwikEvent(
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2754
|
+
trackPinCodeAddedGK(event, adapterParams) {
|
|
2755
|
+
this.sendGoKwikEvent(
|
|
2756
|
+
"pin_code_added",
|
|
2757
|
+
{
|
|
2758
|
+
pin_code: event.pinCode,
|
|
2759
|
+
timestamp: event.timestamp || Date.now()
|
|
2760
|
+
},
|
|
2761
|
+
adapterParams
|
|
2762
|
+
);
|
|
2267
2763
|
}
|
|
2268
2764
|
/**
|
|
2269
2765
|
* Track payment method selected GK event
|
|
2270
2766
|
*/
|
|
2271
|
-
trackPaymentMethodSelectedGK(event) {
|
|
2272
|
-
this.sendGoKwikEvent(
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2767
|
+
trackPaymentMethodSelectedGK(event, adapterParams) {
|
|
2768
|
+
this.sendGoKwikEvent(
|
|
2769
|
+
"payment_method_selected",
|
|
2770
|
+
{
|
|
2771
|
+
payment_method: event.paymentMethod,
|
|
2772
|
+
timestamp: event.timestamp || Date.now()
|
|
2773
|
+
},
|
|
2774
|
+
adapterParams
|
|
2775
|
+
);
|
|
2276
2776
|
}
|
|
2277
2777
|
/**
|
|
2278
2778
|
* Track payment completed GK event
|
|
2279
2779
|
*/
|
|
2280
|
-
trackPaymentCompletedGK(event) {
|
|
2281
|
-
this.sendGoKwikEvent(
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2780
|
+
trackPaymentCompletedGK(event, adapterParams) {
|
|
2781
|
+
this.sendGoKwikEvent(
|
|
2782
|
+
"payment_completed",
|
|
2783
|
+
{
|
|
2784
|
+
amount: event.amount,
|
|
2785
|
+
currency: event.currency,
|
|
2786
|
+
timestamp: event.timestamp || Date.now()
|
|
2787
|
+
},
|
|
2788
|
+
adapterParams
|
|
2789
|
+
);
|
|
2286
2790
|
}
|
|
2287
2791
|
/**
|
|
2288
2792
|
* Track order success event
|
|
2289
2793
|
*/
|
|
2290
|
-
trackOrderSuccess(event) {
|
|
2291
|
-
this.sendGoKwikEvent(
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2794
|
+
trackOrderSuccess(event, adapterParams) {
|
|
2795
|
+
this.sendGoKwikEvent(
|
|
2796
|
+
"order_success",
|
|
2797
|
+
{
|
|
2798
|
+
order_id: event.orderId,
|
|
2799
|
+
amount: event.amount,
|
|
2800
|
+
currency: event.currency,
|
|
2801
|
+
timestamp: event.timestamp || Date.now()
|
|
2802
|
+
},
|
|
2803
|
+
adapterParams
|
|
2804
|
+
);
|
|
2297
2805
|
}
|
|
2298
2806
|
/**
|
|
2299
2807
|
* Track order completed event
|
|
2300
2808
|
*/
|
|
2301
|
-
trackOrderCompleted(event) {
|
|
2302
|
-
this.sendGoKwikEvent(
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2809
|
+
trackOrderCompleted(event, adapterParams) {
|
|
2810
|
+
this.sendGoKwikEvent(
|
|
2811
|
+
"order_completed",
|
|
2812
|
+
{
|
|
2813
|
+
order_id: event.orderId,
|
|
2814
|
+
amount: event.amount,
|
|
2815
|
+
currency: event.currency,
|
|
2816
|
+
timestamp: event.timestamp || Date.now()
|
|
2817
|
+
},
|
|
2818
|
+
adapterParams
|
|
2819
|
+
);
|
|
2308
2820
|
}
|
|
2309
2821
|
/**
|
|
2310
2822
|
* Track cart viewed event
|
|
2311
2823
|
*/
|
|
2312
|
-
trackCartViewed(event) {
|
|
2313
|
-
this.sendGoKwikEvent(
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2824
|
+
trackCartViewed(event, adapterParams) {
|
|
2825
|
+
this.sendGoKwikEvent(
|
|
2826
|
+
"cart_viewed",
|
|
2827
|
+
{
|
|
2828
|
+
cart_id: event.cartId,
|
|
2829
|
+
products: event.products,
|
|
2830
|
+
timestamp: event.timestamp || Date.now()
|
|
2831
|
+
},
|
|
2832
|
+
adapterParams
|
|
2833
|
+
);
|
|
2318
2834
|
}
|
|
2319
2835
|
/**
|
|
2320
2836
|
* Track checkout started event
|
|
2321
2837
|
*/
|
|
2322
|
-
trackCheckoutStarted(event) {
|
|
2323
|
-
this.sendGoKwikEvent(
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2838
|
+
trackCheckoutStarted(event, adapterParams) {
|
|
2839
|
+
this.sendGoKwikEvent(
|
|
2840
|
+
"checkout_started",
|
|
2841
|
+
{
|
|
2842
|
+
cart_value: event.cartValue,
|
|
2843
|
+
currency: event.currency,
|
|
2844
|
+
item_count: event.itemCount,
|
|
2845
|
+
items: event.items,
|
|
2846
|
+
timestamp: event.timestamp || Date.now()
|
|
2847
|
+
},
|
|
2848
|
+
adapterParams
|
|
2849
|
+
);
|
|
2330
2850
|
}
|
|
2331
2851
|
/**
|
|
2332
2852
|
* Track checkout completed event
|
|
2333
2853
|
*/
|
|
2334
|
-
trackCheckoutCompleted(event) {
|
|
2335
|
-
this.sendGoKwikEvent(
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2854
|
+
trackCheckoutCompleted(event, adapterParams) {
|
|
2855
|
+
this.sendGoKwikEvent(
|
|
2856
|
+
"checkout_completed",
|
|
2857
|
+
{
|
|
2858
|
+
order_id: event.orderId,
|
|
2859
|
+
cart_value: event.cartValue,
|
|
2860
|
+
currency: event.currency,
|
|
2861
|
+
item_count: event.itemCount,
|
|
2862
|
+
items: event.items,
|
|
2863
|
+
timestamp: event.timestamp || Date.now()
|
|
2864
|
+
},
|
|
2865
|
+
adapterParams
|
|
2866
|
+
);
|
|
2343
2867
|
}
|
|
2344
2868
|
/**
|
|
2345
2869
|
* Track add payment info event
|
|
2346
2870
|
*/
|
|
2347
|
-
trackAddPaymentInfo(event) {
|
|
2348
|
-
this.sendGoKwikEvent(
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2871
|
+
trackAddPaymentInfo(event, adapterParams) {
|
|
2872
|
+
this.sendGoKwikEvent(
|
|
2873
|
+
"add_payment_info",
|
|
2874
|
+
{
|
|
2875
|
+
cart_value: event.cartValue,
|
|
2876
|
+
currency: event.currency,
|
|
2877
|
+
item_count: event.itemCount,
|
|
2878
|
+
payment_type: event.paymentType,
|
|
2879
|
+
items: event.items,
|
|
2880
|
+
timestamp: event.timestamp || Date.now()
|
|
2881
|
+
},
|
|
2882
|
+
adapterParams
|
|
2883
|
+
);
|
|
2356
2884
|
}
|
|
2357
2885
|
};
|
|
2358
2886
|
|
|
@@ -2365,11 +2893,10 @@ export {
|
|
|
2365
2893
|
GoogleAdapter,
|
|
2366
2894
|
EventNames,
|
|
2367
2895
|
DEFAULT_CURRENCY,
|
|
2368
|
-
HARDCODED_HANDLE,
|
|
2369
2896
|
MoengageAdapter,
|
|
2370
2897
|
PostHogAdapter,
|
|
2371
2898
|
ShopifyAdapter,
|
|
2372
2899
|
KwikPassAdapter,
|
|
2373
2900
|
KwikCheckoutAdapter
|
|
2374
2901
|
};
|
|
2375
|
-
//# sourceMappingURL=chunk-
|
|
2902
|
+
//# sourceMappingURL=chunk-NJQ2MOM2.mjs.map
|