shopkit-analytics 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +193 -3
  2. package/dist/adapters/index.d.mts +3 -2
  3. package/dist/adapters/index.d.ts +3 -2
  4. package/dist/adapters/index.js +1220 -615
  5. package/dist/adapters/index.js.map +1 -1
  6. package/dist/adapters/index.mjs +4 -2
  7. package/dist/{chunk-3TQR5DOP.mjs → chunk-3NR2AKE4.mjs} +1 -31
  8. package/dist/chunk-3NR2AKE4.mjs.map +1 -0
  9. package/dist/chunk-4RDPDMGW.mjs +68 -0
  10. package/dist/chunk-4RDPDMGW.mjs.map +1 -0
  11. package/dist/{chunk-JVEGG6JV.mjs → chunk-HCA4E2RA.mjs} +19 -13
  12. package/dist/chunk-HCA4E2RA.mjs.map +1 -0
  13. package/dist/chunk-NC25KOAF.mjs +156 -0
  14. package/dist/chunk-NC25KOAF.mjs.map +1 -0
  15. package/dist/chunk-NGPUKV7E.mjs +46 -0
  16. package/dist/chunk-NGPUKV7E.mjs.map +1 -0
  17. package/dist/{chunk-4MZH5OLR.mjs → chunk-NJQ2MOM2.mjs} +1145 -618
  18. package/dist/chunk-NJQ2MOM2.mjs.map +1 -0
  19. package/dist/chunk-NKDB4KX2.mjs +2 -0
  20. package/dist/{chunk-P4OJDCEZ.mjs → chunk-QCS5UARA.mjs} +3 -3
  21. package/dist/events/index.d.mts +9 -41
  22. package/dist/events/index.d.ts +9 -41
  23. package/dist/events/index.js +973 -498
  24. package/dist/events/index.js.map +1 -1
  25. package/dist/events/index.mjs +11 -11
  26. package/dist/experiment/index.d.mts +25 -0
  27. package/dist/experiment/index.d.ts +25 -0
  28. package/dist/experiment/index.js +74 -0
  29. package/dist/experiment/index.js.map +1 -0
  30. package/dist/experiment/index.mjs +15 -0
  31. package/dist/experiment/index.mjs.map +1 -0
  32. package/dist/{index-BnNRgdUv.d.ts → index-D_8w5bL_.d.ts} +87 -17
  33. package/dist/{index-GODWc1s6.d.mts → index-th6sBtE3.d.mts} +87 -17
  34. package/dist/index.d.mts +10 -6
  35. package/dist/index.d.ts +10 -6
  36. package/dist/index.js +1408 -660
  37. package/dist/index.js.map +1 -1
  38. package/dist/index.mjs +31 -10
  39. package/dist/index.mjs.map +1 -1
  40. package/dist/services/index.d.mts +51 -0
  41. package/dist/services/index.d.ts +51 -0
  42. package/dist/services/index.js +180 -0
  43. package/dist/services/index.js.map +1 -0
  44. package/dist/services/index.mjs +11 -0
  45. package/dist/services/index.mjs.map +1 -0
  46. package/dist/{subscriber-43gnCKWe.d.ts → subscriber-BDAm_BAi.d.ts} +38 -2
  47. package/dist/{subscriber-sWesj_5p.d.mts → subscriber-BoyOlh9t.d.mts} +38 -2
  48. package/dist/subscriber-VF3IYUCU.mjs +8 -0
  49. package/dist/subscriber-VF3IYUCU.mjs.map +1 -0
  50. package/dist/types-C__2IBCj.d.mts +7 -0
  51. package/dist/types-C__2IBCj.d.ts +7 -0
  52. package/dist/types.d.mts +4 -340
  53. package/dist/types.d.ts +4 -340
  54. package/dist/types.js +0 -30
  55. package/dist/types.js.map +1 -1
  56. package/dist/types.mjs +1 -1
  57. package/dist/utils/index.d.mts +19 -0
  58. package/dist/utils/index.d.ts +19 -0
  59. package/dist/utils/index.js +93 -0
  60. package/dist/utils/index.js.map +1 -0
  61. package/dist/utils/index.mjs +12 -0
  62. package/dist/utils/index.mjs.map +1 -0
  63. package/package.json +21 -8
  64. package/templates/nextjs/README.md +206 -0
  65. package/templates/nextjs/api-events-route.ts +62 -0
  66. package/dist/chunk-3TQR5DOP.mjs.map +0 -1
  67. package/dist/chunk-4MZH5OLR.mjs.map +0 -1
  68. package/dist/chunk-JVEGG6JV.mjs.map +0 -1
  69. package/dist/subscriber-IFZJU57V.mjs +0 -8
  70. /package/dist/{subscriber-IFZJU57V.mjs.map → chunk-NKDB4KX2.mjs.map} +0 -0
  71. /package/dist/{chunk-P4OJDCEZ.mjs.map → chunk-QCS5UARA.mjs.map} +0 -0
package/dist/types.d.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  */
4
4
  declare enum EventType {
5
5
  PRODUCT_VIEW = "product_view",
6
- STARTED_ORDER = "started_order",
7
6
  PAGE_VIEW = "page_view",
8
7
  BUTTON_CLICK = "button_click",
9
8
  FORM_SUBMISSION = "form_submission",
@@ -16,11 +15,6 @@ declare enum EventType {
16
15
  CHECKOUT_STARTED = "checkout_started",
17
16
  CHECKOUT_COMPLETED = "checkout_completed",
18
17
  SEARCH = "search",
19
- CART_PAGE_LAND = "cart_page_land",
20
- CLOSE_CART = "close_cart",
21
- QUANTITY_CHANGE = "quantity_change",
22
- FILTER_APPLIED = "filter_applied",
23
- NEWSLETTER_SUBSCRIPTION = "newsletter_subscription",
24
18
  USER_SIGNUP = "user_signup",
25
19
  USER_LOGIN = "user_login",
26
20
  CUSTOM = "custom",
@@ -31,25 +25,11 @@ declare enum EventType {
31
25
  FORM_START = "form_start",
32
26
  ADD_PAYMENT_INFO = "add_payment_info",
33
27
  CART_VIEWED = "cart_viewed",
34
- PAGES_SCREENS_PER_SESSION = "pages_screens_per_session",
35
28
  VIEW_CONTENT = "view_content",
36
29
  PURCHASE = "purchase",
37
30
  VIEW_SEARCH_RESULTS = "view_search_results",
38
31
  ORDER_PLACED = "order_placed",
39
32
  BEGIN_CHECKOUT = "begin_checkout",
40
- ITEM_PURCHASED = "item_purchased",
41
- UPDATE_CART = "update_cart",
42
- CUSTOMER_REGISTERED = "customer_registered",
43
- CUSTOMER_LOGGED_IN = "customer_logged_in",
44
- SHOPIFY_CHECKOUT_UPDATED = "shopify_checkout_updated",
45
- SHOPIFY_ABANDONED_CHECKOUT = "shopify_abandoned_checkout",
46
- SHOPIFY_ORDER_FULFILLED = "shopify_order_fulfilled",
47
- SHOPIFY_CHECKOUT_STARTED = "shopify_checkout_started",
48
- SHOPIFY_ADD_TO_CART = "shopify_add_to_cart",
49
- SHOPIFY_REMOVED_FROM_CART = "shopify_removed_from_cart",
50
- SHOPIFY_UPDATE_CART = "shopify_update_cart",
51
- SPINFORM_RESULT = "spinform_result",
52
- COUPON_COPIED = "coupon_copied",
53
33
  STARTED_CHECKOUT_GK = "started_checkout_gk",
54
34
  MOBILE_ADDED_GK = "mobile_added_gk",
55
35
  ADDRESS_SELECTED_GK = "address_selected_gk",
@@ -59,17 +39,7 @@ declare enum EventType {
59
39
  ORDER_SUCCESS = "order_success",
60
40
  ORDER_COMPLETED = "order_completed",
61
41
  PIN_CODE_ADDED_GK = "pin_code_added_gk",
62
- ADDRESS_ADDED_GK = "address_added_gk",
63
- KP_MP_PHONE_NUMBER_LOGGED_IN = "kp_mp_phone_number_logged_in",
64
- KP_PHONE_NUMBER_LOGGED_IN = "kp_phone_number_logged_in",
65
- KP_MP_SHOPIFY_LOGGED_IN = "kp_mp_shopify_logged_in",
66
- KP_MP_SUCCESSFULLY_LOGGED_OUT = "kp_mp_successfully_logged_out",
67
- KP_WHATSAPP_LOGGED_IN = "kp_whatsapp_logged_in",
68
- KP_MP_TRUECALLER_LOGGED_IN = "kp_mp_truecaller_logged_in",
69
- KP_MP_WHATSAPP_LOGGED_IN = "kp_mp_whatsapp_logged_in",
70
- KP_TRUECALLER_LOGGED_IN = "kp_truecaller_logged_in",
71
- KP_SHOPIFY_LOGGED_IN = "kp_shopify_logged_in",
72
- KP_SUCCESSFULLY_LOGGED_OUT = "kp_successfully_logged_out"
42
+ ADDRESS_ADDED_GK = "address_added_gk"
73
43
  }
74
44
  /**
75
45
  * Base event interface that all events should implement
@@ -77,6 +47,7 @@ declare enum EventType {
77
47
  interface BaseEvent {
78
48
  type: EventType;
79
49
  timestamp?: number;
50
+ eventId?: string;
80
51
  event_category?: string;
81
52
  description?: string;
82
53
  [key: string]: any;
@@ -424,22 +395,6 @@ interface ISearchEvent extends BaseEvent {
424
395
  content_ids: string[];
425
396
  resultsCount?: number;
426
397
  }
427
- /**
428
- * Filter applied event
429
- */
430
- interface IFilterAppliedEvent extends BaseEvent {
431
- type: EventType.FILTER_APPLIED;
432
- filterType: string;
433
- filterValue: string | number | boolean;
434
- }
435
- /**
436
- * Newsletter subscription event
437
- */
438
- interface INewsletterSubscriptionEvent extends BaseEvent {
439
- type: EventType.NEWSLETTER_SUBSCRIPTION;
440
- email: string;
441
- success: boolean;
442
- }
443
398
  /**
444
399
  * View content event (for Facebook Pixel ViewContent)
445
400
  */
@@ -603,170 +558,6 @@ interface IAddPaymentInfoEvent extends BaseEvent {
603
558
  variant?: string;
604
559
  }>;
605
560
  }
606
- /**
607
- * Item purchased event
608
- */
609
- interface IItemPurchasedEvent extends BaseEvent {
610
- type: EventType.ITEM_PURCHASED;
611
- productId: string;
612
- productName: string;
613
- price: number;
614
- currency?: string;
615
- quantity: number;
616
- variant?: string;
617
- orderId?: string;
618
- }
619
- /**
620
- * Update cart event
621
- */
622
- interface IUpdateCartEvent extends BaseEvent {
623
- type: EventType.UPDATE_CART;
624
- productId: string;
625
- productName: string;
626
- price: number;
627
- currency?: string;
628
- quantity: number;
629
- variant?: string;
630
- }
631
- /**
632
- * Customer registered event
633
- */
634
- interface ICustomerRegisteredEvent extends BaseEvent {
635
- type: EventType.CUSTOMER_REGISTERED;
636
- userId: string;
637
- email?: string;
638
- phone?: string;
639
- firstName?: string;
640
- lastName?: string;
641
- }
642
- /**
643
- * Customer logged in event
644
- */
645
- interface ICustomerLoggedInEvent extends BaseEvent {
646
- type: EventType.CUSTOMER_LOGGED_IN;
647
- userId: string;
648
- email?: string;
649
- phone?: string;
650
- method?: string;
651
- }
652
- /**
653
- * Shopify checkout updated event
654
- */
655
- interface IShopifyCheckoutUpdatedEvent extends BaseEvent {
656
- type: EventType.SHOPIFY_CHECKOUT_UPDATED;
657
- checkoutId: string;
658
- cartValue: number;
659
- currency?: string;
660
- itemCount: number;
661
- items: Array<{
662
- productId: string;
663
- productName: string;
664
- price: number;
665
- quantity: number;
666
- variant?: string;
667
- }>;
668
- }
669
- /**
670
- * Shopify abandoned checkout event
671
- */
672
- interface IShopifyAbandonedCheckoutEvent extends BaseEvent {
673
- type: EventType.SHOPIFY_ABANDONED_CHECKOUT;
674
- checkoutId: string;
675
- cartValue: number;
676
- currency?: string;
677
- itemCount: number;
678
- items: Array<{
679
- productId: string;
680
- productName: string;
681
- price: number;
682
- quantity: number;
683
- variant?: string;
684
- }>;
685
- }
686
- /**
687
- * Shopify order fulfilled event
688
- */
689
- interface IShopifyOrderFulfilledEvent extends BaseEvent {
690
- type: EventType.SHOPIFY_ORDER_FULFILLED;
691
- orderId: string;
692
- cartValue: number;
693
- currency?: string;
694
- itemCount: number;
695
- items: Array<{
696
- productId: string;
697
- productName: string;
698
- price: number;
699
- quantity: number;
700
- variant?: string;
701
- }>;
702
- }
703
- /**
704
- * Shopify checkout started event
705
- */
706
- interface IShopifyCheckoutStartedEvent extends BaseEvent {
707
- type: EventType.SHOPIFY_CHECKOUT_STARTED;
708
- checkoutId: string;
709
- cartValue: number;
710
- currency?: string;
711
- itemCount: number;
712
- items: Array<{
713
- productId: string;
714
- productName: string;
715
- price: number;
716
- quantity: number;
717
- variant?: string;
718
- }>;
719
- }
720
- /**
721
- * Shopify add to cart event
722
- */
723
- interface IShopifyAddToCartEvent extends BaseEvent {
724
- type: EventType.SHOPIFY_ADD_TO_CART;
725
- productId: string;
726
- productName: string;
727
- price: number;
728
- currency?: string;
729
- quantity: number;
730
- variant?: string;
731
- }
732
- /**
733
- * Shopify remove from cart event
734
- */
735
- interface IShopifyRemoveFromCartEvent extends BaseEvent {
736
- type: EventType.SHOPIFY_REMOVED_FROM_CART;
737
- productId: string;
738
- productName: string;
739
- price: number;
740
- currency?: string;
741
- quantity: number;
742
- variant?: string;
743
- }
744
- /**
745
- * Shopify update cart event
746
- */
747
- interface IShopifyUpdateCartEvent extends BaseEvent {
748
- type: EventType.SHOPIFY_UPDATE_CART;
749
- productId: string;
750
- productName: string;
751
- price: number;
752
- currency?: string;
753
- quantity: number;
754
- variant?: string;
755
- }
756
- /**
757
- * Spinform result event
758
- */
759
- interface ISpinformResultEvent extends BaseEvent {
760
- type: EventType.SPINFORM_RESULT;
761
- result?: string;
762
- }
763
- /**
764
- * Coupon copied event
765
- */
766
- interface ICouponCopiedEvent extends BaseEvent {
767
- type: EventType.COUPON_COPIED;
768
- couponCode?: string;
769
- }
770
561
  /**
771
562
  * Started checkout GK event
772
563
  */
@@ -829,34 +620,6 @@ interface IOrderCompletedEvent extends BaseEvent {
829
620
  amount?: number;
830
621
  currency?: string;
831
622
  }
832
- /**
833
- * Cart page land event
834
- */
835
- interface ICartPageLandEvent extends BaseEvent {
836
- type: EventType.CART_PAGE_LAND;
837
- event_category: string;
838
- description: string;
839
- }
840
- /**
841
- * Close cart event
842
- */
843
- interface ICloseCartEvent extends BaseEvent {
844
- type: EventType.CLOSE_CART;
845
- event_category: string;
846
- description: string;
847
- }
848
- /**
849
- * Quantity change event
850
- */
851
- interface IQuantityChangeEvent extends BaseEvent {
852
- type: EventType.QUANTITY_CHANGE;
853
- event_category: string;
854
- description: string;
855
- productId: string;
856
- productName: string;
857
- price: number;
858
- quantity: number;
859
- }
860
623
  /**
861
624
  * PIN code added GK event
862
625
  */
@@ -871,105 +634,6 @@ interface IAddressAddedGKEvent extends BaseEvent {
871
634
  type: EventType.ADDRESS_ADDED_GK;
872
635
  addressId?: string;
873
636
  }
874
- /**
875
- * KP MP phone number logged in event
876
- */
877
- interface IKPMPPhoneNumberLoggedInEvent extends BaseEvent {
878
- type: EventType.KP_MP_PHONE_NUMBER_LOGGED_IN;
879
- phone?: string;
880
- }
881
- /**
882
- * KP phone number logged in event
883
- */
884
- interface IKPPhoneNumberLoggedInEvent extends BaseEvent {
885
- type: EventType.KP_PHONE_NUMBER_LOGGED_IN;
886
- phone?: string;
887
- }
888
- /**
889
- * KP MP Shopify logged in event
890
- */
891
- interface IKPMPShopifyLoggedInEvent extends BaseEvent {
892
- type: EventType.KP_MP_SHOPIFY_LOGGED_IN;
893
- userId?: string;
894
- }
895
- /**
896
- * KP MP successfully logged out event
897
- */
898
- interface IKPMPSuccessfullyLoggedOutEvent extends BaseEvent {
899
- type: EventType.KP_MP_SUCCESSFULLY_LOGGED_OUT;
900
- userId?: string;
901
- }
902
- /**
903
- * KP WhatsApp logged in event
904
- */
905
- interface IKPWhatsAppLoggedInEvent extends BaseEvent {
906
- type: EventType.KP_WHATSAPP_LOGGED_IN;
907
- phone?: string;
908
- }
909
- /**
910
- * KP MP Truecaller logged in event
911
- */
912
- interface IKPMPTruecallerLoggedInEvent extends BaseEvent {
913
- type: EventType.KP_MP_TRUECALLER_LOGGED_IN;
914
- phone?: string;
915
- }
916
- /**
917
- * KP MP WhatsApp logged in event
918
- */
919
- interface IKPMPWhatsAppLoggedInEvent extends BaseEvent {
920
- type: EventType.KP_MP_WHATSAPP_LOGGED_IN;
921
- phone?: string;
922
- }
923
- /**
924
- * KP Truecaller logged in event
925
- */
926
- interface IKPTruecallerLoggedInEvent extends BaseEvent {
927
- type: EventType.KP_TRUECALLER_LOGGED_IN;
928
- phone?: string;
929
- }
930
- /**
931
- * KP Shopify logged in event
932
- */
933
- interface IKPShopifyLoggedInEvent extends BaseEvent {
934
- type: EventType.KP_SHOPIFY_LOGGED_IN;
935
- userId?: string;
936
- }
937
- /**
938
- * KP successfully logged out event
939
- */
940
- interface IKPSuccessfullyLoggedOutEvent extends BaseEvent {
941
- type: EventType.KP_SUCCESSFULLY_LOGGED_OUT;
942
- userId?: string;
943
- }
944
- /**
945
- * Pages screens per session event
946
- */
947
- interface IPagesScreensPerSessionEvent extends BaseEvent {
948
- type: EventType.PAGES_SCREENS_PER_SESSION;
949
- currency: string;
950
- firebase_conversion: boolean;
951
- ga_session_id: string;
952
- ga_session_number: number;
953
- synthetic_bundle: boolean;
954
- value: number;
955
- }
956
- /**
957
- * Started order event
958
- */
959
- interface IStartedOrderEvent extends BaseEvent {
960
- type: EventType.STARTED_ORDER;
961
- cartValue: number;
962
- currency?: string;
963
- itemCount: number;
964
- items: Array<{
965
- productId: string;
966
- productName: string;
967
- price: number;
968
- quantity: number;
969
- }>;
970
- event_category: string;
971
- description: string;
972
- }
973
637
  /**
974
638
  * Product view event
975
639
  */
@@ -986,6 +650,6 @@ interface IProductViewEvent extends BaseEvent {
986
650
  /**
987
651
  * Union type of all possible events
988
652
  */
989
- type TEvent = IProductViewEvent | IPageViewEvent | IButtonClickEvent | IFormSubmissionEvent | ICartPageLandEvent | ICloseCartEvent | IQuantityChangeEvent | IViewItemEvent | IPCollectionViewEvent | IAddToCartEvent | IRemoveFromCartEvent | ICheckoutStartedEvent | ICheckoutCompletedEvent | ICartViewedEvent | ISearchEvent | IFilterAppliedEvent | INewsletterSubscriptionEvent | IUserSignupEvent | IUserLoginEvent | IViewContentEvent | IPurchaseEvent | IViewSearchResultsEvent | IOrderPlacedEvent | IBeginCheckoutEvent | ICustomEvent | IUserEngagementEvent | ISessionStartEvent | IFirstVisitEvent | IScrollEvent | IFormStartEvent | IAddPaymentInfoEvent | IItemPurchasedEvent | IUpdateCartEvent | ICustomerRegisteredEvent | ICustomerLoggedInEvent | IShopifyCheckoutUpdatedEvent | IShopifyAbandonedCheckoutEvent | IShopifyOrderFulfilledEvent | IShopifyCheckoutStartedEvent | IShopifyAddToCartEvent | IShopifyRemoveFromCartEvent | IShopifyUpdateCartEvent | ISpinformResultEvent | ICouponCopiedEvent | IStartedCheckoutGKEvent | IMobileAddedGKEvent | IAddressSelectedGKEvent | IAddressCompletedGKEvent | IPaymentMethodSelectedGKEvent | IPaymentCompletedGKEvent | IOrderSuccessEvent | IOrderCompletedEvent | IPinCodeAddedGKEvent | IAddressAddedGKEvent | IKPMPPhoneNumberLoggedInEvent | IKPPhoneNumberLoggedInEvent | IKPMPShopifyLoggedInEvent | IKPMPSuccessfullyLoggedOutEvent | IKPWhatsAppLoggedInEvent | IKPMPTruecallerLoggedInEvent | IKPMPWhatsAppLoggedInEvent | IKPTruecallerLoggedInEvent | IKPShopifyLoggedInEvent | IKPSuccessfullyLoggedOutEvent | IPagesScreensPerSessionEvent | IViewedProductEvent | ICheckoutPaymentEvent | IStartedOrderEvent;
653
+ type TEvent = IProductViewEvent | IPageViewEvent | IButtonClickEvent | IFormSubmissionEvent | IViewItemEvent | IPCollectionViewEvent | IAddToCartEvent | IRemoveFromCartEvent | ICheckoutStartedEvent | ICheckoutCompletedEvent | ICartViewedEvent | ISearchEvent | IUserSignupEvent | IUserLoginEvent | IViewContentEvent | IPurchaseEvent | IViewSearchResultsEvent | IOrderPlacedEvent | IBeginCheckoutEvent | ICustomEvent | IUserEngagementEvent | ISessionStartEvent | IFirstVisitEvent | IScrollEvent | IFormStartEvent | IAddPaymentInfoEvent | IStartedCheckoutGKEvent | IMobileAddedGKEvent | IAddressSelectedGKEvent | IAddressCompletedGKEvent | IPaymentMethodSelectedGKEvent | IPaymentCompletedGKEvent | IOrderSuccessEvent | IOrderCompletedEvent | IPinCodeAddedGKEvent | IAddressAddedGKEvent | IViewedProductEvent | ICheckoutPaymentEvent;
990
654
 
991
- export { type BaseEvent, EventType, type IAddPaymentInfoEvent, type IAddToCartEvent, type IAddressAddedGKEvent, type IAddressCompletedGKEvent, type IAddressSelectedGKEvent, type IBeginCheckoutEvent, type IButtonClickEvent, type ICartPageLandEvent, type ICartViewedEvent, type ICheckoutCompletedEvent, type ICheckoutPaymentEvent, type ICheckoutStartedEvent, type ICloseCartEvent, type ICouponCopiedEvent, type ICustomEvent, type ICustomerLoggedInEvent, type ICustomerRegisteredEvent, type IFilterAppliedEvent, type IFirstVisitEvent, type IFormStartEvent, type IFormSubmissionEvent, type IItemPurchasedEvent, type IKPMPPhoneNumberLoggedInEvent, type IKPMPShopifyLoggedInEvent, type IKPMPSuccessfullyLoggedOutEvent, type IKPMPTruecallerLoggedInEvent, type IKPMPWhatsAppLoggedInEvent, type IKPPhoneNumberLoggedInEvent, type IKPShopifyLoggedInEvent, type IKPSuccessfullyLoggedOutEvent, type IKPTruecallerLoggedInEvent, type IKPWhatsAppLoggedInEvent, type IMobileAddedGKEvent, type INewsletterSubscriptionEvent, type IOrderCompletedEvent, type IOrderPlacedEvent, type IOrderSuccessEvent, type IPCollectionViewEvent, type IPageViewEvent, type IPagesScreensPerSessionEvent, type IPaymentCompletedGKEvent, type IPaymentMethodSelectedGKEvent, type IPinCodeAddedGKEvent, type IProductViewEvent, type IPurchaseEvent, type IQuantityChangeEvent, type IRemoveFromCartEvent, type IScrollEvent, type ISearchEvent, type ISessionStartEvent, type IShopifyAbandonedCheckoutEvent, type IShopifyAddToCartEvent, type IShopifyCheckoutStartedEvent, type IShopifyCheckoutUpdatedEvent, type IShopifyOrderFulfilledEvent, type IShopifyRemoveFromCartEvent, type IShopifyUpdateCartEvent, type ISpinformResultEvent, type IStartedCheckoutGKEvent, type IStartedOrderEvent, type IUpdateCartEvent, type IUserEngagementEvent, type IUserLoginEvent, type IUserSignupEvent, type IViewContentEvent, type IViewItemEvent, type IViewSearchResultsEvent, type IViewedProductEvent, type TEvent };
655
+ export { type BaseEvent, EventType, type IAddPaymentInfoEvent, type IAddToCartEvent, type IAddressAddedGKEvent, type IAddressCompletedGKEvent, type IAddressSelectedGKEvent, type IBeginCheckoutEvent, type IButtonClickEvent, type ICartViewedEvent, type ICheckoutCompletedEvent, type ICheckoutPaymentEvent, type ICheckoutStartedEvent, type ICustomEvent, type IFirstVisitEvent, type IFormStartEvent, type IFormSubmissionEvent, type IMobileAddedGKEvent, type IOrderCompletedEvent, type IOrderPlacedEvent, type IOrderSuccessEvent, type IPCollectionViewEvent, type IPageViewEvent, type IPaymentCompletedGKEvent, type IPaymentMethodSelectedGKEvent, type IPinCodeAddedGKEvent, type IProductViewEvent, type IPurchaseEvent, type IRemoveFromCartEvent, type IScrollEvent, type ISearchEvent, type ISessionStartEvent, type IStartedCheckoutGKEvent, type IUserEngagementEvent, type IUserLoginEvent, type IUserSignupEvent, type IViewContentEvent, type IViewItemEvent, type IViewSearchResultsEvent, type IViewedProductEvent, type TEvent };
package/dist/types.js CHANGED
@@ -26,7 +26,6 @@ __export(types_exports, {
26
26
  module.exports = __toCommonJS(types_exports);
27
27
  var EventType = /* @__PURE__ */ ((EventType2) => {
28
28
  EventType2["PRODUCT_VIEW"] = "product_view";
29
- EventType2["STARTED_ORDER"] = "started_order";
30
29
  EventType2["PAGE_VIEW"] = "page_view";
31
30
  EventType2["BUTTON_CLICK"] = "button_click";
32
31
  EventType2["FORM_SUBMISSION"] = "form_submission";
@@ -39,11 +38,6 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
39
38
  EventType2["CHECKOUT_STARTED"] = "checkout_started";
40
39
  EventType2["CHECKOUT_COMPLETED"] = "checkout_completed";
41
40
  EventType2["SEARCH"] = "search";
42
- EventType2["CART_PAGE_LAND"] = "cart_page_land";
43
- EventType2["CLOSE_CART"] = "close_cart";
44
- EventType2["QUANTITY_CHANGE"] = "quantity_change";
45
- EventType2["FILTER_APPLIED"] = "filter_applied";
46
- EventType2["NEWSLETTER_SUBSCRIPTION"] = "newsletter_subscription";
47
41
  EventType2["USER_SIGNUP"] = "user_signup";
48
42
  EventType2["USER_LOGIN"] = "user_login";
49
43
  EventType2["CUSTOM"] = "custom";
@@ -54,25 +48,11 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
54
48
  EventType2["FORM_START"] = "form_start";
55
49
  EventType2["ADD_PAYMENT_INFO"] = "add_payment_info";
56
50
  EventType2["CART_VIEWED"] = "cart_viewed";
57
- EventType2["PAGES_SCREENS_PER_SESSION"] = "pages_screens_per_session";
58
51
  EventType2["VIEW_CONTENT"] = "view_content";
59
52
  EventType2["PURCHASE"] = "purchase";
60
53
  EventType2["VIEW_SEARCH_RESULTS"] = "view_search_results";
61
54
  EventType2["ORDER_PLACED"] = "order_placed";
62
55
  EventType2["BEGIN_CHECKOUT"] = "begin_checkout";
63
- EventType2["ITEM_PURCHASED"] = "item_purchased";
64
- EventType2["UPDATE_CART"] = "update_cart";
65
- EventType2["CUSTOMER_REGISTERED"] = "customer_registered";
66
- EventType2["CUSTOMER_LOGGED_IN"] = "customer_logged_in";
67
- EventType2["SHOPIFY_CHECKOUT_UPDATED"] = "shopify_checkout_updated";
68
- EventType2["SHOPIFY_ABANDONED_CHECKOUT"] = "shopify_abandoned_checkout";
69
- EventType2["SHOPIFY_ORDER_FULFILLED"] = "shopify_order_fulfilled";
70
- EventType2["SHOPIFY_CHECKOUT_STARTED"] = "shopify_checkout_started";
71
- EventType2["SHOPIFY_ADD_TO_CART"] = "shopify_add_to_cart";
72
- EventType2["SHOPIFY_REMOVED_FROM_CART"] = "shopify_removed_from_cart";
73
- EventType2["SHOPIFY_UPDATE_CART"] = "shopify_update_cart";
74
- EventType2["SPINFORM_RESULT"] = "spinform_result";
75
- EventType2["COUPON_COPIED"] = "coupon_copied";
76
56
  EventType2["STARTED_CHECKOUT_GK"] = "started_checkout_gk";
77
57
  EventType2["MOBILE_ADDED_GK"] = "mobile_added_gk";
78
58
  EventType2["ADDRESS_SELECTED_GK"] = "address_selected_gk";
@@ -83,16 +63,6 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
83
63
  EventType2["ORDER_COMPLETED"] = "order_completed";
84
64
  EventType2["PIN_CODE_ADDED_GK"] = "pin_code_added_gk";
85
65
  EventType2["ADDRESS_ADDED_GK"] = "address_added_gk";
86
- EventType2["KP_MP_PHONE_NUMBER_LOGGED_IN"] = "kp_mp_phone_number_logged_in";
87
- EventType2["KP_PHONE_NUMBER_LOGGED_IN"] = "kp_phone_number_logged_in";
88
- EventType2["KP_MP_SHOPIFY_LOGGED_IN"] = "kp_mp_shopify_logged_in";
89
- EventType2["KP_MP_SUCCESSFULLY_LOGGED_OUT"] = "kp_mp_successfully_logged_out";
90
- EventType2["KP_WHATSAPP_LOGGED_IN"] = "kp_whatsapp_logged_in";
91
- EventType2["KP_MP_TRUECALLER_LOGGED_IN"] = "kp_mp_truecaller_logged_in";
92
- EventType2["KP_MP_WHATSAPP_LOGGED_IN"] = "kp_mp_whatsapp_logged_in";
93
- EventType2["KP_TRUECALLER_LOGGED_IN"] = "kp_truecaller_logged_in";
94
- EventType2["KP_SHOPIFY_LOGGED_IN"] = "kp_shopify_logged_in";
95
- EventType2["KP_SUCCESSFULLY_LOGGED_OUT"] = "kp_successfully_logged_out";
96
66
  return EventType2;
97
67
  })(EventType || {});
98
68
  // Annotate the CommonJS export names for ESM import in node:
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["\n/**\n * Event types that can be tracked across the application\n */\nexport enum EventType {\n PRODUCT_VIEW = \"product_view\",\n STARTED_ORDER = \"started_order\",\n PAGE_VIEW = \"page_view\",\n BUTTON_CLICK = \"button_click\",\n FORM_SUBMISSION = \"form_submission\",\n VIEW_ITEM = \"view_item\",\n VIEWED_PRODUCT = \"viewed_product\",\n CHECKOUT_PAYMENT = \"checkout_payment\",\n COLLECTION_VIEW = \"collection_view\",\n ADD_TO_CART = \"add_to_cart\",\n REMOVE_FROM_CART = \"remove_from_cart\",\n CHECKOUT_STARTED = \"checkout_started\",\n CHECKOUT_COMPLETED = \"checkout_completed\",\n SEARCH = \"search\",\n CART_PAGE_LAND = \"cart_page_land\",\n CLOSE_CART = \"close_cart\",\n QUANTITY_CHANGE = \"quantity_change\",\n FILTER_APPLIED = \"filter_applied\",\n NEWSLETTER_SUBSCRIPTION = \"newsletter_subscription\",\n USER_SIGNUP = \"user_signup\",\n USER_LOGIN = \"user_login\",\n CUSTOM = \"custom\",\n USER_ENGAGEMENT = \"user_engagement\",\n SESSION_START = \"session_start\",\n FIRST_VISIT = \"first_visit\",\n SCROLL = \"scroll\",\n FORM_START = \"form_start\",\n ADD_PAYMENT_INFO = \"add_payment_info\",\n CART_VIEWED = \"cart_viewed\",\n PAGES_SCREENS_PER_SESSION = \"pages_screens_per_session\",\n VIEW_CONTENT = \"view_content\",\n PURCHASE = \"purchase\",\n VIEW_SEARCH_RESULTS = \"view_search_results\",\n ORDER_PLACED = \"order_placed\",\n BEGIN_CHECKOUT = \"begin_checkout\",\n\n // MoEngage events\n ITEM_PURCHASED = \"item_purchased\",\n UPDATE_CART = \"update_cart\",\n CUSTOMER_REGISTERED = \"customer_registered\",\n CUSTOMER_LOGGED_IN = \"customer_logged_in\",\n SHOPIFY_CHECKOUT_UPDATED = \"shopify_checkout_updated\",\n SHOPIFY_ABANDONED_CHECKOUT = \"shopify_abandoned_checkout\",\n SHOPIFY_ORDER_FULFILLED = \"shopify_order_fulfilled\",\n SHOPIFY_CHECKOUT_STARTED = \"shopify_checkout_started\",\n SHOPIFY_ADD_TO_CART = \"shopify_add_to_cart\",\n SHOPIFY_REMOVED_FROM_CART = \"shopify_removed_from_cart\",\n SHOPIFY_UPDATE_CART = \"shopify_update_cart\",\n SPINFORM_RESULT = \"spinform_result\",\n COUPON_COPIED = \"coupon_copied\",\n STARTED_CHECKOUT_GK = \"started_checkout_gk\",\n MOBILE_ADDED_GK = \"mobile_added_gk\",\n ADDRESS_SELECTED_GK = \"address_selected_gk\",\n ADDRESS_COMPLETED_GK = \"address_completed_gk\",\n PAYMENT_METHOD_SELECTED_GK = \"payment_method_selected_gk\",\n PAYMENT_COMPLETED_GK = \"payment_completed_gk\",\n ORDER_SUCCESS = \"order_success\",\n ORDER_COMPLETED = \"order_completed\",\n PIN_CODE_ADDED_GK = \"pin_code_added_gk\",\n ADDRESS_ADDED_GK = \"address_added_gk\",\n KP_MP_PHONE_NUMBER_LOGGED_IN = \"kp_mp_phone_number_logged_in\",\n KP_PHONE_NUMBER_LOGGED_IN = \"kp_phone_number_logged_in\",\n KP_MP_SHOPIFY_LOGGED_IN = \"kp_mp_shopify_logged_in\",\n KP_MP_SUCCESSFULLY_LOGGED_OUT = \"kp_mp_successfully_logged_out\",\n KP_WHATSAPP_LOGGED_IN = \"kp_whatsapp_logged_in\",\n KP_MP_TRUECALLER_LOGGED_IN = \"kp_mp_truecaller_logged_in\",\n KP_MP_WHATSAPP_LOGGED_IN = \"kp_mp_whatsapp_logged_in\",\n KP_TRUECALLER_LOGGED_IN = \"kp_truecaller_logged_in\",\n KP_SHOPIFY_LOGGED_IN = \"kp_shopify_logged_in\",\n KP_SUCCESSFULLY_LOGGED_OUT = \"kp_successfully_logged_out\",\n}\n\n/**\n * Base event interface that all events should implement\n */\nexport interface BaseEvent {\n type: EventType;\n timestamp?: number;\n event_category?: string;\n description?: string;\n [key: string]: any;\n}\n\n/**\n * Page view event\n */\nexport interface IPageViewEvent extends BaseEvent {\n type: EventType.PAGE_VIEW;\n path: string;\n title: string;\n referrer?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n debug_mode?: boolean;\n engagement_time_msec?: number;\n entrances?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n page_source?: string;\n page_term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * User engagement event\n */\nexport interface IUserEngagementEvent extends BaseEvent {\n type: EventType.USER_ENGAGEMENT;\n engagementTime?: number; // in seconds\n pagePath?: string;\n pageTitle?: string;\n scrollDepth?: number; // in percentage\n formId?: string;\n formName?: string;\n formFields?: Array<{\n fieldName: string;\n fieldValue: string;\n }>;\n buttonId?: string;\n buttonText?: string;\n location?: string;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Session start event\n */\nexport interface ISessionStartEvent extends BaseEvent {\n type: EventType.SESSION_START;\n sessionId: string;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * First visit event\n */\nexport interface IFirstVisitEvent extends BaseEvent {\n type: EventType.FIRST_VISIT;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Scroll event\n */\nexport interface IScrollEvent extends BaseEvent {\n type: EventType.SCROLL;\n scrollDepth: number; // in percentage\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n percent_scrolled?: number;\n}\n\n/**\n * Form start event\n */\nexport interface IFormStartEvent extends BaseEvent {\n type: EventType.FORM_START;\n formId: string;\n formName?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Form submission event\n */\nexport interface IFormSubmissionEvent extends BaseEvent {\n type: EventType.FORM_SUBMISSION;\n formId: string;\n formName?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User signup event\n */\nexport interface IUserSignupEvent extends BaseEvent {\n type: EventType.USER_SIGNUP;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User login event\n */\nexport interface IUserLoginEvent extends BaseEvent {\n type: EventType.USER_LOGIN;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Button click event\n */\nexport interface IButtonClickEvent extends BaseEvent {\n type: EventType.BUTTON_CLICK;\n buttonId?: string;\n buttonText?: string;\n location: string;\n}\n\n/**\n * View item event for e-commerce tracking\n */\nexport interface IViewItemEvent extends BaseEvent {\n type: EventType.VIEW_ITEM;\n currency: string;\n value: number;\n items: Array<{\n item_id: string;\n item_name: string;\n price: number;\n currency: string;\n }>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Checkout payment event\n */\nexport interface ICheckoutPaymentEvent extends BaseEvent {\n type: EventType.CHECKOUT_PAYMENT;\n cartValue: number;\n currency: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Viewed product event after 20 seconds\n */\nexport interface IViewedProductEvent extends BaseEvent {\n type: EventType.VIEWED_PRODUCT;\n productId: string;\n productName: string;\n price: number;\n currency: string;\n viewDuration: number;\n}\n\nexport interface IPCollectionViewEvent extends BaseEvent {\n type: EventType.COLLECTION_VIEW;\n productId: string;\n productName: string;\n price?: number;\n currency?: string;\n category?: string;\n}\n\n/**\n * Add to cart event\n */\nexport interface IAddToCartEvent extends BaseEvent {\n type: EventType.ADD_TO_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity?: number;\n variant?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n value?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Remove from cart event\n */\nexport interface IRemoveFromCartEvent extends BaseEvent {\n type: EventType.REMOVE_FROM_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Checkout started event\n */\nexport interface ICheckoutStartedEvent extends BaseEvent {\n type: EventType.CHECKOUT_STARTED;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n coupon?: string;\n discount?: number | string;\n}\n\n/**\n * Checkout completed event\n */\nexport interface ICheckoutCompletedEvent extends BaseEvent {\n type: EventType.CHECKOUT_COMPLETED;\n orderId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Cart viewed event\n */\nexport interface ICartViewedEvent extends BaseEvent {\n type: EventType.CART_VIEWED;\n cartId: string;\n products: Array<{\n variantId: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Search event\n */\nexport interface ISearchEvent extends BaseEvent {\n type: EventType.SEARCH;\n searchTerm: string;\n content_ids: string[];\n resultsCount?: number;\n}\n\n/**\n * Filter applied event\n */\nexport interface IFilterAppliedEvent extends BaseEvent {\n type: EventType.FILTER_APPLIED;\n filterType: string;\n filterValue: string | number | boolean;\n}\n\n/**\n * Newsletter subscription event\n */\nexport interface INewsletterSubscriptionEvent extends BaseEvent {\n type: EventType.NEWSLETTER_SUBSCRIPTION;\n email: string;\n success: boolean;\n}\n\n/**\n * View content event (for Facebook Pixel ViewContent)\n */\nexport interface IViewContentEvent extends BaseEvent {\n type: EventType.VIEW_CONTENT;\n content_type?: string;\n content_ids?: string[];\n content_name?: string;\n content_category?: string;\n value?: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * Purchase event (for Facebook Pixel Purchase)\n */\nexport interface IPurchaseEvent extends BaseEvent {\n type: EventType.PURCHASE;\n value: number;\n currency?: string;\n content_type?: string;\n content_ids?: string[];\n num_items?: number;\n contents?: Array<{\n id: string;\n quantity: number;\n item_price?: number;\n }>;\n transaction_id?: string;\n coupon?: string;\n shipping?: number;\n tax?: number;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * View search results event (for GA4)\n */\nexport interface IViewSearchResultsEvent extends BaseEvent {\n type: EventType.VIEW_SEARCH_RESULTS;\n search_term?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n engagement_time_msec?: number;\n}\n\n/**\n * Order placed event (for GA4)\n */\nexport interface IOrderPlacedEvent extends BaseEvent {\n type: EventType.ORDER_PLACED;\n transaction_id?: string;\n order_id?: string;\n total_amount?: number;\n value: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n coupon?: string;\n discount?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n payment_type?: string;\n shipping?: number;\n shipping_name?: string;\n tax?: number;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Begin checkout event (for GA4)\n */\nexport interface IBeginCheckoutEvent extends BaseEvent {\n type: EventType.BEGIN_CHECKOUT;\n currency?: string;\n value: number;\n coupon?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Custom event for any other tracking needs\n */\nexport interface ICustomEvent extends BaseEvent {\n type: EventType.CUSTOM;\n name: string;\n properties?: Record<string, any>;\n}\n\n/**\n * Add Payment Info event\n */\nexport interface IAddPaymentInfoEvent extends BaseEvent {\n type: EventType.ADD_PAYMENT_INFO;\n cartValue: number;\n currency?: string;\n itemCount: number;\n paymentType?: string;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Item purchased event\n */\nexport interface IItemPurchasedEvent extends BaseEvent {\n type: EventType.ITEM_PURCHASED;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n orderId?: string;\n}\n\n/**\n * Update cart event\n */\nexport interface IUpdateCartEvent extends BaseEvent {\n type: EventType.UPDATE_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Customer registered event\n */\nexport interface ICustomerRegisteredEvent extends BaseEvent {\n type: EventType.CUSTOMER_REGISTERED;\n userId: string;\n email?: string;\n phone?: string;\n firstName?: string;\n lastName?: string;\n}\n\n/**\n * Customer logged in event\n */\nexport interface ICustomerLoggedInEvent extends BaseEvent {\n type: EventType.CUSTOMER_LOGGED_IN;\n userId: string;\n email?: string;\n phone?: string;\n method?: string;\n}\n\n/**\n * Shopify checkout updated event\n */\nexport interface IShopifyCheckoutUpdatedEvent extends BaseEvent {\n type: EventType.SHOPIFY_CHECKOUT_UPDATED;\n checkoutId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Shopify abandoned checkout event\n */\nexport interface IShopifyAbandonedCheckoutEvent extends BaseEvent {\n type: EventType.SHOPIFY_ABANDONED_CHECKOUT;\n checkoutId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Shopify order fulfilled event\n */\nexport interface IShopifyOrderFulfilledEvent extends BaseEvent {\n type: EventType.SHOPIFY_ORDER_FULFILLED;\n orderId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Shopify checkout started event\n */\nexport interface IShopifyCheckoutStartedEvent extends BaseEvent {\n type: EventType.SHOPIFY_CHECKOUT_STARTED;\n checkoutId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Shopify add to cart event\n */\nexport interface IShopifyAddToCartEvent extends BaseEvent {\n type: EventType.SHOPIFY_ADD_TO_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Shopify remove from cart event\n */\nexport interface IShopifyRemoveFromCartEvent extends BaseEvent {\n type: EventType.SHOPIFY_REMOVED_FROM_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Shopify update cart event\n */\nexport interface IShopifyUpdateCartEvent extends BaseEvent {\n type: EventType.SHOPIFY_UPDATE_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Spinform result event\n */\nexport interface ISpinformResultEvent extends BaseEvent {\n type: EventType.SPINFORM_RESULT;\n result?: string;\n}\n\n/**\n * Coupon copied event\n */\nexport interface ICouponCopiedEvent extends BaseEvent {\n type: EventType.COUPON_COPIED;\n couponCode?: string;\n}\n\n/**\n * Started checkout GK event\n */\nexport interface IStartedCheckoutGKEvent extends BaseEvent {\n type: EventType.STARTED_CHECKOUT_GK;\n cartValue?: number;\n currency?: string;\n}\n\n/**\n * Mobile added GK event\n */\nexport interface IMobileAddedGKEvent extends BaseEvent {\n type: EventType.MOBILE_ADDED_GK;\n mobile?: string;\n}\n\n/**\n * Address selected GK event\n */\nexport interface IAddressSelectedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_SELECTED_GK;\n addressId?: string;\n}\n\n/**\n * Address completed GK event\n */\nexport interface IAddressCompletedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_COMPLETED_GK;\n addressId?: string;\n}\n\n/**\n * Payment method selected GK event\n */\nexport interface IPaymentMethodSelectedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_METHOD_SELECTED_GK;\n paymentMethod?: string;\n}\n\n/**\n * Payment completed GK event\n */\nexport interface IPaymentCompletedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_COMPLETED_GK;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order success event\n */\nexport interface IOrderSuccessEvent extends BaseEvent {\n type: EventType.ORDER_SUCCESS;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order completed event\n */\nexport interface IOrderCompletedEvent extends BaseEvent {\n type: EventType.ORDER_COMPLETED;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Cart page land event\n */\nexport interface ICartPageLandEvent extends BaseEvent {\n type: EventType.CART_PAGE_LAND;\n event_category: string;\n description: string;\n}\n\n/**\n * Close cart event\n */\nexport interface ICloseCartEvent extends BaseEvent {\n type: EventType.CLOSE_CART;\n event_category: string;\n description: string;\n}\n\n/**\n * Quantity change event\n */\nexport interface IQuantityChangeEvent extends BaseEvent {\n type: EventType.QUANTITY_CHANGE;\n event_category: string;\n description: string;\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n}\n\n/**\n * PIN code added GK event\n */\nexport interface IPinCodeAddedGKEvent extends BaseEvent {\n type: EventType.PIN_CODE_ADDED_GK;\n pinCode?: string;\n}\n\n/**\n * Address added GK event\n */\nexport interface IAddressAddedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_ADDED_GK;\n addressId?: string;\n}\n\n/**\n * KP MP phone number logged in event\n */\nexport interface IKPMPPhoneNumberLoggedInEvent extends BaseEvent {\n type: EventType.KP_MP_PHONE_NUMBER_LOGGED_IN;\n phone?: string;\n}\n\n/**\n * KP phone number logged in event\n */\nexport interface IKPPhoneNumberLoggedInEvent extends BaseEvent {\n type: EventType.KP_PHONE_NUMBER_LOGGED_IN;\n phone?: string;\n}\n\n/**\n * KP MP Shopify logged in event\n */\nexport interface IKPMPShopifyLoggedInEvent extends BaseEvent {\n type: EventType.KP_MP_SHOPIFY_LOGGED_IN;\n userId?: string;\n}\n\n/**\n * KP MP successfully logged out event\n */\nexport interface IKPMPSuccessfullyLoggedOutEvent extends BaseEvent {\n type: EventType.KP_MP_SUCCESSFULLY_LOGGED_OUT;\n userId?: string;\n}\n\n/**\n * KP WhatsApp logged in event\n */\nexport interface IKPWhatsAppLoggedInEvent extends BaseEvent {\n type: EventType.KP_WHATSAPP_LOGGED_IN;\n phone?: string;\n}\n\n/**\n * KP MP Truecaller logged in event\n */\nexport interface IKPMPTruecallerLoggedInEvent extends BaseEvent {\n type: EventType.KP_MP_TRUECALLER_LOGGED_IN;\n phone?: string;\n}\n\n/**\n * KP MP WhatsApp logged in event\n */\nexport interface IKPMPWhatsAppLoggedInEvent extends BaseEvent {\n type: EventType.KP_MP_WHATSAPP_LOGGED_IN;\n phone?: string;\n}\n\n/**\n * KP Truecaller logged in event\n */\nexport interface IKPTruecallerLoggedInEvent extends BaseEvent {\n type: EventType.KP_TRUECALLER_LOGGED_IN;\n phone?: string;\n}\n\n/**\n * KP Shopify logged in event\n */\nexport interface IKPShopifyLoggedInEvent extends BaseEvent {\n type: EventType.KP_SHOPIFY_LOGGED_IN;\n userId?: string;\n}\n\n/**\n * KP successfully logged out event\n */\nexport interface IKPSuccessfullyLoggedOutEvent extends BaseEvent {\n type: EventType.KP_SUCCESSFULLY_LOGGED_OUT;\n userId?: string;\n}\n\n/**\n * Pages screens per session event\n */\nexport interface IPagesScreensPerSessionEvent extends BaseEvent {\n type: EventType.PAGES_SCREENS_PER_SESSION;\n currency: string;\n firebase_conversion: boolean;\n ga_session_id: string;\n ga_session_number: number;\n synthetic_bundle: boolean;\n value: number;\n}\n\n/**\n * Started order event\n */\nexport interface IStartedOrderEvent extends BaseEvent {\n type: EventType.STARTED_ORDER;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n }>;\n event_category: string;\n description: string;\n}\n\n/**\n * Product view event\n */\nexport interface IProductViewEvent extends BaseEvent {\n type: EventType.PRODUCT_VIEW;\n event_category: string;\n description: string;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n category?: string;\n}\n\n/**\n * Union type of all possible events\n */\nexport type TEvent =\n | IProductViewEvent\n | IPageViewEvent\n | IButtonClickEvent\n | IFormSubmissionEvent\n | ICartPageLandEvent\n | ICloseCartEvent\n | IQuantityChangeEvent\n | IViewItemEvent\n | IPCollectionViewEvent\n | IAddToCartEvent\n | IRemoveFromCartEvent\n | ICheckoutStartedEvent\n | ICheckoutCompletedEvent\n | ICartViewedEvent\n | ISearchEvent\n | IFilterAppliedEvent\n | INewsletterSubscriptionEvent\n | IUserSignupEvent\n | IUserLoginEvent\n | IViewContentEvent\n | IPurchaseEvent\n | IViewSearchResultsEvent\n | IOrderPlacedEvent\n | IBeginCheckoutEvent\n | ICustomEvent\n | IUserEngagementEvent\n | ISessionStartEvent\n | IFirstVisitEvent\n | IScrollEvent\n | IFormStartEvent\n | IAddPaymentInfoEvent\n | IItemPurchasedEvent\n | IUpdateCartEvent\n | ICustomerRegisteredEvent\n | ICustomerLoggedInEvent\n | IShopifyCheckoutUpdatedEvent\n | IShopifyAbandonedCheckoutEvent\n | IShopifyOrderFulfilledEvent\n | IShopifyCheckoutStartedEvent\n | IShopifyAddToCartEvent\n | IShopifyRemoveFromCartEvent\n | IShopifyUpdateCartEvent\n | ISpinformResultEvent\n | ICouponCopiedEvent\n | IStartedCheckoutGKEvent\n | IMobileAddedGKEvent\n | IAddressSelectedGKEvent\n | IAddressCompletedGKEvent\n | IPaymentMethodSelectedGKEvent\n | IPaymentCompletedGKEvent\n | IOrderSuccessEvent\n | IOrderCompletedEvent\n | IPinCodeAddedGKEvent\n | IAddressAddedGKEvent\n | IKPMPPhoneNumberLoggedInEvent\n | IKPPhoneNumberLoggedInEvent\n | IKPMPShopifyLoggedInEvent\n | IKPMPSuccessfullyLoggedOutEvent\n | IKPWhatsAppLoggedInEvent\n | IKPMPTruecallerLoggedInEvent\n | IKPMPWhatsAppLoggedInEvent\n | IKPTruecallerLoggedInEvent\n | IKPShopifyLoggedInEvent\n | IKPSuccessfullyLoggedOutEvent\n | IPagesScreensPerSessionEvent\n | IViewedProductEvent\n | ICheckoutPaymentEvent\n | IStartedOrderEvent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,oBAAiB;AACjB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,wBAAqB;AACrB,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,oBAAiB;AACjB,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,oBAAiB;AACjB,EAAAA,WAAA,6BAA0B;AAC1B,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,+BAA4B;AAC5B,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,cAAW;AACX,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,oBAAiB;AAGjB,EAAAA,WAAA,oBAAiB;AACjB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,wBAAqB;AACrB,EAAAA,WAAA,8BAA2B;AAC3B,EAAAA,WAAA,gCAA6B;AAC7B,EAAAA,WAAA,6BAA0B;AAC1B,EAAAA,WAAA,8BAA2B;AAC3B,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,+BAA4B;AAC5B,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,gCAA6B;AAC7B,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,uBAAoB;AACpB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,kCAA+B;AAC/B,EAAAA,WAAA,+BAA4B;AAC5B,EAAAA,WAAA,6BAA0B;AAC1B,EAAAA,WAAA,mCAAgC;AAChC,EAAAA,WAAA,2BAAwB;AACxB,EAAAA,WAAA,gCAA6B;AAC7B,EAAAA,WAAA,8BAA2B;AAC3B,EAAAA,WAAA,6BAA0B;AAC1B,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,gCAA6B;AAtEnB,SAAAA;AAAA,GAAA;","names":["EventType"]}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["/**\n * Event types that can be tracked across the application\n */\nexport enum EventType {\n PRODUCT_VIEW = \"product_view\",\n PAGE_VIEW = \"page_view\",\n BUTTON_CLICK = \"button_click\",\n FORM_SUBMISSION = \"form_submission\",\n VIEW_ITEM = \"view_item\",\n VIEWED_PRODUCT = \"viewed_product\",\n CHECKOUT_PAYMENT = \"checkout_payment\",\n COLLECTION_VIEW = \"collection_view\",\n ADD_TO_CART = \"add_to_cart\",\n REMOVE_FROM_CART = \"remove_from_cart\",\n CHECKOUT_STARTED = \"checkout_started\",\n CHECKOUT_COMPLETED = \"checkout_completed\",\n SEARCH = \"search\",\n USER_SIGNUP = \"user_signup\",\n USER_LOGIN = \"user_login\",\n CUSTOM = \"custom\",\n USER_ENGAGEMENT = \"user_engagement\",\n SESSION_START = \"session_start\",\n FIRST_VISIT = \"first_visit\",\n SCROLL = \"scroll\",\n FORM_START = \"form_start\",\n ADD_PAYMENT_INFO = \"add_payment_info\",\n CART_VIEWED = \"cart_viewed\",\n VIEW_CONTENT = \"view_content\",\n PURCHASE = \"purchase\",\n VIEW_SEARCH_RESULTS = \"view_search_results\",\n ORDER_PLACED = \"order_placed\",\n BEGIN_CHECKOUT = \"begin_checkout\",\n\n // GoKwik Checkout events (actually used)\n STARTED_CHECKOUT_GK = \"started_checkout_gk\",\n MOBILE_ADDED_GK = \"mobile_added_gk\",\n ADDRESS_SELECTED_GK = \"address_selected_gk\",\n ADDRESS_COMPLETED_GK = \"address_completed_gk\",\n PAYMENT_METHOD_SELECTED_GK = \"payment_method_selected_gk\",\n PAYMENT_COMPLETED_GK = \"payment_completed_gk\",\n ORDER_SUCCESS = \"order_success\",\n ORDER_COMPLETED = \"order_completed\",\n PIN_CODE_ADDED_GK = \"pin_code_added_gk\",\n ADDRESS_ADDED_GK = \"address_added_gk\",\n}\n\n/**\n * Base event interface that all events should implement\n */\nexport interface BaseEvent {\n type: EventType;\n timestamp?: number;\n eventId?: string;\n event_category?: string;\n description?: string;\n [key: string]: any;\n}\n\n/**\n * Page view event\n */\nexport interface IPageViewEvent extends BaseEvent {\n type: EventType.PAGE_VIEW;\n path: string;\n title: string;\n referrer?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n debug_mode?: boolean;\n engagement_time_msec?: number;\n entrances?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n page_source?: string;\n page_term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * User engagement event\n */\nexport interface IUserEngagementEvent extends BaseEvent {\n type: EventType.USER_ENGAGEMENT;\n engagementTime?: number; // in seconds\n pagePath?: string;\n pageTitle?: string;\n scrollDepth?: number; // in percentage\n formId?: string;\n formName?: string;\n formFields?: Array<{\n fieldName: string;\n fieldValue: string;\n }>;\n buttonId?: string;\n buttonText?: string;\n location?: string;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Session start event\n */\nexport interface ISessionStartEvent extends BaseEvent {\n type: EventType.SESSION_START;\n sessionId: string;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * First visit event\n */\nexport interface IFirstVisitEvent extends BaseEvent {\n type: EventType.FIRST_VISIT;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Scroll event\n */\nexport interface IScrollEvent extends BaseEvent {\n type: EventType.SCROLL;\n scrollDepth: number; // in percentage\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n percent_scrolled?: number;\n}\n\n/**\n * Form start event\n */\nexport interface IFormStartEvent extends BaseEvent {\n type: EventType.FORM_START;\n formId: string;\n formName?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Form submission event\n */\nexport interface IFormSubmissionEvent extends BaseEvent {\n type: EventType.FORM_SUBMISSION;\n formId: string;\n formName?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User signup event\n */\nexport interface IUserSignupEvent extends BaseEvent {\n type: EventType.USER_SIGNUP;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User login event\n */\nexport interface IUserLoginEvent extends BaseEvent {\n type: EventType.USER_LOGIN;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Button click event\n */\nexport interface IButtonClickEvent extends BaseEvent {\n type: EventType.BUTTON_CLICK;\n buttonId?: string;\n buttonText?: string;\n location: string;\n}\n\n/**\n * View item event for e-commerce tracking\n */\nexport interface IViewItemEvent extends BaseEvent {\n type: EventType.VIEW_ITEM;\n currency: string;\n value: number;\n items: Array<{\n item_id: string;\n item_name: string;\n price: number;\n currency: string;\n }>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Checkout payment event\n */\nexport interface ICheckoutPaymentEvent extends BaseEvent {\n type: EventType.CHECKOUT_PAYMENT;\n cartValue: number;\n currency: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Viewed product event after 20 seconds\n */\nexport interface IViewedProductEvent extends BaseEvent {\n type: EventType.VIEWED_PRODUCT;\n productId: string;\n productName: string;\n price: number;\n currency: string;\n viewDuration: number;\n}\n\nexport interface IPCollectionViewEvent extends BaseEvent {\n type: EventType.COLLECTION_VIEW;\n productId: string;\n productName: string;\n price?: number;\n currency?: string;\n category?: string;\n}\n\n/**\n * Add to cart event\n */\nexport interface IAddToCartEvent extends BaseEvent {\n type: EventType.ADD_TO_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity?: number;\n variant?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n value?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Remove from cart event\n */\nexport interface IRemoveFromCartEvent extends BaseEvent {\n type: EventType.REMOVE_FROM_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Checkout started event\n */\nexport interface ICheckoutStartedEvent extends BaseEvent {\n type: EventType.CHECKOUT_STARTED;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n coupon?: string;\n discount?: number | string;\n}\n\n/**\n * Checkout completed event\n */\nexport interface ICheckoutCompletedEvent extends BaseEvent {\n type: EventType.CHECKOUT_COMPLETED;\n orderId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Cart viewed event\n */\nexport interface ICartViewedEvent extends BaseEvent {\n type: EventType.CART_VIEWED;\n cartId: string;\n products: Array<{\n variantId: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Search event\n */\nexport interface ISearchEvent extends BaseEvent {\n type: EventType.SEARCH;\n searchTerm: string;\n content_ids: string[];\n resultsCount?: number;\n}\n\n/**\n * View content event (for Facebook Pixel ViewContent)\n */\nexport interface IViewContentEvent extends BaseEvent {\n type: EventType.VIEW_CONTENT;\n content_type?: string;\n content_ids?: string[];\n content_name?: string;\n content_category?: string;\n value?: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * Purchase event (for Facebook Pixel Purchase)\n */\nexport interface IPurchaseEvent extends BaseEvent {\n type: EventType.PURCHASE;\n value: number;\n currency?: string;\n content_type?: string;\n content_ids?: string[];\n num_items?: number;\n contents?: Array<{\n id: string;\n quantity: number;\n item_price?: number;\n }>;\n transaction_id?: string;\n coupon?: string;\n shipping?: number;\n tax?: number;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * View search results event (for GA4)\n */\nexport interface IViewSearchResultsEvent extends BaseEvent {\n type: EventType.VIEW_SEARCH_RESULTS;\n search_term?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n engagement_time_msec?: number;\n}\n\n/**\n * Order placed event (for GA4)\n */\nexport interface IOrderPlacedEvent extends BaseEvent {\n type: EventType.ORDER_PLACED;\n transaction_id?: string;\n order_id?: string;\n total_amount?: number;\n value: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n coupon?: string;\n discount?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n payment_type?: string;\n shipping?: number;\n shipping_name?: string;\n tax?: number;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Begin checkout event (for GA4)\n */\nexport interface IBeginCheckoutEvent extends BaseEvent {\n type: EventType.BEGIN_CHECKOUT;\n currency?: string;\n value: number;\n coupon?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Custom event for any other tracking needs\n */\nexport interface ICustomEvent extends BaseEvent {\n type: EventType.CUSTOM;\n name: string;\n properties?: Record<string, any>;\n}\n\n/**\n * Add Payment Info event\n */\nexport interface IAddPaymentInfoEvent extends BaseEvent {\n type: EventType.ADD_PAYMENT_INFO;\n cartValue: number;\n currency?: string;\n itemCount: number;\n paymentType?: string;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Started checkout GK event\n */\nexport interface IStartedCheckoutGKEvent extends BaseEvent {\n type: EventType.STARTED_CHECKOUT_GK;\n cartValue?: number;\n currency?: string;\n}\n\n/**\n * Mobile added GK event\n */\nexport interface IMobileAddedGKEvent extends BaseEvent {\n type: EventType.MOBILE_ADDED_GK;\n mobile?: string;\n}\n\n/**\n * Address selected GK event\n */\nexport interface IAddressSelectedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_SELECTED_GK;\n addressId?: string;\n}\n\n/**\n * Address completed GK event\n */\nexport interface IAddressCompletedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_COMPLETED_GK;\n addressId?: string;\n}\n\n/**\n * Payment method selected GK event\n */\nexport interface IPaymentMethodSelectedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_METHOD_SELECTED_GK;\n paymentMethod?: string;\n}\n\n/**\n * Payment completed GK event\n */\nexport interface IPaymentCompletedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_COMPLETED_GK;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order success event\n */\nexport interface IOrderSuccessEvent extends BaseEvent {\n type: EventType.ORDER_SUCCESS;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order completed event\n */\nexport interface IOrderCompletedEvent extends BaseEvent {\n type: EventType.ORDER_COMPLETED;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * PIN code added GK event\n */\nexport interface IPinCodeAddedGKEvent extends BaseEvent {\n type: EventType.PIN_CODE_ADDED_GK;\n pinCode?: string;\n}\n\n/**\n * Address added GK event\n */\nexport interface IAddressAddedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_ADDED_GK;\n addressId?: string;\n}\n\n/**\n * Product view event\n */\nexport interface IProductViewEvent extends BaseEvent {\n type: EventType.PRODUCT_VIEW;\n event_category: string;\n description: string;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n category?: string;\n}\n\n/**\n * Union type of all possible events\n */\nexport type TEvent =\n | IProductViewEvent\n | IPageViewEvent\n | IButtonClickEvent\n | IFormSubmissionEvent\n | IViewItemEvent\n | IPCollectionViewEvent\n | IAddToCartEvent\n | IRemoveFromCartEvent\n | ICheckoutStartedEvent\n | ICheckoutCompletedEvent\n | ICartViewedEvent\n | ISearchEvent\n | IUserSignupEvent\n | IUserLoginEvent\n | IViewContentEvent\n | IPurchaseEvent\n | IViewSearchResultsEvent\n | IOrderPlacedEvent\n | IBeginCheckoutEvent\n | ICustomEvent\n | IUserEngagementEvent\n | ISessionStartEvent\n | IFirstVisitEvent\n | IScrollEvent\n | IFormStartEvent\n | IAddPaymentInfoEvent\n | IStartedCheckoutGKEvent\n | IMobileAddedGKEvent\n | IAddressSelectedGKEvent\n | IAddressCompletedGKEvent\n | IPaymentMethodSelectedGKEvent\n | IPaymentCompletedGKEvent\n | IOrderSuccessEvent\n | IOrderCompletedEvent\n | IPinCodeAddedGKEvent\n | IAddressAddedGKEvent\n | IViewedProductEvent\n | ICheckoutPaymentEvent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,oBAAiB;AACjB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,wBAAqB;AACrB,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,cAAW;AACX,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,oBAAiB;AAGjB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,gCAA6B;AAC7B,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,uBAAoB;AACpB,EAAAA,WAAA,sBAAmB;AAxCT,SAAAA;AAAA,GAAA;","names":["EventType"]}
package/dist/types.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  EventType
4
- } from "./chunk-3TQR5DOP.mjs";
4
+ } from "./chunk-3NR2AKE4.mjs";
5
5
  export {
6
6
  EventType
7
7
  };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generate a unique event ID for deduplication
3
+ * Format: timestamp_randomString_eventType
4
+ */
5
+ declare function generateEventId(eventType: string): string;
6
+ /**
7
+ * Extract browser information for CAPI user data
8
+ */
9
+ declare function getBrowserInfo(): {
10
+ clientUserAgent?: string;
11
+ fbc?: string;
12
+ fbp?: string;
13
+ };
14
+ /**
15
+ * Get client IP address (this will be handled server-side)
16
+ */
17
+ declare function getClientIpAddress(request?: Request): string | undefined;
18
+
19
+ export { generateEventId, getBrowserInfo, getClientIpAddress };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generate a unique event ID for deduplication
3
+ * Format: timestamp_randomString_eventType
4
+ */
5
+ declare function generateEventId(eventType: string): string;
6
+ /**
7
+ * Extract browser information for CAPI user data
8
+ */
9
+ declare function getBrowserInfo(): {
10
+ clientUserAgent?: string;
11
+ fbc?: string;
12
+ fbp?: string;
13
+ };
14
+ /**
15
+ * Get client IP address (this will be handled server-side)
16
+ */
17
+ declare function getClientIpAddress(request?: Request): string | undefined;
18
+
19
+ export { generateEventId, getBrowserInfo, getClientIpAddress };