shopkit-analytics 1.0.21 → 1.0.23
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/dist/adapters/index.d.mts +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.js +265 -386
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/index.mjs +4 -5
- package/dist/affiliate/index.js +0 -1
- package/dist/affiliate/index.js.map +1 -1
- package/dist/affiliate/index.mjs +1 -2
- package/dist/{chunk-C6F4QLQO.mjs → chunk-2DA66EMD.mjs} +1 -3
- package/dist/{chunk-C6F4QLQO.mjs.map → chunk-2DA66EMD.mjs.map} +1 -1
- package/dist/{chunk-4RDPDMGW.mjs → chunk-2YXPYXKI.mjs} +1 -3
- package/dist/{chunk-4RDPDMGW.mjs.map → chunk-2YXPYXKI.mjs.map} +1 -1
- package/dist/{chunk-BE3W2SD6.mjs → chunk-CIONXODE.mjs} +2 -4
- package/dist/chunk-CIONXODE.mjs.map +1 -0
- package/dist/{chunk-HCA4E2RA.mjs → chunk-FLCILQD3.mjs} +1 -3
- package/dist/{chunk-HCA4E2RA.mjs.map → chunk-FLCILQD3.mjs.map} +1 -1
- package/dist/{chunk-TNXTKEGS.mjs → chunk-LKD63U62.mjs} +1 -3
- package/dist/{chunk-TNXTKEGS.mjs.map → chunk-LKD63U62.mjs.map} +1 -1
- package/dist/{chunk-NSUG7HIX.mjs → chunk-QHGAR7GR.mjs} +268 -389
- package/dist/chunk-QHGAR7GR.mjs.map +1 -0
- package/dist/{chunk-VN6OWWKF.mjs → chunk-UASWUUN2.mjs} +3 -4
- package/dist/{chunk-VN6OWWKF.mjs.map → chunk-UASWUUN2.mjs.map} +1 -1
- package/dist/events/index.js +233 -302
- package/dist/events/index.js.map +1 -1
- package/dist/events/index.mjs +6 -7
- package/dist/experiment/index.js +0 -1
- package/dist/experiment/index.js.map +1 -1
- package/dist/experiment/index.mjs +1 -2
- package/dist/{index-Cq1uZxv9.d.mts → index-AsXxRXnG.d.mts} +6 -42
- package/dist/{index-DHFvGrGR.d.ts → index-Hj5-xXDO.d.ts} +6 -42
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +266 -387
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -8
- package/dist/index.mjs.map +1 -1
- package/dist/subscriber-X3HSLVJN.mjs +7 -0
- package/dist/types.d.mts +13 -4
- package/dist/types.d.ts +13 -4
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/dist/types.mjs +1 -2
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +1 -2
- package/package.json +1 -1
- package/dist/chunk-BE3W2SD6.mjs.map +0 -1
- package/dist/chunk-NSUG7HIX.mjs.map +0 -1
- package/dist/subscriber-VF3IYUCU.mjs +0 -8
- /package/dist/{subscriber-VF3IYUCU.mjs.map → subscriber-X3HSLVJN.mjs.map} +0 -0
package/dist/events/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
"use strict";
|
|
3
2
|
var __create = Object.create;
|
|
4
3
|
var __defProp = Object.defineProperty;
|
|
@@ -302,7 +301,7 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
|
|
|
302
301
|
EventType2["PURCHASE"] = "purchase";
|
|
303
302
|
EventType2["VIEW_SEARCH_RESULTS"] = "view_search_results";
|
|
304
303
|
EventType2["ORDER_PLACED"] = "order_placed";
|
|
305
|
-
EventType2["
|
|
304
|
+
EventType2["INITIATE_CHECKOUT"] = "initiate_checkout";
|
|
306
305
|
EventType2["STARTED_CHECKOUT_GK"] = "started_checkout_gk";
|
|
307
306
|
EventType2["MOBILE_ADDED_GK"] = "mobile_added_gk";
|
|
308
307
|
EventType2["ADDRESS_SELECTED_GK"] = "address_selected_gk";
|
|
@@ -686,11 +685,9 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
686
685
|
*/
|
|
687
686
|
async initialize() {
|
|
688
687
|
if (this.initialized) {
|
|
689
|
-
this.logger.debug("Already initialized");
|
|
690
688
|
return;
|
|
691
689
|
}
|
|
692
690
|
if (typeof window === "undefined") {
|
|
693
|
-
this.logger.debug("Skipping initialization on server");
|
|
694
691
|
return;
|
|
695
692
|
}
|
|
696
693
|
if (!window.fbq) {
|
|
@@ -706,11 +703,6 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
706
703
|
const isAlreadyInitialized = window._fbq?.loaded || window.fbq?.loaded || document.querySelector(`script[src*="fbevents.js"]`)?.getAttribute("data-pixel-id") === pixelId;
|
|
707
704
|
if (!isAlreadyInitialized) {
|
|
708
705
|
window.fbq("init", pixelId);
|
|
709
|
-
this.logger.info("Successfully initialized", { pixelId: "***" });
|
|
710
|
-
} else {
|
|
711
|
-
this.logger.info("Pixel already initialized, skipping init", {
|
|
712
|
-
pixelId: "***"
|
|
713
|
-
});
|
|
714
706
|
}
|
|
715
707
|
}
|
|
716
708
|
}
|
|
@@ -728,11 +720,6 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
728
720
|
if (!event.timestamp) {
|
|
729
721
|
event.timestamp = Date.now();
|
|
730
722
|
}
|
|
731
|
-
this.logger.debug("Tracking event", {
|
|
732
|
-
eventType: event.type,
|
|
733
|
-
eventId: event.eventId,
|
|
734
|
-
timestamp: event.timestamp
|
|
735
|
-
});
|
|
736
723
|
await this.trackClientSide(event, adapterParams);
|
|
737
724
|
if (this.getConfig("enableCAPI", true)) {
|
|
738
725
|
await this.trackServerSide(event, adapterParams);
|
|
@@ -746,10 +733,7 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
746
733
|
this.logger.warn(
|
|
747
734
|
"Cannot track client-side event, adapter not initialized or fbq not available",
|
|
748
735
|
{
|
|
749
|
-
eventType: event.type
|
|
750
|
-
initialized: this.initialized,
|
|
751
|
-
hasWindow: typeof window !== "undefined",
|
|
752
|
-
hasFbq: !!window?.fbq
|
|
736
|
+
eventType: event.type
|
|
753
737
|
}
|
|
754
738
|
);
|
|
755
739
|
return;
|
|
@@ -768,11 +752,6 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
768
752
|
} else {
|
|
769
753
|
window.fbq?.("track", eventName, enhancedParams);
|
|
770
754
|
}
|
|
771
|
-
this.logger.debug(`${eventName} event tracked on client-side`, {
|
|
772
|
-
eventName,
|
|
773
|
-
eventId: event.eventId,
|
|
774
|
-
params: enhancedParams
|
|
775
|
-
});
|
|
776
755
|
}
|
|
777
756
|
/**
|
|
778
757
|
* Track event on server-side (CAPI) as backup
|
|
@@ -804,10 +783,6 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
804
783
|
if (!response.ok) {
|
|
805
784
|
throw new Error(`Server-side tracking failed: ${response.status}`);
|
|
806
785
|
}
|
|
807
|
-
this.logger.debug(`${eventName} event sent to server-side`, {
|
|
808
|
-
eventId: event.eventId,
|
|
809
|
-
params: enhancedParams
|
|
810
|
-
});
|
|
811
786
|
} catch (error) {
|
|
812
787
|
this.logger.error(
|
|
813
788
|
`FB Pixel: Server-side tracking failed for event ${event.type}: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -879,8 +854,35 @@ var PixelAdapter = class extends BaseAdapter {
|
|
|
879
854
|
content_ids: searchEvent.content_ids || []
|
|
880
855
|
};
|
|
881
856
|
break;
|
|
857
|
+
case "initiate_checkout" /* INITIATE_CHECKOUT */:
|
|
858
|
+
const checkoutEvent = event;
|
|
859
|
+
eventName = this.getEventName(adapterParams, "InitiateCheckout");
|
|
860
|
+
baseParams = {
|
|
861
|
+
content_type: "product",
|
|
862
|
+
currency: checkoutEvent.currency || "INR",
|
|
863
|
+
value: checkoutEvent.cartValue,
|
|
864
|
+
num_items: checkoutEvent.itemCount || checkoutEvent.items?.length || 0,
|
|
865
|
+
contents: checkoutEvent.items?.map((item) => ({
|
|
866
|
+
id: item.productId,
|
|
867
|
+
quantity: item.quantity || 1,
|
|
868
|
+
item_price: item.price
|
|
869
|
+
})) || []
|
|
870
|
+
};
|
|
871
|
+
break;
|
|
872
|
+
case "purchase" /* PURCHASE */:
|
|
873
|
+
const purchaseEvent = event;
|
|
874
|
+
eventName = this.getEventName(adapterParams, "Purchase");
|
|
875
|
+
baseParams = {
|
|
876
|
+
content_type: purchaseEvent.content_type || "product",
|
|
877
|
+
content_ids: purchaseEvent.content_ids || [],
|
|
878
|
+
currency: purchaseEvent.currency || "INR",
|
|
879
|
+
value: purchaseEvent.value,
|
|
880
|
+
num_items: purchaseEvent.num_items || purchaseEvent.contents?.length || 0,
|
|
881
|
+
contents: purchaseEvent.contents || []
|
|
882
|
+
};
|
|
883
|
+
break;
|
|
882
884
|
default:
|
|
883
|
-
this.logger.
|
|
885
|
+
this.logger.warn(`Skipping unknown event type: ${event.type}`);
|
|
884
886
|
return { eventName: "", enhancedParams: {} };
|
|
885
887
|
}
|
|
886
888
|
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
@@ -903,26 +905,16 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
903
905
|
*/
|
|
904
906
|
isEnabled() {
|
|
905
907
|
const enabled = this.initialized && typeof window !== "undefined" && !!window.gtag;
|
|
906
|
-
this.logger.debug("Checking if enabled", {
|
|
907
|
-
initialized: this.initialized,
|
|
908
|
-
hasWindow: typeof window !== "undefined",
|
|
909
|
-
hasGtag: !!window?.gtag,
|
|
910
|
-
enabled
|
|
911
|
-
});
|
|
912
908
|
return enabled;
|
|
913
909
|
}
|
|
914
910
|
async initialize() {
|
|
915
|
-
this.logger.info("Starting initialization");
|
|
916
911
|
if (this.initialized) {
|
|
917
|
-
this.logger.debug("Already initialized");
|
|
918
912
|
return;
|
|
919
913
|
}
|
|
920
914
|
if (typeof window === "undefined") {
|
|
921
|
-
this.logger.debug("Skipping initialization on server");
|
|
922
915
|
return;
|
|
923
916
|
}
|
|
924
917
|
const measurementId = this.getConfig("measurementId");
|
|
925
|
-
this.logger.info("Using measurement ID", { measurementId });
|
|
926
918
|
if (!window.gtag) {
|
|
927
919
|
this.logger.warn(
|
|
928
920
|
"Google Analytics gtag not found. Make sure the script is loaded."
|
|
@@ -930,7 +922,6 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
930
922
|
return;
|
|
931
923
|
}
|
|
932
924
|
this.initialized = true;
|
|
933
|
-
this.logger.info("Successfully initialized", { measurementId });
|
|
934
925
|
}
|
|
935
926
|
/**
|
|
936
927
|
* Track an event with Google Analytics
|
|
@@ -938,29 +929,16 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
938
929
|
* @param adapterParams Optional adapter-specific parameters
|
|
939
930
|
*/
|
|
940
931
|
async trackEvent(event, adapterParams) {
|
|
941
|
-
this.logger.debug("Attempting to track event", {
|
|
942
|
-
initialized: this.initialized,
|
|
943
|
-
hasWindow: typeof window !== "undefined",
|
|
944
|
-
hasGtag: !!window?.gtag,
|
|
945
|
-
eventType: event.type
|
|
946
|
-
});
|
|
947
932
|
if (!this.initialized || typeof window === "undefined" || !window.gtag) {
|
|
948
933
|
this.logger.warn(
|
|
949
934
|
"Cannot track event, adapter not initialized or gtag not available",
|
|
950
935
|
{
|
|
951
|
-
eventType: event.type
|
|
952
|
-
initialized: this.initialized,
|
|
953
|
-
hasWindow: typeof window !== "undefined",
|
|
954
|
-
hasGtag: !!window?.gtag
|
|
936
|
+
eventType: event.type
|
|
955
937
|
}
|
|
956
938
|
);
|
|
957
939
|
return;
|
|
958
940
|
}
|
|
959
941
|
const measurementId = this.getConfig("measurementId");
|
|
960
|
-
this.logger.info("Tracking event", {
|
|
961
|
-
eventType: event.type,
|
|
962
|
-
measurementId
|
|
963
|
-
});
|
|
964
942
|
switch (event.type) {
|
|
965
943
|
case "page_view" /* PAGE_VIEW */:
|
|
966
944
|
this.trackPageView(
|
|
@@ -999,17 +977,29 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
999
977
|
case "form_start" /* FORM_START */:
|
|
1000
978
|
this.trackFormStart(adapterParams);
|
|
1001
979
|
break;
|
|
980
|
+
case "form_submission" /* FORM_SUBMISSION */:
|
|
981
|
+
this.trackFormSubmission(event, adapterParams);
|
|
982
|
+
break;
|
|
983
|
+
case "search" /* SEARCH */:
|
|
984
|
+
this.trackSearch(event, adapterParams);
|
|
985
|
+
break;
|
|
986
|
+
case "view_content" /* VIEW_CONTENT */:
|
|
987
|
+
this.trackViewContent(event, adapterParams);
|
|
988
|
+
break;
|
|
989
|
+
case "view_search_results" /* VIEW_SEARCH_RESULTS */:
|
|
990
|
+
this.trackViewSearchResults(
|
|
991
|
+
event,
|
|
992
|
+
adapterParams
|
|
993
|
+
);
|
|
994
|
+
break;
|
|
1002
995
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
1003
996
|
this.trackCheckoutStarted(
|
|
1004
997
|
event,
|
|
1005
998
|
adapterParams
|
|
1006
999
|
);
|
|
1007
1000
|
break;
|
|
1008
|
-
case "
|
|
1009
|
-
this.
|
|
1010
|
-
break;
|
|
1011
|
-
case "search" /* SEARCH */:
|
|
1012
|
-
this.trackSearch(event, adapterParams);
|
|
1001
|
+
case "initiate_checkout" /* INITIATE_CHECKOUT */:
|
|
1002
|
+
this.trackBeginCheckout(event, adapterParams);
|
|
1013
1003
|
break;
|
|
1014
1004
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
1015
1005
|
this.trackCheckoutCompleted(
|
|
@@ -1017,27 +1007,15 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1017
1007
|
adapterParams
|
|
1018
1008
|
);
|
|
1019
1009
|
break;
|
|
1020
|
-
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
1021
|
-
this.trackAddPaymentInfo(event, adapterParams);
|
|
1022
|
-
break;
|
|
1023
|
-
case "view_content" /* VIEW_CONTENT */:
|
|
1024
|
-
this.trackViewContent(event, adapterParams);
|
|
1025
|
-
break;
|
|
1026
1010
|
case "purchase" /* PURCHASE */:
|
|
1027
1011
|
this.trackPurchase(event, adapterParams);
|
|
1028
1012
|
break;
|
|
1029
|
-
case "
|
|
1030
|
-
this.
|
|
1031
|
-
event,
|
|
1032
|
-
adapterParams
|
|
1033
|
-
);
|
|
1013
|
+
case "add_payment_info" /* ADD_PAYMENT_INFO */:
|
|
1014
|
+
this.trackAddPaymentInfo(event, adapterParams);
|
|
1034
1015
|
break;
|
|
1035
1016
|
case "order_placed" /* ORDER_PLACED */:
|
|
1036
1017
|
this.trackOrderPlaced(event, adapterParams);
|
|
1037
1018
|
break;
|
|
1038
|
-
case "begin_checkout" /* BEGIN_CHECKOUT */:
|
|
1039
|
-
this.trackBeginCheckout(event, adapterParams);
|
|
1040
|
-
break;
|
|
1041
1019
|
case "custom" /* CUSTOM */:
|
|
1042
1020
|
this.trackCustomEvent(event, adapterParams);
|
|
1043
1021
|
break;
|
|
@@ -1045,7 +1023,7 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1045
1023
|
this.trackSpecificEvent(event, adapterParams);
|
|
1046
1024
|
break;
|
|
1047
1025
|
default: {
|
|
1048
|
-
this.logger.
|
|
1026
|
+
this.logger.warn("Unhandled event type", { eventType: event.type });
|
|
1049
1027
|
break;
|
|
1050
1028
|
}
|
|
1051
1029
|
}
|
|
@@ -1234,7 +1212,6 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1234
1212
|
window.gtag?.("event", eventName, enhancedParams);
|
|
1235
1213
|
}
|
|
1236
1214
|
trackAddToCart(event, adapterParams) {
|
|
1237
|
-
this.logger.debug("Processing add_to_cart event", { event });
|
|
1238
1215
|
const eventName = this.getEventName(adapterParams, "add_to_cart");
|
|
1239
1216
|
const baseParams = {
|
|
1240
1217
|
currency: event.currency || "INR",
|
|
@@ -1265,10 +1242,6 @@ var GoogleAdapter = class extends BaseAdapter {
|
|
|
1265
1242
|
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
1266
1243
|
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
1267
1244
|
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
1268
|
-
this.logger.debug("Sending add_to_cart event to gtag", {
|
|
1269
|
-
eventName,
|
|
1270
|
-
params: enhancedParams
|
|
1271
|
-
});
|
|
1272
1245
|
window.gtag?.("event", eventName, enhancedParams);
|
|
1273
1246
|
}
|
|
1274
1247
|
trackFormStart(adapterParams) {
|
|
@@ -1677,11 +1650,9 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1677
1650
|
*/
|
|
1678
1651
|
async initialize() {
|
|
1679
1652
|
if (this.initialized) {
|
|
1680
|
-
this.logger.debug("Already initialized");
|
|
1681
1653
|
return;
|
|
1682
1654
|
}
|
|
1683
1655
|
if (typeof window === "undefined") {
|
|
1684
|
-
this.logger.debug("Skipping initialization on server");
|
|
1685
1656
|
return;
|
|
1686
1657
|
}
|
|
1687
1658
|
try {
|
|
@@ -1697,14 +1668,7 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1697
1668
|
cluster: region,
|
|
1698
1669
|
disableCookies: true
|
|
1699
1670
|
};
|
|
1700
|
-
this.logger.info("Initializing with config", {
|
|
1701
|
-
region,
|
|
1702
|
-
debug: this.getConfig("debug", false),
|
|
1703
|
-
appId: "***"
|
|
1704
|
-
// Hide sensitive data
|
|
1705
|
-
});
|
|
1706
1671
|
import_web_sdk.default.initialize(config);
|
|
1707
|
-
this.logger.info("Successfully initialized with SDK");
|
|
1708
1672
|
this.initialized = true;
|
|
1709
1673
|
} catch (error) {
|
|
1710
1674
|
this.logger.error("Failed to initialize", error);
|
|
@@ -1721,15 +1685,11 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1721
1685
|
this.logger.warn(
|
|
1722
1686
|
"Cannot track event, adapter not initialized or SDK not available",
|
|
1723
1687
|
{
|
|
1724
|
-
eventType: event.type
|
|
1725
|
-
initialized: this.initialized,
|
|
1726
|
-
hasWindow: typeof window !== "undefined",
|
|
1727
|
-
hasSdk: !!sdk
|
|
1688
|
+
eventType: event.type
|
|
1728
1689
|
}
|
|
1729
1690
|
);
|
|
1730
1691
|
return;
|
|
1731
1692
|
}
|
|
1732
|
-
this.logger.debug("Tracking event", { eventType: event.type });
|
|
1733
1693
|
switch (event.type) {
|
|
1734
1694
|
case "page_view" /* PAGE_VIEW */:
|
|
1735
1695
|
this.trackPageView(event, adapterParams);
|
|
@@ -1750,12 +1710,14 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1750
1710
|
this.trackRemoveFromCart(event, adapterParams);
|
|
1751
1711
|
break;
|
|
1752
1712
|
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
1713
|
+
case "initiate_checkout" /* INITIATE_CHECKOUT */:
|
|
1753
1714
|
this.trackCheckoutStarted(
|
|
1754
1715
|
event,
|
|
1755
1716
|
adapterParams
|
|
1756
1717
|
);
|
|
1757
1718
|
break;
|
|
1758
1719
|
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
1720
|
+
case "purchase" /* PURCHASE */:
|
|
1759
1721
|
this.trackCheckoutCompleted(
|
|
1760
1722
|
event,
|
|
1761
1723
|
adapterParams
|
|
@@ -1777,7 +1739,7 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1777
1739
|
this.trackSpecificEvent(event, adapterParams);
|
|
1778
1740
|
break;
|
|
1779
1741
|
default:
|
|
1780
|
-
this.logger.
|
|
1742
|
+
this.logger.warn("Unhandled event type", { eventType: event.type });
|
|
1781
1743
|
break;
|
|
1782
1744
|
}
|
|
1783
1745
|
}
|
|
@@ -1806,10 +1768,6 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
1806
1768
|
adapterParams
|
|
1807
1769
|
);
|
|
1808
1770
|
sdk.track_event(eventName, enhancedEventData);
|
|
1809
|
-
this.logger.debug("PageView event tracked", {
|
|
1810
|
-
eventName,
|
|
1811
|
-
eventData: enhancedEventData
|
|
1812
|
-
});
|
|
1813
1771
|
}
|
|
1814
1772
|
/**
|
|
1815
1773
|
* Track a button click event
|
|
@@ -2120,9 +2078,6 @@ var MoengageAdapter = class extends BaseAdapter {
|
|
|
2120
2078
|
this.logger.warn("Cannot set user attributes, adapter not initialized");
|
|
2121
2079
|
return;
|
|
2122
2080
|
}
|
|
2123
|
-
this.logger.debug("Setting user attributes", {
|
|
2124
|
-
attributeKeys: Object.keys(attributes)
|
|
2125
|
-
});
|
|
2126
2081
|
for (const [key, value] of Object.entries(attributes)) {
|
|
2127
2082
|
switch (key) {
|
|
2128
2083
|
case "firstName":
|
|
@@ -2169,11 +2124,9 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
2169
2124
|
*/
|
|
2170
2125
|
async initialize() {
|
|
2171
2126
|
if (this.initialized) {
|
|
2172
|
-
this.logger.debug("Already initialized");
|
|
2173
2127
|
return;
|
|
2174
2128
|
}
|
|
2175
2129
|
if (typeof window === "undefined") {
|
|
2176
|
-
this.logger.debug("Skipping initialization on server");
|
|
2177
2130
|
return;
|
|
2178
2131
|
}
|
|
2179
2132
|
if (!window.posthog) {
|
|
@@ -2182,7 +2135,6 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
2182
2135
|
);
|
|
2183
2136
|
return;
|
|
2184
2137
|
}
|
|
2185
|
-
this.logger.info("Successfully initialized");
|
|
2186
2138
|
this.initialized = true;
|
|
2187
2139
|
}
|
|
2188
2140
|
/**
|
|
@@ -2191,229 +2143,208 @@ var PostHogAdapter = class extends BaseAdapter {
|
|
|
2191
2143
|
* @param adapterParams Optional adapter-specific parameters
|
|
2192
2144
|
*/
|
|
2193
2145
|
async trackEvent(event, adapterParams) {
|
|
2146
|
+
if (!event.eventId) {
|
|
2147
|
+
event.eventId = generateEventId(event.type);
|
|
2148
|
+
}
|
|
2149
|
+
if (!event.timestamp) {
|
|
2150
|
+
event.timestamp = Date.now();
|
|
2151
|
+
}
|
|
2152
|
+
await this.trackClientSide(event, adapterParams);
|
|
2153
|
+
}
|
|
2154
|
+
/**
|
|
2155
|
+
* Check if the adapter is enabled
|
|
2156
|
+
*/
|
|
2157
|
+
isEnabled() {
|
|
2158
|
+
return this.initialized && typeof window !== "undefined" && !!window.posthog;
|
|
2159
|
+
}
|
|
2160
|
+
/**
|
|
2161
|
+
* Track event on client-side (browser PostHog)
|
|
2162
|
+
*/
|
|
2163
|
+
async trackClientSide(event, adapterParams) {
|
|
2194
2164
|
if (!this.initialized || typeof window === "undefined" || !window.posthog) {
|
|
2195
2165
|
this.logger.warn(
|
|
2196
|
-
"Cannot track event, adapter not initialized or posthog not available",
|
|
2166
|
+
"Cannot track client-side event, adapter not initialized or posthog not available",
|
|
2197
2167
|
{
|
|
2198
|
-
eventType: event.type
|
|
2199
|
-
initialized: this.initialized,
|
|
2200
|
-
hasWindow: typeof window !== "undefined",
|
|
2201
|
-
hasPosthog: !!window?.posthog
|
|
2168
|
+
eventType: event.type
|
|
2202
2169
|
}
|
|
2203
2170
|
);
|
|
2204
2171
|
return;
|
|
2205
2172
|
}
|
|
2206
|
-
|
|
2173
|
+
const { eventName, enhancedParams } = this.formatEventPayload(
|
|
2174
|
+
event,
|
|
2175
|
+
adapterParams
|
|
2176
|
+
);
|
|
2177
|
+
if (!eventName) {
|
|
2178
|
+
return;
|
|
2179
|
+
}
|
|
2180
|
+
const finalParams = {
|
|
2181
|
+
...enhancedParams,
|
|
2182
|
+
...event.eventId && { event_id: event.eventId }
|
|
2183
|
+
};
|
|
2184
|
+
window.posthog?.capture(eventName, finalParams);
|
|
2185
|
+
}
|
|
2186
|
+
/**
|
|
2187
|
+
* Utility function to format event payload for client-side tracking
|
|
2188
|
+
*/
|
|
2189
|
+
formatEventPayload(event, adapterParams) {
|
|
2190
|
+
let baseParams = {};
|
|
2191
|
+
let eventName = "";
|
|
2207
2192
|
switch (event.type) {
|
|
2208
2193
|
case "page_view" /* PAGE_VIEW */:
|
|
2209
|
-
|
|
2194
|
+
const pageViewEvent = event;
|
|
2195
|
+
eventName = this.getEventName(adapterParams, "$pageview");
|
|
2196
|
+
baseParams = {
|
|
2197
|
+
// PostHog-compatible parameters
|
|
2198
|
+
$current_url: pageViewEvent.page_location || pageViewEvent.path,
|
|
2199
|
+
$title: pageViewEvent.page_title || pageViewEvent.title,
|
|
2200
|
+
$referrer: pageViewEvent.page_referrer || pageViewEvent.referrer,
|
|
2201
|
+
// Custom parameters
|
|
2202
|
+
page_location: pageViewEvent.page_location || pageViewEvent.path,
|
|
2203
|
+
page_title: pageViewEvent.page_title || pageViewEvent.title,
|
|
2204
|
+
page_referrer: pageViewEvent.page_referrer || pageViewEvent.referrer,
|
|
2205
|
+
page_path: pageViewEvent.page_path || pageViewEvent.path,
|
|
2206
|
+
event_category: pageViewEvent.event_category
|
|
2207
|
+
};
|
|
2208
|
+
break;
|
|
2209
|
+
case "view_content" /* VIEW_CONTENT */:
|
|
2210
|
+
const viewContentEvent = event;
|
|
2211
|
+
eventName = this.getEventName(adapterParams, "view_content");
|
|
2212
|
+
baseParams = {
|
|
2213
|
+
content_type: viewContentEvent.content_type || "product",
|
|
2214
|
+
content_ids: viewContentEvent.content_ids || [],
|
|
2215
|
+
content_name: viewContentEvent.content_name || "",
|
|
2216
|
+
content_category: viewContentEvent.content_category || "",
|
|
2217
|
+
value: viewContentEvent.value || 0,
|
|
2218
|
+
currency: viewContentEvent.currency || "INR"
|
|
2219
|
+
};
|
|
2210
2220
|
break;
|
|
2211
2221
|
case "product_view" /* PRODUCT_VIEW */:
|
|
2212
|
-
|
|
2222
|
+
const productEvent = event;
|
|
2223
|
+
eventName = this.getEventName(adapterParams, "product_viewed");
|
|
2224
|
+
baseParams = {
|
|
2225
|
+
product_id: productEvent.productId,
|
|
2226
|
+
product_name: productEvent.productName,
|
|
2227
|
+
category: productEvent.category,
|
|
2228
|
+
price: productEvent.price,
|
|
2229
|
+
currency: productEvent.currency || "INR",
|
|
2230
|
+
// PostHog specific format
|
|
2231
|
+
$product_id: productEvent.productId,
|
|
2232
|
+
$product_name: productEvent.productName,
|
|
2233
|
+
$product_category: productEvent.category,
|
|
2234
|
+
$product_price: productEvent.price
|
|
2235
|
+
};
|
|
2213
2236
|
break;
|
|
2214
2237
|
case "add_to_cart" /* ADD_TO_CART */:
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2238
|
+
const cartEvent = event;
|
|
2239
|
+
eventName = this.getEventName(adapterParams, "add_to_cart");
|
|
2240
|
+
baseParams = {
|
|
2241
|
+
product_id: cartEvent.productId,
|
|
2242
|
+
product_name: cartEvent.productName,
|
|
2243
|
+
price: cartEvent.price,
|
|
2244
|
+
currency: cartEvent.currency || "INR",
|
|
2245
|
+
quantity: cartEvent.quantity,
|
|
2246
|
+
variant: cartEvent.variant,
|
|
2247
|
+
// PostHog specific format
|
|
2248
|
+
$product_id: cartEvent.productId,
|
|
2249
|
+
$product_name: cartEvent.productName,
|
|
2250
|
+
$product_price: cartEvent.price,
|
|
2251
|
+
$quantity: cartEvent.quantity
|
|
2252
|
+
};
|
|
2219
2253
|
break;
|
|
2220
|
-
case "
|
|
2221
|
-
|
|
2254
|
+
case "search" /* SEARCH */:
|
|
2255
|
+
const searchEvent = event;
|
|
2256
|
+
eventName = this.getEventName(adapterParams, "search");
|
|
2257
|
+
baseParams = {
|
|
2258
|
+
search_term: searchEvent.searchTerm,
|
|
2259
|
+
results_count: searchEvent.resultsCount,
|
|
2260
|
+
content_ids: searchEvent.content_ids || [],
|
|
2261
|
+
// PostHog specific format
|
|
2262
|
+
$search_query: searchEvent.searchTerm,
|
|
2263
|
+
$search_results_count: searchEvent.resultsCount
|
|
2264
|
+
};
|
|
2222
2265
|
break;
|
|
2223
|
-
case "
|
|
2224
|
-
|
|
2266
|
+
case "checkout_started" /* CHECKOUT_STARTED */:
|
|
2267
|
+
const checkoutStartedEvent = event;
|
|
2268
|
+
eventName = this.getEventName(adapterParams, "checkout_started");
|
|
2269
|
+
baseParams = {
|
|
2270
|
+
currency: checkoutStartedEvent.currency || "INR",
|
|
2271
|
+
value: checkoutStartedEvent.cartValue,
|
|
2272
|
+
num_items: checkoutStartedEvent.itemCount || checkoutStartedEvent.items?.length || 0,
|
|
2273
|
+
items: checkoutStartedEvent.items?.map((item) => ({
|
|
2274
|
+
product_id: item.productId,
|
|
2275
|
+
product_name: item.productName,
|
|
2276
|
+
price: item.price,
|
|
2277
|
+
quantity: item.quantity || 1,
|
|
2278
|
+
variant: item.variant
|
|
2279
|
+
})) || [],
|
|
2280
|
+
// PostHog specific format
|
|
2281
|
+
$cart_value: checkoutStartedEvent.cartValue,
|
|
2282
|
+
$item_count: checkoutStartedEvent.itemCount || checkoutStartedEvent.items?.length || 0
|
|
2283
|
+
};
|
|
2225
2284
|
break;
|
|
2226
|
-
case "
|
|
2227
|
-
|
|
2285
|
+
case "initiate_checkout" /* INITIATE_CHECKOUT */:
|
|
2286
|
+
const checkoutEvent = event;
|
|
2287
|
+
eventName = this.getEventName(adapterParams, "checkout_started");
|
|
2288
|
+
baseParams = {
|
|
2289
|
+
currency: checkoutEvent.currency || "INR",
|
|
2290
|
+
value: checkoutEvent.cartValue,
|
|
2291
|
+
num_items: checkoutEvent.itemCount || checkoutEvent.items?.length || 0,
|
|
2292
|
+
items: checkoutEvent.items?.map((item) => ({
|
|
2293
|
+
product_id: item.productId,
|
|
2294
|
+
product_name: item.productName,
|
|
2295
|
+
price: item.price,
|
|
2296
|
+
quantity: item.quantity || 1,
|
|
2297
|
+
variant: item.variant
|
|
2298
|
+
})) || [],
|
|
2299
|
+
// PostHog specific format
|
|
2300
|
+
$cart_value: checkoutEvent.cartValue,
|
|
2301
|
+
$item_count: checkoutEvent.itemCount || checkoutEvent.items?.length || 0
|
|
2302
|
+
};
|
|
2228
2303
|
break;
|
|
2229
|
-
case "
|
|
2230
|
-
|
|
2304
|
+
case "checkout_completed" /* CHECKOUT_COMPLETED */:
|
|
2305
|
+
const checkoutCompletedEvent = event;
|
|
2306
|
+
eventName = this.getEventName(adapterParams, "purchase");
|
|
2307
|
+
baseParams = {
|
|
2308
|
+
transaction_id: checkoutCompletedEvent.orderId,
|
|
2309
|
+
currency: checkoutCompletedEvent.currency || "INR",
|
|
2310
|
+
value: checkoutCompletedEvent.cartValue,
|
|
2311
|
+
num_items: checkoutCompletedEvent.itemCount || checkoutCompletedEvent.items?.length || 0,
|
|
2312
|
+
items: checkoutCompletedEvent.items?.map((item) => ({
|
|
2313
|
+
product_id: item.productId,
|
|
2314
|
+
product_name: item.productName,
|
|
2315
|
+
price: item.price,
|
|
2316
|
+
quantity: item.quantity || 1,
|
|
2317
|
+
variant: item.variant
|
|
2318
|
+
})) || [],
|
|
2319
|
+
// PostHog specific format
|
|
2320
|
+
$order_id: checkoutCompletedEvent.orderId,
|
|
2321
|
+
$order_value: checkoutCompletedEvent.cartValue,
|
|
2322
|
+
$order_currency: checkoutCompletedEvent.currency || "INR",
|
|
2323
|
+
$order_items_count: checkoutCompletedEvent.itemCount || checkoutCompletedEvent.items?.length || 0
|
|
2324
|
+
};
|
|
2231
2325
|
break;
|
|
2232
|
-
case "
|
|
2233
|
-
|
|
2326
|
+
case "purchase" /* PURCHASE */:
|
|
2327
|
+
const purchaseEvent = event;
|
|
2328
|
+
eventName = this.getEventName(adapterParams, "purchase");
|
|
2329
|
+
baseParams = {
|
|
2330
|
+
currency: purchaseEvent.currency || "INR",
|
|
2331
|
+
value: purchaseEvent.value,
|
|
2332
|
+
num_items: purchaseEvent.num_items || purchaseEvent.contents?.length || 0,
|
|
2333
|
+
contents: purchaseEvent.contents || [],
|
|
2334
|
+
// PostHog specific format
|
|
2335
|
+
$order_value: purchaseEvent.value,
|
|
2336
|
+
$order_currency: purchaseEvent.currency || "INR",
|
|
2337
|
+
$order_items_count: purchaseEvent.num_items || purchaseEvent.contents?.length || 0
|
|
2338
|
+
};
|
|
2234
2339
|
break;
|
|
2235
2340
|
default:
|
|
2236
|
-
this.logger.
|
|
2237
|
-
|
|
2238
|
-
}
|
|
2239
|
-
}
|
|
2240
|
-
/**
|
|
2241
|
-
* Track a custom event
|
|
2242
|
-
* @param event The custom event
|
|
2243
|
-
*/
|
|
2244
|
-
trackCustomEvent(event, adapterParams) {
|
|
2245
|
-
const eventName = this.getEventName(adapterParams, "custom");
|
|
2246
|
-
const affiliateParams = this.enhanceWithAffiliateParams({});
|
|
2247
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2248
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2249
|
-
window.posthog?.capture(eventName, enhancedParams);
|
|
2250
|
-
}
|
|
2251
|
-
trackSpecificEvent(event, adapterParams) {
|
|
2252
|
-
const eventName = this.getEventName(adapterParams, "");
|
|
2253
|
-
if (!eventName) {
|
|
2254
|
-
return;
|
|
2255
|
-
}
|
|
2256
|
-
const affiliateParams = this.enhanceWithAffiliateParams({});
|
|
2257
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2258
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2259
|
-
window.posthog?.capture(eventName, enhancedParams);
|
|
2260
|
-
}
|
|
2261
|
-
/**
|
|
2262
|
-
* Track a page view event
|
|
2263
|
-
* @param event The page view event
|
|
2264
|
-
* @param adapterParams Optional adapter-specific parameters
|
|
2265
|
-
*/
|
|
2266
|
-
trackPageView(event, adapterParams) {
|
|
2267
|
-
const eventName = this.getEventName(adapterParams, "$pageview");
|
|
2268
|
-
const baseParams = {
|
|
2269
|
-
path: event.path,
|
|
2270
|
-
title: event.title,
|
|
2271
|
-
referrer: event.referrer
|
|
2272
|
-
};
|
|
2273
|
-
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2274
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2275
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2276
|
-
window.posthog?.capture(eventName, enhancedParams);
|
|
2277
|
-
}
|
|
2278
|
-
/**
|
|
2279
|
-
* Track a product view event
|
|
2280
|
-
* @param event The product view event
|
|
2281
|
-
* @param adapterParams Optional adapter-specific parameters
|
|
2282
|
-
*/
|
|
2283
|
-
trackProductView(event, adapterParams) {
|
|
2284
|
-
const eventName = this.getEventName(adapterParams, "product_viewed");
|
|
2285
|
-
const baseParams = {
|
|
2286
|
-
product_id: event.productId,
|
|
2287
|
-
product_name: event.productName,
|
|
2288
|
-
category: event.category,
|
|
2289
|
-
price: event.price,
|
|
2290
|
-
currency: event.currency || "INR"
|
|
2291
|
-
};
|
|
2292
|
-
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2293
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2294
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2295
|
-
window.posthog?.capture(eventName, enhancedParams);
|
|
2296
|
-
}
|
|
2297
|
-
/**
|
|
2298
|
-
* Track an add to cart event
|
|
2299
|
-
* @param event The add to cart event
|
|
2300
|
-
* @param adapterParams Optional adapter-specific parameters
|
|
2301
|
-
*/
|
|
2302
|
-
trackAddToCart(event, adapterParams) {
|
|
2303
|
-
this.logger.debug("Handling ADD_TO_CART event", { event });
|
|
2304
|
-
const eventName = this.getEventName(adapterParams, "add_to_cart");
|
|
2305
|
-
const baseParams = {
|
|
2306
|
-
product_id: event.productId,
|
|
2307
|
-
product_name: event.productName,
|
|
2308
|
-
price: event.price,
|
|
2309
|
-
currency: event.currency || "INR",
|
|
2310
|
-
quantity: event.quantity,
|
|
2311
|
-
variant: event.variant
|
|
2312
|
-
};
|
|
2313
|
-
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2314
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2315
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2316
|
-
this.logger.debug("Sending to PostHog with params", {
|
|
2317
|
-
eventName,
|
|
2318
|
-
params: enhancedParams
|
|
2319
|
-
});
|
|
2320
|
-
if (!window.posthog) {
|
|
2321
|
-
this.logger.error("window.posthog is not available");
|
|
2322
|
-
return;
|
|
2341
|
+
this.logger.warn(`Skipping unknown event type: ${event.type}`);
|
|
2342
|
+
return { eventName: "", enhancedParams: {} };
|
|
2323
2343
|
}
|
|
2324
|
-
window.posthog.capture(eventName, enhancedParams);
|
|
2325
|
-
this.logger.debug("Event sent to PostHog successfully");
|
|
2326
|
-
}
|
|
2327
|
-
/**
|
|
2328
|
-
* Track a checkout started event
|
|
2329
|
-
* @param event The checkout started event
|
|
2330
|
-
* @param adapterParams Optional adapter-specific parameters
|
|
2331
|
-
*/
|
|
2332
|
-
trackCheckoutStarted(event, adapterParams) {
|
|
2333
|
-
const eventName = this.getEventName(adapterParams, "checkout_started");
|
|
2334
|
-
const baseParams = {
|
|
2335
|
-
cart_value: event.cartValue,
|
|
2336
|
-
currency: event.currency || "INR",
|
|
2337
|
-
item_count: event.itemCount,
|
|
2338
|
-
items: event.items.map((item) => ({
|
|
2339
|
-
product_id: item.productId,
|
|
2340
|
-
product_name: item.productName,
|
|
2341
|
-
price: item.price,
|
|
2342
|
-
quantity: item.quantity,
|
|
2343
|
-
variant: item.variant
|
|
2344
|
-
}))
|
|
2345
|
-
};
|
|
2346
|
-
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2347
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2348
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2349
|
-
window.posthog?.capture(eventName, enhancedParams);
|
|
2350
|
-
}
|
|
2351
|
-
/**
|
|
2352
|
-
* Track a checkout completed event
|
|
2353
|
-
* @param event The checkout completed event
|
|
2354
|
-
* @param adapterParams Optional adapter-specific parameters
|
|
2355
|
-
*/
|
|
2356
|
-
trackCheckoutCompleted(event, adapterParams) {
|
|
2357
|
-
const eventName = this.getEventName(adapterParams, "purchase");
|
|
2358
|
-
const baseParams = {
|
|
2359
|
-
order_id: event.orderId,
|
|
2360
|
-
cart_value: event.cartValue,
|
|
2361
|
-
currency: event.currency || "INR",
|
|
2362
|
-
item_count: event.itemCount,
|
|
2363
|
-
items: event.items.map((item) => ({
|
|
2364
|
-
product_id: item.productId,
|
|
2365
|
-
product_name: item.productName,
|
|
2366
|
-
price: item.price,
|
|
2367
|
-
quantity: item.quantity,
|
|
2368
|
-
variant: item.variant
|
|
2369
|
-
}))
|
|
2370
|
-
};
|
|
2371
|
-
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2372
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2373
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2374
|
-
window.posthog?.capture(eventName, enhancedParams);
|
|
2375
|
-
}
|
|
2376
|
-
/**
|
|
2377
|
-
* Track a search event
|
|
2378
|
-
* @param event The search event
|
|
2379
|
-
* @param adapterParams Optional adapter-specific parameters
|
|
2380
|
-
*/
|
|
2381
|
-
trackSearch(event, adapterParams) {
|
|
2382
|
-
const eventName = this.getEventName(adapterParams, "search");
|
|
2383
|
-
const baseParams = {
|
|
2384
|
-
search_term: event.searchTerm,
|
|
2385
|
-
results_count: event.resultsCount,
|
|
2386
|
-
content_ids: event.content_ids
|
|
2387
|
-
};
|
|
2388
|
-
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2389
|
-
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2390
|
-
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2391
|
-
window.posthog?.capture(eventName, enhancedParams);
|
|
2392
|
-
}
|
|
2393
|
-
/**
|
|
2394
|
-
* Track an add payment info event
|
|
2395
|
-
* @param event The add payment info event
|
|
2396
|
-
* @param adapterParams Optional adapter-specific parameters
|
|
2397
|
-
*/
|
|
2398
|
-
trackAddPaymentInfo(event, adapterParams) {
|
|
2399
|
-
const eventName = this.getEventName(adapterParams, "add_payment_info");
|
|
2400
|
-
const baseParams = {
|
|
2401
|
-
cart_value: event.cartValue,
|
|
2402
|
-
currency: event.currency || "INR",
|
|
2403
|
-
payment_type: event.paymentType,
|
|
2404
|
-
item_count: event.itemCount,
|
|
2405
|
-
items: event.items.map((item) => ({
|
|
2406
|
-
product_id: item.productId,
|
|
2407
|
-
product_name: item.productName,
|
|
2408
|
-
price: item.price,
|
|
2409
|
-
quantity: item.quantity,
|
|
2410
|
-
variant: item.variant
|
|
2411
|
-
}))
|
|
2412
|
-
};
|
|
2413
2344
|
const affiliateParams = this.enhanceWithAffiliateParams(baseParams);
|
|
2414
2345
|
const experimentParams = this.enhanceWithExperimentParams(affiliateParams);
|
|
2415
2346
|
const enhancedParams = this.mergeEventData(experimentParams, adapterParams);
|
|
2416
|
-
|
|
2347
|
+
return { eventName, enhancedParams };
|
|
2417
2348
|
}
|
|
2418
2349
|
};
|
|
2419
2350
|
|