shopkit-analytics 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +769 -0
- package/dist/adapters/index.d.mts +4 -0
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.js +2405 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/index.mjs +23 -0
- package/dist/adapters/index.mjs.map +1 -0
- package/dist/affiliate/index.d.mts +138 -0
- package/dist/affiliate/index.d.ts +138 -0
- package/dist/affiliate/index.js +816 -0
- package/dist/affiliate/index.js.map +1 -0
- package/dist/affiliate/index.mjs +74 -0
- package/dist/affiliate/index.mjs.map +1 -0
- package/dist/affiliate-tracker-BgHwibPv.d.mts +144 -0
- package/dist/affiliate-tracker-BgHwibPv.d.ts +144 -0
- package/dist/chunk-3TQR5DOP.mjs +79 -0
- package/dist/chunk-3TQR5DOP.mjs.map +1 -0
- package/dist/chunk-4MZH5OLR.mjs +2375 -0
- package/dist/chunk-4MZH5OLR.mjs.map +1 -0
- package/dist/chunk-JVEGG6JV.mjs +213 -0
- package/dist/chunk-JVEGG6JV.mjs.map +1 -0
- package/dist/chunk-P4OJDCEZ.mjs +57 -0
- package/dist/chunk-P4OJDCEZ.mjs.map +1 -0
- package/dist/chunk-TNXTKEGS.mjs +758 -0
- package/dist/chunk-TNXTKEGS.mjs.map +1 -0
- package/dist/events/index.d.mts +112 -0
- package/dist/events/index.d.ts +112 -0
- package/dist/events/index.js +2131 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/index.mjs +30 -0
- package/dist/events/index.mjs.map +1 -0
- package/dist/index-BnNRgdUv.d.ts +676 -0
- package/dist/index-GODWc1s6.d.mts +676 -0
- package/dist/index.d.mts +38 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.js +3269 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +190 -0
- package/dist/index.mjs.map +1 -0
- package/dist/subscriber-43gnCKWe.d.ts +80 -0
- package/dist/subscriber-IFZJU57V.mjs +8 -0
- package/dist/subscriber-IFZJU57V.mjs.map +1 -0
- package/dist/subscriber-sWesj_5p.d.mts +80 -0
- package/dist/types.d.mts +991 -0
- package/dist/types.d.ts +991 -0
- package/dist/types.js +102 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +8 -0
- package/dist/types.mjs.map +1 -0
- package/package.json +110 -0
|
@@ -0,0 +1,676 @@
|
|
|
1
|
+
import { TEvent } from './types.js';
|
|
2
|
+
import { T as TrackingAdapter } from './subscriber-43gnCKWe.js';
|
|
3
|
+
import { AnalyticsEventName, ShopifyAnalyticsProduct, ShopifyPageViewPayload } from '@shopify/hydrogen-react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Logger configuration options
|
|
7
|
+
*/
|
|
8
|
+
interface LoggerConfig {
|
|
9
|
+
level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
name?: string;
|
|
12
|
+
prettyPrint?: boolean;
|
|
13
|
+
redact?: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Logger interface for consistent logging across adapters
|
|
17
|
+
*/
|
|
18
|
+
interface Logger {
|
|
19
|
+
trace: (message: string, ...args: any[]) => void;
|
|
20
|
+
debug: (message: string, ...args: any[]) => void;
|
|
21
|
+
info: (message: string, ...args: any[]) => void;
|
|
22
|
+
warn: (message: string, ...args: any[]) => void;
|
|
23
|
+
error: (message: string, error?: Error, ...args: any[]) => void;
|
|
24
|
+
fatal: (message: string, error?: Error, ...args: any[]) => void;
|
|
25
|
+
child: (bindings: Record<string, any>) => Logger;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a logger instance
|
|
29
|
+
*/
|
|
30
|
+
declare function createLogger(config?: LoggerConfig): Logger;
|
|
31
|
+
/**
|
|
32
|
+
* Default logger instance
|
|
33
|
+
*/
|
|
34
|
+
declare const logger: Logger;
|
|
35
|
+
/**
|
|
36
|
+
* Create adapter-specific logger
|
|
37
|
+
*/
|
|
38
|
+
declare function createAdapterLogger(adapterName: string, config?: LoggerConfig): Logger;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Abstract base class for tracking adapters
|
|
42
|
+
*/
|
|
43
|
+
declare abstract class BaseAdapter implements TrackingAdapter {
|
|
44
|
+
/**
|
|
45
|
+
* Name of the tracking adapter
|
|
46
|
+
*/
|
|
47
|
+
abstract readonly name: string;
|
|
48
|
+
/**
|
|
49
|
+
* Configuration for the adapter
|
|
50
|
+
*/
|
|
51
|
+
protected config: Record<string, any>;
|
|
52
|
+
/**
|
|
53
|
+
* Logger instance for this adapter
|
|
54
|
+
*/
|
|
55
|
+
protected logger: Logger;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the adapter has been initialized
|
|
58
|
+
*/
|
|
59
|
+
protected initialized: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Constructor
|
|
62
|
+
* @param config Configuration for the adapter
|
|
63
|
+
*/
|
|
64
|
+
constructor(config?: Record<string, any>);
|
|
65
|
+
/**
|
|
66
|
+
* Initialize logger with proper adapter name
|
|
67
|
+
* Should be called by subclasses after name is available
|
|
68
|
+
*/
|
|
69
|
+
protected initializeLogger(): void;
|
|
70
|
+
/**
|
|
71
|
+
* Check if the adapter is enabled
|
|
72
|
+
*/
|
|
73
|
+
isEnabled(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Initialize the adapter
|
|
76
|
+
*/
|
|
77
|
+
abstract initialize(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Track an event
|
|
80
|
+
* @param event The event to track
|
|
81
|
+
*/
|
|
82
|
+
abstract trackEvent(event: TEvent): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Get a configuration value
|
|
85
|
+
* @param key The configuration key
|
|
86
|
+
* @param defaultValue The default value if the key is not found
|
|
87
|
+
*/
|
|
88
|
+
protected getConfig<T>(key: string, defaultValue?: T): T;
|
|
89
|
+
/**
|
|
90
|
+
* Get affiliate parameters from session storage or custom implementation
|
|
91
|
+
* Override this method to provide your own affiliate tracking implementation
|
|
92
|
+
* @returns Affiliate parameters or null if not available
|
|
93
|
+
*/
|
|
94
|
+
protected getAffiliateParams(): Record<string, string> | null;
|
|
95
|
+
/**
|
|
96
|
+
* Enhance event parameters with affiliate data
|
|
97
|
+
* @param params The original parameters
|
|
98
|
+
* @returns Parameters enhanced with affiliate data
|
|
99
|
+
*/
|
|
100
|
+
protected enhanceWithAffiliateParams(params: Record<string, any>): Record<string, any>;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
declare global {
|
|
104
|
+
interface Window {
|
|
105
|
+
fbq?: (type: string, eventName: string, params?: Record<string, any>) => void;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Configuration for the Facebook Pixel adapter
|
|
110
|
+
*/
|
|
111
|
+
interface PixelAdapterConfig {
|
|
112
|
+
/**
|
|
113
|
+
* Facebook Pixel ID
|
|
114
|
+
*/
|
|
115
|
+
pixelId: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Facebook Pixel tracking adapter
|
|
119
|
+
* Assumes that the Facebook Pixel script is already loaded in the page
|
|
120
|
+
*/
|
|
121
|
+
declare class PixelAdapter extends BaseAdapter {
|
|
122
|
+
readonly name = "FacebookPixel";
|
|
123
|
+
constructor(config: PixelAdapterConfig);
|
|
124
|
+
/**
|
|
125
|
+
* Initialize the Facebook Pixel
|
|
126
|
+
*/
|
|
127
|
+
initialize(): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Track an event with Facebook Pixel
|
|
130
|
+
* @param event The event to track
|
|
131
|
+
*/
|
|
132
|
+
trackEvent(event: TEvent): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Track a page view event
|
|
135
|
+
* @param event The page view event
|
|
136
|
+
*/
|
|
137
|
+
private trackPageView;
|
|
138
|
+
/**
|
|
139
|
+
* Track a product view event
|
|
140
|
+
* @param event The product view event
|
|
141
|
+
*/
|
|
142
|
+
private trackProductView;
|
|
143
|
+
/**
|
|
144
|
+
* Track an add to cart event
|
|
145
|
+
* @param event The add to cart event
|
|
146
|
+
*/
|
|
147
|
+
private trackAddToCart;
|
|
148
|
+
/**
|
|
149
|
+
* Track a checkout started event
|
|
150
|
+
* @param event The checkout started event
|
|
151
|
+
*/
|
|
152
|
+
private trackCheckoutStarted;
|
|
153
|
+
/**
|
|
154
|
+
* Track a checkout completed event
|
|
155
|
+
* @param event The checkout completed event
|
|
156
|
+
*/
|
|
157
|
+
private trackCheckoutCompleted;
|
|
158
|
+
/**
|
|
159
|
+
* Track a search event
|
|
160
|
+
* @param event The search event
|
|
161
|
+
*/
|
|
162
|
+
private trackSearch;
|
|
163
|
+
/**
|
|
164
|
+
* Track an add payment info event
|
|
165
|
+
* @param event The add payment info event
|
|
166
|
+
*/
|
|
167
|
+
private trackAddPaymentInfo;
|
|
168
|
+
/**
|
|
169
|
+
* Track a view content event
|
|
170
|
+
* @param event The view content event
|
|
171
|
+
*/
|
|
172
|
+
private trackViewContent;
|
|
173
|
+
/**
|
|
174
|
+
* Track a purchase event
|
|
175
|
+
* @param event The purchase event
|
|
176
|
+
*/
|
|
177
|
+
private trackPurchase;
|
|
178
|
+
/**
|
|
179
|
+
* Convert an event to Facebook Pixel parameters
|
|
180
|
+
* @param event The event to convert
|
|
181
|
+
*/
|
|
182
|
+
private eventToParams;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
declare global {
|
|
186
|
+
interface Window {
|
|
187
|
+
gtag?: (...args: any[]) => void;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Configuration for the Google Analytics adapter
|
|
192
|
+
*/
|
|
193
|
+
interface GoogleAdapterConfig {
|
|
194
|
+
/**
|
|
195
|
+
* Google Analytics measurement ID (e.g., G-XXXXXXXXXX)
|
|
196
|
+
*/
|
|
197
|
+
measurementId: string;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Google Analytics tracking adapter
|
|
201
|
+
* Assumes that the Google Analytics script is already loaded in the page
|
|
202
|
+
*/
|
|
203
|
+
declare class GoogleAdapter extends BaseAdapter {
|
|
204
|
+
readonly name = "GoogleAnalytics";
|
|
205
|
+
constructor(config: GoogleAdapterConfig);
|
|
206
|
+
/**
|
|
207
|
+
* Initialize Google Analytics adapter
|
|
208
|
+
* This just checks if gtag is available
|
|
209
|
+
*/
|
|
210
|
+
isEnabled(): boolean;
|
|
211
|
+
initialize(): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Track an event with Google Analytics
|
|
214
|
+
* @param event The event to track
|
|
215
|
+
*/
|
|
216
|
+
trackEvent(event: TEvent): Promise<void>;
|
|
217
|
+
/**
|
|
218
|
+
* Track a page view event
|
|
219
|
+
* @param event The page view event
|
|
220
|
+
* @param measurementId The Google Analytics measurement ID
|
|
221
|
+
*/
|
|
222
|
+
private trackPageView;
|
|
223
|
+
private trackUserEngagement;
|
|
224
|
+
private trackSessionStart;
|
|
225
|
+
private trackFirstVisit;
|
|
226
|
+
private trackViewItem;
|
|
227
|
+
private trackScroll;
|
|
228
|
+
private trackCheckoutPayment;
|
|
229
|
+
private trackViewedProduct;
|
|
230
|
+
private trackAddToCart;
|
|
231
|
+
private trackFormStart;
|
|
232
|
+
private trackCheckoutStarted;
|
|
233
|
+
private trackFormSubmission;
|
|
234
|
+
private trackSearch;
|
|
235
|
+
/**
|
|
236
|
+
* Track a checkout completed event
|
|
237
|
+
* @param event The checkout completed event
|
|
238
|
+
*/
|
|
239
|
+
private trackCheckoutCompleted;
|
|
240
|
+
/**
|
|
241
|
+
* Track a custom event
|
|
242
|
+
* @param event The custom event
|
|
243
|
+
*/
|
|
244
|
+
private trackCustomEvent;
|
|
245
|
+
/**
|
|
246
|
+
* Track an add payment info event
|
|
247
|
+
* @param event The add payment info event
|
|
248
|
+
*/
|
|
249
|
+
private trackAddPaymentInfo;
|
|
250
|
+
/**
|
|
251
|
+
* Track a view content event
|
|
252
|
+
* @param event The view content event
|
|
253
|
+
*/
|
|
254
|
+
private trackViewContent;
|
|
255
|
+
/**
|
|
256
|
+
* Track a purchase event
|
|
257
|
+
* @param event The purchase event
|
|
258
|
+
*/
|
|
259
|
+
private trackPurchase;
|
|
260
|
+
/**
|
|
261
|
+
* Track a view search results event
|
|
262
|
+
* @param event The view search results event
|
|
263
|
+
*/
|
|
264
|
+
private trackViewSearchResults;
|
|
265
|
+
/**
|
|
266
|
+
* Track an order placed event
|
|
267
|
+
* @param event The order placed event
|
|
268
|
+
*/
|
|
269
|
+
private trackOrderPlaced;
|
|
270
|
+
/**
|
|
271
|
+
* Track a begin checkout event
|
|
272
|
+
* @param event The begin checkout event
|
|
273
|
+
*/
|
|
274
|
+
private trackBeginCheckout;
|
|
275
|
+
/**
|
|
276
|
+
* Convert an event to Google Analytics parameters
|
|
277
|
+
* @param event The event to convert
|
|
278
|
+
*/
|
|
279
|
+
private eventToParams;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Configuration for the MoenGage adapter
|
|
284
|
+
*/
|
|
285
|
+
interface MoengageAdapterConfig {
|
|
286
|
+
/**
|
|
287
|
+
* MoenGage App ID (required for SDK initialization)
|
|
288
|
+
*/
|
|
289
|
+
appId: string;
|
|
290
|
+
/**
|
|
291
|
+
* Whether to enable user identification
|
|
292
|
+
*/
|
|
293
|
+
enableUserIdentification?: boolean;
|
|
294
|
+
/**
|
|
295
|
+
* Debug mode for MoenGage SDK
|
|
296
|
+
*/
|
|
297
|
+
debug?: boolean;
|
|
298
|
+
/**
|
|
299
|
+
* Data center region (default: 'dc_01')
|
|
300
|
+
*/
|
|
301
|
+
region?: string;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* MoenGage tracking adapter using the official Web SDK
|
|
305
|
+
*/
|
|
306
|
+
declare class MoengageAdapter extends BaseAdapter {
|
|
307
|
+
readonly name = "MoEngage";
|
|
308
|
+
private sdk;
|
|
309
|
+
constructor(config: MoengageAdapterConfig);
|
|
310
|
+
/**
|
|
311
|
+
* Initialize the MoenGage adapter using the Web SDK
|
|
312
|
+
*/
|
|
313
|
+
initialize(): Promise<void>;
|
|
314
|
+
/**
|
|
315
|
+
* Track an event with MoenGage SDK
|
|
316
|
+
* @param event The event to track
|
|
317
|
+
*/
|
|
318
|
+
trackEvent(event: TEvent): Promise<void>;
|
|
319
|
+
/**
|
|
320
|
+
* Track a page view event
|
|
321
|
+
* @param event The page view event
|
|
322
|
+
*/
|
|
323
|
+
private trackPageView;
|
|
324
|
+
/**
|
|
325
|
+
* Track a button click event
|
|
326
|
+
* @param event The button click event
|
|
327
|
+
*/
|
|
328
|
+
private trackButtonClick;
|
|
329
|
+
/**
|
|
330
|
+
* Track a form submission event
|
|
331
|
+
* @param event The form submission event
|
|
332
|
+
*/
|
|
333
|
+
private trackFormSubmission;
|
|
334
|
+
/**
|
|
335
|
+
* Track a product view event
|
|
336
|
+
* @param event The product view event
|
|
337
|
+
*/
|
|
338
|
+
private trackProductView;
|
|
339
|
+
/**
|
|
340
|
+
* Track an add to cart event
|
|
341
|
+
* @param event The add to cart event
|
|
342
|
+
*/
|
|
343
|
+
private trackAddToCart;
|
|
344
|
+
/**
|
|
345
|
+
* Track a remove from cart event
|
|
346
|
+
* @param event The remove from cart event
|
|
347
|
+
*/
|
|
348
|
+
private trackRemoveFromCart;
|
|
349
|
+
/**
|
|
350
|
+
* Track a checkout started event
|
|
351
|
+
* @param event The checkout started event
|
|
352
|
+
*/
|
|
353
|
+
private trackCheckoutStarted;
|
|
354
|
+
/**
|
|
355
|
+
* Track a checkout completed event
|
|
356
|
+
* @param event The checkout completed event
|
|
357
|
+
*/
|
|
358
|
+
private trackCheckoutCompleted;
|
|
359
|
+
/**
|
|
360
|
+
* Track a search event
|
|
361
|
+
* @param event The search event
|
|
362
|
+
*/
|
|
363
|
+
private trackSearch;
|
|
364
|
+
/**
|
|
365
|
+
* Track a user signup event
|
|
366
|
+
* @param event The user signup event
|
|
367
|
+
*/
|
|
368
|
+
private trackUserSignup;
|
|
369
|
+
/**
|
|
370
|
+
* Track a user login event
|
|
371
|
+
* @param event The user login event
|
|
372
|
+
*/
|
|
373
|
+
private trackUserLogin;
|
|
374
|
+
/**
|
|
375
|
+
* Track a custom event
|
|
376
|
+
* @param event The custom event
|
|
377
|
+
*/
|
|
378
|
+
private trackCustomEvent;
|
|
379
|
+
/**
|
|
380
|
+
* Convert an event to MoenGage parameters
|
|
381
|
+
* @param event The event to convert
|
|
382
|
+
*/
|
|
383
|
+
private eventToParams;
|
|
384
|
+
/**
|
|
385
|
+
* Set user attributes in MoenGage
|
|
386
|
+
* @param attributes User attributes to set
|
|
387
|
+
*/
|
|
388
|
+
setUserAttributes(attributes: Record<string, any>): void;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
declare global {
|
|
392
|
+
interface Window {
|
|
393
|
+
posthog?: {
|
|
394
|
+
capture: (eventName: string, properties?: Record<string, any>) => void;
|
|
395
|
+
identify: (distinctId: string, properties?: Record<string, any>) => void;
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Configuration for the PostHog adapter
|
|
401
|
+
*/
|
|
402
|
+
interface PostHogAdapterConfig {
|
|
403
|
+
/**
|
|
404
|
+
* Enable debug logs
|
|
405
|
+
*/
|
|
406
|
+
enableDebugLogs?: boolean;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* PostHog tracking adapter
|
|
410
|
+
* Assumes that the PostHog script is already loaded in the page
|
|
411
|
+
*/
|
|
412
|
+
declare class PostHogAdapter extends BaseAdapter {
|
|
413
|
+
readonly name = "PostHog";
|
|
414
|
+
constructor(config?: PostHogAdapterConfig);
|
|
415
|
+
/**
|
|
416
|
+
* Initialize PostHog
|
|
417
|
+
*/
|
|
418
|
+
initialize(): Promise<void>;
|
|
419
|
+
/**
|
|
420
|
+
* Track an event with PostHog
|
|
421
|
+
* @param event The event to track
|
|
422
|
+
*/
|
|
423
|
+
trackEvent(event: TEvent): Promise<void>;
|
|
424
|
+
/**
|
|
425
|
+
* Track a page view event
|
|
426
|
+
* @param event The page view event
|
|
427
|
+
*/
|
|
428
|
+
private trackPageView;
|
|
429
|
+
/**
|
|
430
|
+
* Track a product view event
|
|
431
|
+
* @param event The product view event
|
|
432
|
+
*/
|
|
433
|
+
private trackProductView;
|
|
434
|
+
/**
|
|
435
|
+
* Track an add to cart event
|
|
436
|
+
* @param event The add to cart event
|
|
437
|
+
*/
|
|
438
|
+
private trackAddToCart;
|
|
439
|
+
/**
|
|
440
|
+
* Track a checkout started event
|
|
441
|
+
* @param event The checkout started event
|
|
442
|
+
*/
|
|
443
|
+
private trackCheckoutStarted;
|
|
444
|
+
/**
|
|
445
|
+
* Track a checkout completed event
|
|
446
|
+
* @param event The checkout completed event
|
|
447
|
+
*/
|
|
448
|
+
private trackCheckoutCompleted;
|
|
449
|
+
/**
|
|
450
|
+
* Track a search event
|
|
451
|
+
* @param event The search event
|
|
452
|
+
*/
|
|
453
|
+
private trackSearch;
|
|
454
|
+
/**
|
|
455
|
+
* Track an add payment info event
|
|
456
|
+
* @param event The add payment info event
|
|
457
|
+
*/
|
|
458
|
+
private trackAddPaymentInfo;
|
|
459
|
+
/**
|
|
460
|
+
* Convert an event to PostHog parameters
|
|
461
|
+
* @param event The event to convert
|
|
462
|
+
*/
|
|
463
|
+
private eventToParams;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Type definitions for analytics payloads
|
|
468
|
+
*/
|
|
469
|
+
type SendPageViewPayload = {
|
|
470
|
+
pageType?: string;
|
|
471
|
+
products?: ShopifyAnalyticsProduct[];
|
|
472
|
+
collectionHandle?: string;
|
|
473
|
+
searchString?: string;
|
|
474
|
+
totalValue?: number;
|
|
475
|
+
cartId?: string;
|
|
476
|
+
};
|
|
477
|
+
type SendAddToCartPayload = {
|
|
478
|
+
cartId: string;
|
|
479
|
+
products?: ShopifyAnalyticsProduct[];
|
|
480
|
+
totalValue?: ShopifyPageViewPayload["totalValue"];
|
|
481
|
+
};
|
|
482
|
+
/**
|
|
483
|
+
* Configuration interface for Shopify Analytics Adapter
|
|
484
|
+
*/
|
|
485
|
+
interface ShopifyAdapterConfig {
|
|
486
|
+
shopId: string;
|
|
487
|
+
domain: string;
|
|
488
|
+
currency?: string;
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Shopify Analytics Adapter for tracking events to Shopify Admin Analytics
|
|
492
|
+
*/
|
|
493
|
+
declare class ShopifyAdapter extends BaseAdapter {
|
|
494
|
+
readonly name = "ShopifyAnalytics";
|
|
495
|
+
private shopId;
|
|
496
|
+
private domain;
|
|
497
|
+
private currency;
|
|
498
|
+
constructor(config: ShopifyAdapterConfig);
|
|
499
|
+
/**
|
|
500
|
+
* Initialize the Shopify Analytics adapter
|
|
501
|
+
*/
|
|
502
|
+
initialize(): Promise<void>;
|
|
503
|
+
/**
|
|
504
|
+
* Convert product ID to Shopify GID format if it's not already
|
|
505
|
+
*/
|
|
506
|
+
private formatProductGid;
|
|
507
|
+
/**
|
|
508
|
+
* Get user consent status from your consent management system
|
|
509
|
+
*/
|
|
510
|
+
private getUserConsent;
|
|
511
|
+
/**
|
|
512
|
+
* Check user consent (implement based on your consent management)
|
|
513
|
+
*/
|
|
514
|
+
private checkUserConsent;
|
|
515
|
+
private checkAnalyticsConsent;
|
|
516
|
+
private checkMarketingConsent;
|
|
517
|
+
private checkSaleOfDataConsent;
|
|
518
|
+
/**
|
|
519
|
+
* Create base payload for all events
|
|
520
|
+
*/
|
|
521
|
+
private createBasePayload;
|
|
522
|
+
/**
|
|
523
|
+
* Send page view event using the enhanced functionality
|
|
524
|
+
*/
|
|
525
|
+
sendPageView: (eventName: keyof typeof AnalyticsEventName, payload?: SendPageViewPayload) => Promise<void>;
|
|
526
|
+
/**
|
|
527
|
+
* Send add to cart event using the enhanced functionality
|
|
528
|
+
*/
|
|
529
|
+
sendAddToCart: ({ cartId, totalValue, products, }: SendAddToCartPayload) => Promise<void>;
|
|
530
|
+
/**
|
|
531
|
+
* Track an event using Shopify Analytics
|
|
532
|
+
*/
|
|
533
|
+
trackEvent(event: TEvent): Promise<void>;
|
|
534
|
+
/**
|
|
535
|
+
* Check if Shopify session is properly established
|
|
536
|
+
*/
|
|
537
|
+
isSessionValid(): boolean;
|
|
538
|
+
/**
|
|
539
|
+
* Get session debug information
|
|
540
|
+
*/
|
|
541
|
+
getSessionDebugInfo(): object;
|
|
542
|
+
/**
|
|
543
|
+
* Track add to cart event with enhanced error handling
|
|
544
|
+
*/
|
|
545
|
+
private trackAddToCart;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Configuration interface for KwikPass Adapter
|
|
550
|
+
*/
|
|
551
|
+
interface KwikPassConfig {
|
|
552
|
+
enableDebugLogs?: boolean;
|
|
553
|
+
enableKwikPassEvents?: boolean;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* KwikPass Analytics Adapter for tracking events to KwikPass platform
|
|
557
|
+
*/
|
|
558
|
+
declare class KwikPassAdapter extends BaseAdapter {
|
|
559
|
+
readonly name = "KwikPass";
|
|
560
|
+
private enableKwikPassEvents;
|
|
561
|
+
constructor(config?: KwikPassConfig);
|
|
562
|
+
/**
|
|
563
|
+
* Initialize the KwikPass adapter
|
|
564
|
+
*/
|
|
565
|
+
initialize(): Promise<void>;
|
|
566
|
+
/**
|
|
567
|
+
* Track an event using KwikPass
|
|
568
|
+
*/
|
|
569
|
+
trackEvent(event: TEvent): Promise<void>;
|
|
570
|
+
/**
|
|
571
|
+
* Send event to KwikPass platform
|
|
572
|
+
*/
|
|
573
|
+
private sendKwikPassEvent;
|
|
574
|
+
/**
|
|
575
|
+
* Track product view event
|
|
576
|
+
*/
|
|
577
|
+
private trackCollectionView;
|
|
578
|
+
/**
|
|
579
|
+
* Track collection view event
|
|
580
|
+
*/
|
|
581
|
+
private trackProductView;
|
|
582
|
+
/**
|
|
583
|
+
* Track page view event
|
|
584
|
+
*/
|
|
585
|
+
private trackPageView;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Configuration interface for Kwik Checkout Adapter
|
|
590
|
+
*/
|
|
591
|
+
interface KwikCheckoutConfig {
|
|
592
|
+
mid?: string;
|
|
593
|
+
environment?: string;
|
|
594
|
+
storeId?: string;
|
|
595
|
+
enableDebugLogs?: boolean;
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Kwik Checkout Analytics Adapter for tracking checkout events to GoKwik platform
|
|
599
|
+
*/
|
|
600
|
+
declare class KwikCheckoutAdapter extends BaseAdapter {
|
|
601
|
+
readonly name = "KwikCheckout";
|
|
602
|
+
private mid;
|
|
603
|
+
private environment;
|
|
604
|
+
private storeId;
|
|
605
|
+
constructor(config: KwikCheckoutConfig);
|
|
606
|
+
/**
|
|
607
|
+
* Initialize the GoKwik adapter
|
|
608
|
+
*/
|
|
609
|
+
initialize(): Promise<void>;
|
|
610
|
+
/**
|
|
611
|
+
* Track an event using GoKwik
|
|
612
|
+
*/
|
|
613
|
+
trackEvent(event: TEvent): Promise<void>;
|
|
614
|
+
/**
|
|
615
|
+
* Send event to GoKwik platform
|
|
616
|
+
*/
|
|
617
|
+
private sendGoKwikEvent;
|
|
618
|
+
/**
|
|
619
|
+
* Track started checkout GK event
|
|
620
|
+
*/
|
|
621
|
+
private trackStartedCheckoutGK;
|
|
622
|
+
/**
|
|
623
|
+
* Track mobile added GK event
|
|
624
|
+
*/
|
|
625
|
+
private trackMobileAddedGK;
|
|
626
|
+
/**
|
|
627
|
+
* Track address selected GK event
|
|
628
|
+
*/
|
|
629
|
+
private trackAddressSelectedGK;
|
|
630
|
+
/**
|
|
631
|
+
* Track address completed GK event
|
|
632
|
+
*/
|
|
633
|
+
private trackAddressCompletedGK;
|
|
634
|
+
/**
|
|
635
|
+
* Track address added GK event
|
|
636
|
+
*/
|
|
637
|
+
private trackAddressAddedGK;
|
|
638
|
+
/**
|
|
639
|
+
* Track PIN code added GK event
|
|
640
|
+
*/
|
|
641
|
+
private trackPinCodeAddedGK;
|
|
642
|
+
/**
|
|
643
|
+
* Track payment method selected GK event
|
|
644
|
+
*/
|
|
645
|
+
private trackPaymentMethodSelectedGK;
|
|
646
|
+
/**
|
|
647
|
+
* Track payment completed GK event
|
|
648
|
+
*/
|
|
649
|
+
private trackPaymentCompletedGK;
|
|
650
|
+
/**
|
|
651
|
+
* Track order success event
|
|
652
|
+
*/
|
|
653
|
+
private trackOrderSuccess;
|
|
654
|
+
/**
|
|
655
|
+
* Track order completed event
|
|
656
|
+
*/
|
|
657
|
+
private trackOrderCompleted;
|
|
658
|
+
/**
|
|
659
|
+
* Track cart viewed event
|
|
660
|
+
*/
|
|
661
|
+
private trackCartViewed;
|
|
662
|
+
/**
|
|
663
|
+
* Track checkout started event
|
|
664
|
+
*/
|
|
665
|
+
private trackCheckoutStarted;
|
|
666
|
+
/**
|
|
667
|
+
* Track checkout completed event
|
|
668
|
+
*/
|
|
669
|
+
private trackCheckoutCompleted;
|
|
670
|
+
/**
|
|
671
|
+
* Track add payment info event
|
|
672
|
+
*/
|
|
673
|
+
private trackAddPaymentInfo;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
export { BaseAdapter as B, type GoogleAdapterConfig as G, type KwikPassConfig as K, type LoggerConfig as L, type MoengageAdapterConfig as M, type PixelAdapterConfig as P, type ShopifyAdapterConfig as S, type PostHogAdapterConfig as a, type KwikCheckoutConfig as b, PixelAdapter as c, GoogleAdapter as d, MoengageAdapter as e, PostHogAdapter as f, ShopifyAdapter as g, KwikPassAdapter as h, KwikCheckoutAdapter as i, type Logger as j, createLogger as k, logger as l, createAdapterLogger as m };
|