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.
Files changed (50) hide show
  1. package/dist/adapters/index.d.mts +1 -1
  2. package/dist/adapters/index.d.ts +1 -1
  3. package/dist/adapters/index.js +265 -386
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/index.mjs +4 -5
  6. package/dist/affiliate/index.js +0 -1
  7. package/dist/affiliate/index.js.map +1 -1
  8. package/dist/affiliate/index.mjs +1 -2
  9. package/dist/{chunk-C6F4QLQO.mjs → chunk-2DA66EMD.mjs} +1 -3
  10. package/dist/{chunk-C6F4QLQO.mjs.map → chunk-2DA66EMD.mjs.map} +1 -1
  11. package/dist/{chunk-4RDPDMGW.mjs → chunk-2YXPYXKI.mjs} +1 -3
  12. package/dist/{chunk-4RDPDMGW.mjs.map → chunk-2YXPYXKI.mjs.map} +1 -1
  13. package/dist/{chunk-BE3W2SD6.mjs → chunk-CIONXODE.mjs} +2 -4
  14. package/dist/chunk-CIONXODE.mjs.map +1 -0
  15. package/dist/{chunk-HCA4E2RA.mjs → chunk-FLCILQD3.mjs} +1 -3
  16. package/dist/{chunk-HCA4E2RA.mjs.map → chunk-FLCILQD3.mjs.map} +1 -1
  17. package/dist/{chunk-TNXTKEGS.mjs → chunk-LKD63U62.mjs} +1 -3
  18. package/dist/{chunk-TNXTKEGS.mjs.map → chunk-LKD63U62.mjs.map} +1 -1
  19. package/dist/{chunk-NSUG7HIX.mjs → chunk-QHGAR7GR.mjs} +268 -389
  20. package/dist/chunk-QHGAR7GR.mjs.map +1 -0
  21. package/dist/{chunk-VN6OWWKF.mjs → chunk-UASWUUN2.mjs} +3 -4
  22. package/dist/{chunk-VN6OWWKF.mjs.map → chunk-UASWUUN2.mjs.map} +1 -1
  23. package/dist/events/index.js +233 -302
  24. package/dist/events/index.js.map +1 -1
  25. package/dist/events/index.mjs +6 -7
  26. package/dist/experiment/index.js +0 -1
  27. package/dist/experiment/index.js.map +1 -1
  28. package/dist/experiment/index.mjs +1 -2
  29. package/dist/{index-Cq1uZxv9.d.mts → index-AsXxRXnG.d.mts} +6 -42
  30. package/dist/{index-DHFvGrGR.d.ts → index-Hj5-xXDO.d.ts} +6 -42
  31. package/dist/index.d.mts +2 -2
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.js +266 -387
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.mjs +7 -8
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/subscriber-X3HSLVJN.mjs +7 -0
  38. package/dist/types.d.mts +13 -4
  39. package/dist/types.d.ts +13 -4
  40. package/dist/types.js +1 -2
  41. package/dist/types.js.map +1 -1
  42. package/dist/types.mjs +1 -2
  43. package/dist/utils/index.js +0 -1
  44. package/dist/utils/index.js.map +1 -1
  45. package/dist/utils/index.mjs +1 -2
  46. package/package.json +1 -1
  47. package/dist/chunk-BE3W2SD6.mjs.map +0 -1
  48. package/dist/chunk-NSUG7HIX.mjs.map +0 -1
  49. package/dist/subscriber-VF3IYUCU.mjs +0 -8
  50. /package/dist/{subscriber-VF3IYUCU.mjs.map → subscriber-X3HSLVJN.mjs.map} +0 -0
@@ -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["BEGIN_CHECKOUT"] = "begin_checkout";
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.debug(`Skipping unknown event type: ${event.type}`);
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 "form_submission" /* FORM_SUBMISSION */:
1009
- this.trackFormSubmission(event, adapterParams);
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 "view_search_results" /* VIEW_SEARCH_RESULTS */:
1030
- this.trackViewSearchResults(
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.debug("Unhandled event type", { eventType: event.type });
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.debug("Unhandled event type", { eventType: event.type });
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
- this.logger.debug("Tracking event", { eventType: event.type });
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
- this.trackPageView(event, adapterParams);
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
- this.trackProductView(event, adapterParams);
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
- this.trackAddToCart(event, adapterParams);
2216
- break;
2217
- case "checkout_started" /* CHECKOUT_STARTED */:
2218
- this.trackCheckoutStarted(event, adapterParams);
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 "checkout_completed" /* CHECKOUT_COMPLETED */:
2221
- this.trackCheckoutCompleted(event, adapterParams);
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 "add_payment_info" /* ADD_PAYMENT_INFO */:
2224
- this.trackAddPaymentInfo(event, adapterParams);
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 "search" /* SEARCH */:
2227
- this.trackSearch(event, adapterParams);
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 "custom" /* CUSTOM */:
2230
- this.trackCustomEvent(event, adapterParams);
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 "specific" /* SPECIFIC */:
2233
- this.trackSpecificEvent(event, adapterParams);
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.debug("Unhandled event type", { eventType: event.type });
2237
- break;
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
- window.posthog?.capture(eventName, enhancedParams);
2347
+ return { eventName, enhancedParams };
2417
2348
  }
2418
2349
  };
2419
2350