@grainql/analytics-web 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/attribution.d.ts +47 -0
  2. package/dist/attribution.d.ts.map +1 -0
  3. package/dist/attribution.js +228 -0
  4. package/dist/cjs/attribution.d.ts +47 -0
  5. package/dist/cjs/attribution.d.ts.map +1 -0
  6. package/dist/cjs/attribution.js +228 -0
  7. package/dist/cjs/attribution.js.map +1 -0
  8. package/dist/cjs/heartbeat.d.ts +1 -0
  9. package/dist/cjs/heartbeat.d.ts.map +1 -1
  10. package/dist/cjs/heartbeat.js +1 -1
  11. package/dist/cjs/heartbeat.js.map +1 -1
  12. package/dist/cjs/index.d.ts +25 -0
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/page-tracking.d.ts +25 -0
  16. package/dist/cjs/page-tracking.d.ts.map +1 -1
  17. package/dist/cjs/page-tracking.js +158 -9
  18. package/dist/cjs/page-tracking.js.map +1 -1
  19. package/dist/esm/attribution.d.ts +47 -0
  20. package/dist/esm/attribution.d.ts.map +1 -0
  21. package/dist/esm/attribution.js +218 -0
  22. package/dist/esm/attribution.js.map +1 -0
  23. package/dist/esm/heartbeat.d.ts +1 -0
  24. package/dist/esm/heartbeat.d.ts.map +1 -1
  25. package/dist/esm/heartbeat.js +1 -1
  26. package/dist/esm/heartbeat.js.map +1 -1
  27. package/dist/esm/index.d.ts +25 -0
  28. package/dist/esm/index.d.ts.map +1 -1
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/page-tracking.d.ts +25 -0
  31. package/dist/esm/page-tracking.d.ts.map +1 -1
  32. package/dist/esm/page-tracking.js +158 -9
  33. package/dist/esm/page-tracking.js.map +1 -1
  34. package/dist/heartbeat.d.ts +1 -0
  35. package/dist/heartbeat.d.ts.map +1 -1
  36. package/dist/heartbeat.js +1 -1
  37. package/dist/index.d.ts +25 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.global.dev.js +464 -11
  40. package/dist/index.global.dev.js.map +3 -3
  41. package/dist/index.global.js +2 -2
  42. package/dist/index.global.js.map +4 -4
  43. package/dist/index.js +157 -1
  44. package/dist/index.mjs +155 -0
  45. package/dist/page-tracking.d.ts +25 -0
  46. package/dist/page-tracking.d.ts.map +1 -1
  47. package/dist/page-tracking.js +158 -9
  48. package/dist/react/index.d.ts +44 -519
  49. package/dist/react/index.d.ts.map +1 -1
  50. package/dist/react/index.js +54 -1517
  51. package/dist/react/index.mjs +42 -1514
  52. package/package.json +1 -1
  53. package/dist/react/activity.d.ts +0 -59
  54. package/dist/react/activity.d.ts.map +0 -1
  55. package/dist/react/activity.js +0 -130
  56. package/dist/react/activity.mjs +0 -126
  57. package/dist/react/consent.d.ts +0 -72
  58. package/dist/react/consent.d.ts.map +0 -1
  59. package/dist/react/consent.js +0 -195
  60. package/dist/react/consent.mjs +0 -191
  61. package/dist/react/cookies.d.ts +0 -28
  62. package/dist/react/cookies.d.ts.map +0 -1
  63. package/dist/react/cookies.js +0 -94
  64. package/dist/react/cookies.mjs +0 -88
  65. package/dist/react/heartbeat.d.ts +0 -47
  66. package/dist/react/heartbeat.d.ts.map +0 -1
  67. package/dist/react/heartbeat.js +0 -119
  68. package/dist/react/heartbeat.mjs +0 -115
  69. package/dist/react/page-tracking.d.ts +0 -60
  70. package/dist/react/page-tracking.d.ts.map +0 -1
  71. package/dist/react/page-tracking.js +0 -179
  72. package/dist/react/page-tracking.mjs +0 -175
  73. package/dist/react/react/index.d.ts +0 -47
  74. package/dist/react/react/index.d.ts.map +0 -1
  75. package/dist/react/react/index.js +0 -58
  76. package/dist/react/react/index.mjs +0 -44
  77. /package/dist/react/{react/GrainProvider.d.ts → GrainProvider.d.ts} +0 -0
  78. /package/dist/react/{react/GrainProvider.d.ts.map → GrainProvider.d.ts.map} +0 -0
  79. /package/dist/react/{react/GrainProvider.js → GrainProvider.js} +0 -0
  80. /package/dist/react/{react/GrainProvider.mjs → GrainProvider.mjs} +0 -0
  81. /package/dist/react/{react/components → components}/ConsentBanner.d.ts +0 -0
  82. /package/dist/react/{react/components → components}/ConsentBanner.d.ts.map +0 -0
  83. /package/dist/react/{react/components → components}/ConsentBanner.js +0 -0
  84. /package/dist/react/{react/components → components}/ConsentBanner.mjs +0 -0
  85. /package/dist/react/{react/components → components}/CookieNotice.d.ts +0 -0
  86. /package/dist/react/{react/components → components}/CookieNotice.d.ts.map +0 -0
  87. /package/dist/react/{react/components → components}/CookieNotice.js +0 -0
  88. /package/dist/react/{react/components → components}/CookieNotice.mjs +0 -0
  89. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.d.ts +0 -0
  90. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.d.ts.map +0 -0
  91. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.js +0 -0
  92. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.mjs +0 -0
  93. /package/dist/react/{react/context.d.ts → context.d.ts} +0 -0
  94. /package/dist/react/{react/context.d.ts.map → context.d.ts.map} +0 -0
  95. /package/dist/react/{react/context.js → context.js} +0 -0
  96. /package/dist/react/{react/context.mjs → context.mjs} +0 -0
  97. /package/dist/react/{react/hooks → hooks}/useAllConfigs.d.ts +0 -0
  98. /package/dist/react/{react/hooks → hooks}/useAllConfigs.d.ts.map +0 -0
  99. /package/dist/react/{react/hooks → hooks}/useAllConfigs.js +0 -0
  100. /package/dist/react/{react/hooks → hooks}/useAllConfigs.mjs +0 -0
  101. /package/dist/react/{react/hooks → hooks}/useConfig.d.ts +0 -0
  102. /package/dist/react/{react/hooks → hooks}/useConfig.d.ts.map +0 -0
  103. /package/dist/react/{react/hooks → hooks}/useConfig.js +0 -0
  104. /package/dist/react/{react/hooks → hooks}/useConfig.mjs +0 -0
  105. /package/dist/react/{react/hooks → hooks}/useConsent.d.ts +0 -0
  106. /package/dist/react/{react/hooks → hooks}/useConsent.d.ts.map +0 -0
  107. /package/dist/react/{react/hooks → hooks}/useConsent.js +0 -0
  108. /package/dist/react/{react/hooks → hooks}/useConsent.mjs +0 -0
  109. /package/dist/react/{react/hooks → hooks}/useDataDeletion.d.ts +0 -0
  110. /package/dist/react/{react/hooks → hooks}/useDataDeletion.d.ts.map +0 -0
  111. /package/dist/react/{react/hooks → hooks}/useDataDeletion.js +0 -0
  112. /package/dist/react/{react/hooks → hooks}/useDataDeletion.mjs +0 -0
  113. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.d.ts +0 -0
  114. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.d.ts.map +0 -0
  115. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.js +0 -0
  116. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.mjs +0 -0
  117. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.d.ts +0 -0
  118. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.d.ts.map +0 -0
  119. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.js +0 -0
  120. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.mjs +0 -0
  121. /package/dist/react/{react/hooks → hooks}/useTrack.d.ts +0 -0
  122. /package/dist/react/{react/hooks → hooks}/useTrack.d.ts.map +0 -0
  123. /package/dist/react/{react/hooks → hooks}/useTrack.js +0 -0
  124. /package/dist/react/{react/hooks → hooks}/useTrack.mjs +0 -0
  125. /package/dist/react/{react/types.d.ts → types.d.ts} +0 -0
  126. /package/dist/react/{react/types.d.ts.map → types.d.ts.map} +0 -0
  127. /package/dist/react/{react/types.js → types.js} +0 -0
  128. /package/dist/react/{react/types.mjs → types.mjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /* Grain Analytics Web SDK v2.2.0 | MIT License | Development Build */
1
+ /* Grain Analytics Web SDK v2.3.0 | MIT License | Development Build */
2
2
  "use strict";
3
3
  var Grain = (() => {
4
4
  var __defProp = Object.defineProperty;
@@ -23,8 +23,10 @@ var Grain = (() => {
23
23
  var src_exports = {};
24
24
  __export(src_exports, {
25
25
  GrainAnalytics: () => GrainAnalytics,
26
+ categorizeReferrer: () => categorizeReferrer,
26
27
  createGrainAnalytics: () => createGrainAnalytics,
27
- default: () => src_default
28
+ default: () => src_default,
29
+ parseUTMParameters: () => parseUTMParameters
28
30
  });
29
31
 
30
32
  // src/consent.ts
@@ -456,7 +458,6 @@ var Grain = (() => {
456
458
  const isActive = this.activityDetector.isActive(6e4);
457
459
  const hasConsent = this.tracker.hasConsent("analytics");
458
460
  const properties = {
459
- type: "heartbeat",
460
461
  heartbeat_type: heartbeatType,
461
462
  status: isActive ? "active" : "inactive",
462
463
  timestamp: now
@@ -466,6 +467,7 @@ var Grain = (() => {
466
467
  if (page) {
467
468
  properties.page = page;
468
469
  }
470
+ properties.session_id = this.tracker.getSessionId();
469
471
  if (heartbeatType === "periodic") {
470
472
  properties.duration = now - this.lastHeartbeatTime;
471
473
  properties.event_count = this.tracker.getEventCountSinceLastHeartbeat();
@@ -495,6 +497,174 @@ var Grain = (() => {
495
497
  }
496
498
  };
497
499
 
500
+ // src/attribution.ts
501
+ var PAID_SEARCH_PARAMS = [
502
+ "gclid",
503
+ // Google Ads
504
+ "msclkid",
505
+ // Microsoft Ads
506
+ "fbclid",
507
+ // Facebook Ads
508
+ "ttclid",
509
+ // TikTok Ads
510
+ "li_fat_id",
511
+ // LinkedIn Ads
512
+ "twclid",
513
+ // Twitter Ads
514
+ "ScCid"
515
+ // Snapchat Ads
516
+ ];
517
+ var SOCIAL_DOMAINS = [
518
+ "facebook.com",
519
+ "twitter.com",
520
+ "x.com",
521
+ "linkedin.com",
522
+ "instagram.com",
523
+ "pinterest.com",
524
+ "reddit.com",
525
+ "tiktok.com",
526
+ "youtube.com",
527
+ "snapchat.com",
528
+ "t.co",
529
+ // Twitter short links
530
+ "fb.me",
531
+ // Facebook short links
532
+ "lnkd.in"
533
+ // LinkedIn short links
534
+ ];
535
+ var SEARCH_ENGINES = [
536
+ "google.",
537
+ "bing.com",
538
+ "yahoo.com",
539
+ "duckduckgo.com",
540
+ "baidu.com",
541
+ "yandex.com",
542
+ "ecosia.org",
543
+ "ask.com"
544
+ ];
545
+ var EMAIL_DOMAINS = [
546
+ "mail.google.com",
547
+ "outlook.live.com",
548
+ "mail.yahoo.com",
549
+ "mail.aol.com"
550
+ ];
551
+ function extractDomain(url) {
552
+ try {
553
+ const urlObj = new URL(url);
554
+ return urlObj.hostname.toLowerCase();
555
+ } catch {
556
+ return "";
557
+ }
558
+ }
559
+ function hasPaidSearchParams(url) {
560
+ try {
561
+ const urlObj = new URL(url);
562
+ return PAID_SEARCH_PARAMS.some((param) => urlObj.searchParams.has(param));
563
+ } catch {
564
+ return false;
565
+ }
566
+ }
567
+ function categorizeReferrer(referrer, currentUrl = "") {
568
+ if (!referrer || referrer.trim() === "") {
569
+ return "direct";
570
+ }
571
+ const domain = extractDomain(referrer);
572
+ if (currentUrl) {
573
+ const currentDomain = extractDomain(currentUrl);
574
+ if (domain === currentDomain) {
575
+ return "direct";
576
+ }
577
+ }
578
+ if (hasPaidSearchParams(referrer) || hasPaidSearchParams(currentUrl)) {
579
+ return "paid";
580
+ }
581
+ if (EMAIL_DOMAINS.some((emailDomain) => domain.includes(emailDomain))) {
582
+ return "email";
583
+ }
584
+ if (SOCIAL_DOMAINS.some((socialDomain) => domain.includes(socialDomain))) {
585
+ return "social";
586
+ }
587
+ if (SEARCH_ENGINES.some((searchEngine) => domain.includes(searchEngine))) {
588
+ return "organic";
589
+ }
590
+ return "referral";
591
+ }
592
+ function parseUTMParameters(url) {
593
+ try {
594
+ const urlObj = new URL(url);
595
+ const params = {};
596
+ const utmSource = urlObj.searchParams.get("utm_source");
597
+ const utmMedium = urlObj.searchParams.get("utm_medium");
598
+ const utmCampaign = urlObj.searchParams.get("utm_campaign");
599
+ const utmTerm = urlObj.searchParams.get("utm_term");
600
+ const utmContent = urlObj.searchParams.get("utm_content");
601
+ if (utmSource)
602
+ params.utm_source = utmSource;
603
+ if (utmMedium)
604
+ params.utm_medium = utmMedium;
605
+ if (utmCampaign)
606
+ params.utm_campaign = utmCampaign;
607
+ if (utmTerm)
608
+ params.utm_term = utmTerm;
609
+ if (utmContent)
610
+ params.utm_content = utmContent;
611
+ return params;
612
+ } catch {
613
+ return {};
614
+ }
615
+ }
616
+ function getFirstTouchAttribution(tenantId) {
617
+ if (typeof window === "undefined" || typeof localStorage === "undefined") {
618
+ return null;
619
+ }
620
+ try {
621
+ const key = `_grain_first_touch_${tenantId}`;
622
+ const stored = localStorage.getItem(key);
623
+ if (stored) {
624
+ return JSON.parse(stored);
625
+ }
626
+ } catch (error) {
627
+ console.warn("[Grain Attribution] Failed to retrieve first-touch attribution:", error);
628
+ }
629
+ return null;
630
+ }
631
+ function setFirstTouchAttribution(tenantId, attribution) {
632
+ if (typeof window === "undefined" || typeof localStorage === "undefined") {
633
+ return;
634
+ }
635
+ try {
636
+ const key = `_grain_first_touch_${tenantId}`;
637
+ localStorage.setItem(key, JSON.stringify(attribution));
638
+ } catch (error) {
639
+ console.warn("[Grain Attribution] Failed to store first-touch attribution:", error);
640
+ }
641
+ }
642
+ function getOrCreateFirstTouchAttribution(tenantId, referrer, currentUrl, utmParams) {
643
+ const existing = getFirstTouchAttribution(tenantId);
644
+ if (existing) {
645
+ return existing;
646
+ }
647
+ const referrerCategory = categorizeReferrer(referrer, currentUrl);
648
+ const referrerDomain = extractDomain(referrer);
649
+ const firstTouch = {
650
+ source: utmParams.utm_source || referrerDomain || "direct",
651
+ medium: utmParams.utm_medium || referrerCategory,
652
+ campaign: utmParams.utm_campaign || "none",
653
+ referrer: referrer || "direct",
654
+ referrer_category: referrerCategory,
655
+ timestamp: Date.now()
656
+ };
657
+ setFirstTouchAttribution(tenantId, firstTouch);
658
+ return firstTouch;
659
+ }
660
+ var sessionUTMParams = null;
661
+ function getSessionUTMParameters() {
662
+ return sessionUTMParams;
663
+ }
664
+ function setSessionUTMParameters(params) {
665
+ sessionUTMParams = params;
666
+ }
667
+
498
668
  // src/page-tracking.ts
499
669
  var PageTrackingManager = class {
500
670
  constructor(tracker, config) {
@@ -502,6 +672,9 @@ var Grain = (() => {
502
672
  this.currentPath = null;
503
673
  this.originalPushState = null;
504
674
  this.originalReplaceState = null;
675
+ this.previousPage = null;
676
+ this.landingPage = null;
677
+ this.pageViewCount = 0;
505
678
  /**
506
679
  * Handle popstate event (back/forward navigation)
507
680
  */
@@ -520,7 +693,7 @@ var Grain = (() => {
520
693
  };
521
694
  this.tracker = tracker;
522
695
  this.config = config;
523
- this.trackCurrentPage();
696
+ this.trackCurrentPage(true);
524
697
  this.setupHistoryListeners();
525
698
  this.setupHashChangeListener();
526
699
  }
@@ -553,29 +726,148 @@ var Grain = (() => {
553
726
  /**
554
727
  * Track the current page
555
728
  */
556
- trackCurrentPage() {
729
+ trackCurrentPage(isLanding = false) {
557
730
  if (this.isDestroyed || typeof window === "undefined")
558
731
  return;
559
732
  const page = this.extractPath(window.location.href);
560
- if (page === this.currentPath) {
733
+ if (!isLanding && page === this.currentPath) {
561
734
  return;
562
735
  }
736
+ if (this.currentPath) {
737
+ this.previousPage = this.currentPath;
738
+ }
563
739
  this.currentPath = page;
740
+ this.pageViewCount++;
741
+ if (isLanding) {
742
+ this.landingPage = page;
743
+ }
564
744
  const hasConsent = this.tracker.hasConsent("analytics");
745
+ const currentUrl = window.location.href;
746
+ const referrer = document.referrer || "";
747
+ const utmParams = parseUTMParameters(currentUrl);
748
+ if (Object.keys(utmParams).length > 0) {
749
+ const existing = getSessionUTMParameters();
750
+ if (!existing || isLanding) {
751
+ setSessionUTMParameters(utmParams);
752
+ }
753
+ }
754
+ const sessionUTMs = getSessionUTMParameters() || {};
755
+ const firstTouch = getOrCreateFirstTouchAttribution(
756
+ this.config.tenantId,
757
+ referrer,
758
+ currentUrl,
759
+ sessionUTMs
760
+ );
565
761
  const properties = {
566
762
  page,
567
763
  timestamp: Date.now()
568
764
  };
569
765
  if (hasConsent) {
570
- properties.referrer = document.referrer || "";
571
766
  properties.title = document.title || "";
572
- properties.full_url = window.location.href;
767
+ properties.full_url = currentUrl;
768
+ properties.session_id = this.tracker.getSessionId();
769
+ if (referrer) {
770
+ properties.referrer = referrer;
771
+ properties.referrer_domain = this.extractDomain(referrer);
772
+ properties.referrer_category = categorizeReferrer(referrer, currentUrl);
773
+ }
774
+ if (this.landingPage && !isLanding) {
775
+ properties.landing_page = this.landingPage;
776
+ }
777
+ if (this.previousPage) {
778
+ properties.previous_page = this.previousPage;
779
+ }
780
+ if (sessionUTMs.utm_source)
781
+ properties.utm_source = sessionUTMs.utm_source;
782
+ if (sessionUTMs.utm_medium)
783
+ properties.utm_medium = sessionUTMs.utm_medium;
784
+ if (sessionUTMs.utm_campaign)
785
+ properties.utm_campaign = sessionUTMs.utm_campaign;
786
+ if (sessionUTMs.utm_term)
787
+ properties.utm_term = sessionUTMs.utm_term;
788
+ if (sessionUTMs.utm_content)
789
+ properties.utm_content = sessionUTMs.utm_content;
790
+ properties.first_touch_source = firstTouch.source;
791
+ properties.first_touch_medium = firstTouch.medium;
792
+ properties.first_touch_campaign = firstTouch.campaign;
793
+ properties.first_touch_referrer_category = firstTouch.referrer_category;
794
+ properties.device = this.getDeviceType();
795
+ properties.browser = this.getBrowser();
796
+ properties.os = this.getOS();
797
+ properties.language = navigator.language || "";
798
+ properties.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
799
+ properties.screen_resolution = `${screen.width}x${screen.height}`;
800
+ properties.viewport = `${window.innerWidth}x${window.innerHeight}`;
573
801
  }
574
802
  this.tracker.trackSystemEvent("page_view", properties);
575
803
  if (this.config.debug) {
576
804
  console.log("[Page Tracking] Tracked page view:", properties);
577
805
  }
578
806
  }
807
+ /**
808
+ * Extract domain from URL
809
+ */
810
+ extractDomain(url) {
811
+ try {
812
+ const urlObj = new URL(url);
813
+ return urlObj.hostname;
814
+ } catch {
815
+ return "";
816
+ }
817
+ }
818
+ /**
819
+ * Detect browser name
820
+ */
821
+ getBrowser() {
822
+ const ua = navigator.userAgent;
823
+ if (ua.includes("Firefox/"))
824
+ return "Firefox";
825
+ if (ua.includes("Edg/"))
826
+ return "Edge";
827
+ if (ua.includes("Chrome/"))
828
+ return "Chrome";
829
+ if (ua.includes("Safari/") && !ua.includes("Chrome/"))
830
+ return "Safari";
831
+ if (ua.includes("Opera/") || ua.includes("OPR/"))
832
+ return "Opera";
833
+ return "Unknown";
834
+ }
835
+ /**
836
+ * Detect operating system
837
+ */
838
+ getOS() {
839
+ const ua = navigator.userAgent;
840
+ if (ua.includes("Win"))
841
+ return "Windows";
842
+ if (ua.includes("Mac"))
843
+ return "macOS";
844
+ if (ua.includes("Linux"))
845
+ return "Linux";
846
+ if (ua.includes("Android"))
847
+ return "Android";
848
+ if (ua.includes("iOS") || ua.includes("iPhone") || ua.includes("iPad"))
849
+ return "iOS";
850
+ return "Unknown";
851
+ }
852
+ /**
853
+ * Detect device type (Mobile, Tablet, Desktop)
854
+ */
855
+ getDeviceType() {
856
+ const ua = navigator.userAgent;
857
+ const width = window.innerWidth;
858
+ if (ua.includes("iPad") || ua.includes("Android") && !ua.includes("Mobile")) {
859
+ return "Tablet";
860
+ }
861
+ if (ua.includes("Mobile") || ua.includes("iPhone") || ua.includes("Android")) {
862
+ return "Mobile";
863
+ }
864
+ if (width < 768) {
865
+ return "Mobile";
866
+ } else if (width >= 768 && width < 1024) {
867
+ return "Tablet";
868
+ }
869
+ return "Desktop";
870
+ }
579
871
  /**
580
872
  * Extract path from URL, optionally stripping query parameters
581
873
  */
@@ -612,22 +904,37 @@ var Grain = (() => {
612
904
  timestamp: Date.now(),
613
905
  ...properties
614
906
  };
615
- if (hasConsent && typeof document !== "undefined") {
907
+ if (hasConsent && typeof document !== "undefined" && typeof window !== "undefined") {
616
908
  if (!baseProperties.referrer) {
617
909
  baseProperties.referrer = document.referrer || "";
618
910
  }
619
911
  if (!baseProperties.title) {
620
912
  baseProperties.title = document.title || "";
621
913
  }
622
- if (!baseProperties.full_url && typeof window !== "undefined") {
914
+ if (!baseProperties.full_url) {
623
915
  baseProperties.full_url = window.location.href;
624
916
  }
917
+ if (!baseProperties.session_id) {
918
+ baseProperties.session_id = this.tracker.getSessionId();
919
+ }
920
+ if (!baseProperties.browser) {
921
+ baseProperties.browser = this.getBrowser();
922
+ }
923
+ if (!baseProperties.os) {
924
+ baseProperties.os = this.getOS();
925
+ }
625
926
  }
626
927
  this.tracker.trackSystemEvent("page_view", baseProperties);
627
928
  if (this.config.debug) {
628
929
  console.log("[Page Tracking] Manually tracked page:", baseProperties);
629
930
  }
630
931
  }
932
+ /**
933
+ * Get page view count for current session
934
+ */
935
+ getPageViewCount() {
936
+ return this.pageViewCount;
937
+ }
631
938
  /**
632
939
  * Destroy the page tracker
633
940
  */
@@ -674,6 +981,9 @@ var Grain = (() => {
674
981
  this.pageTrackingManager = null;
675
982
  this.ephemeralSessionId = null;
676
983
  this.eventCountSinceLastHeartbeat = 0;
984
+ // Session tracking
985
+ this.sessionStartTime = Date.now();
986
+ this.sessionEventCount = 0;
677
987
  this.config = {
678
988
  apiUrl: "https://api.grainql.com",
679
989
  authStrategy: "NONE",
@@ -727,6 +1037,7 @@ var Grain = (() => {
727
1037
  this.ephemeralSessionId = this.generateUUID();
728
1038
  if (typeof window !== "undefined") {
729
1039
  this.initializeAutomaticTracking();
1040
+ this.trackSessionStart();
730
1041
  }
731
1042
  this.consentManager.addListener((state) => {
732
1043
  if (state.granted) {
@@ -1127,6 +1438,7 @@ var Grain = (() => {
1127
1438
  if (typeof window === "undefined")
1128
1439
  return;
1129
1440
  const handleBeforeUnload = () => {
1441
+ this.trackSessionEnd();
1130
1442
  if (this.eventQueue.length > 0) {
1131
1443
  const eventsToSend = [...this.eventQueue];
1132
1444
  this.eventQueue = [];
@@ -1178,7 +1490,8 @@ var Grain = (() => {
1178
1490
  this,
1179
1491
  {
1180
1492
  stripQueryParams: this.config.stripQueryParams,
1181
- debug: this.config.debug
1493
+ debug: this.config.debug,
1494
+ tenantId: this.config.tenantId
1182
1495
  }
1183
1496
  );
1184
1497
  this.log("Auto page view tracking initialized");
@@ -1187,6 +1500,145 @@ var Grain = (() => {
1187
1500
  }
1188
1501
  }
1189
1502
  }
1503
+ /**
1504
+ * Track session start event
1505
+ */
1506
+ trackSessionStart() {
1507
+ if (typeof window === "undefined")
1508
+ return;
1509
+ const hasConsent = this.consentManager.hasConsent("analytics");
1510
+ const properties = {
1511
+ session_id: this.getSessionId(),
1512
+ timestamp: this.sessionStartTime
1513
+ };
1514
+ if (hasConsent) {
1515
+ const referrer = document.referrer || "";
1516
+ const currentUrl = window.location.href;
1517
+ const utmParams = parseUTMParameters(currentUrl);
1518
+ const sessionUTMs = getSessionUTMParameters() || utmParams;
1519
+ const firstTouch = getOrCreateFirstTouchAttribution(
1520
+ this.config.tenantId,
1521
+ referrer,
1522
+ currentUrl,
1523
+ sessionUTMs
1524
+ );
1525
+ properties.landing_page = window.location.pathname;
1526
+ if (referrer) {
1527
+ properties.referrer = referrer;
1528
+ properties.referrer_domain = new URL(referrer).hostname;
1529
+ properties.referrer_category = categorizeReferrer(referrer, currentUrl);
1530
+ } else {
1531
+ properties.referrer_category = "direct";
1532
+ }
1533
+ if (sessionUTMs.utm_source)
1534
+ properties.utm_source = sessionUTMs.utm_source;
1535
+ if (sessionUTMs.utm_medium)
1536
+ properties.utm_medium = sessionUTMs.utm_medium;
1537
+ if (sessionUTMs.utm_campaign)
1538
+ properties.utm_campaign = sessionUTMs.utm_campaign;
1539
+ if (sessionUTMs.utm_term)
1540
+ properties.utm_term = sessionUTMs.utm_term;
1541
+ if (sessionUTMs.utm_content)
1542
+ properties.utm_content = sessionUTMs.utm_content;
1543
+ properties.first_touch_source = firstTouch.source;
1544
+ properties.first_touch_medium = firstTouch.medium;
1545
+ properties.first_touch_campaign = firstTouch.campaign;
1546
+ properties.first_touch_referrer_category = firstTouch.referrer_category;
1547
+ properties.device = this.getDeviceType();
1548
+ properties.screen_resolution = `${screen.width}x${screen.height}`;
1549
+ properties.viewport = `${window.innerWidth}x${window.innerHeight}`;
1550
+ properties.browser = this.getBrowser();
1551
+ properties.os = this.getOS();
1552
+ properties.language = navigator.language || "";
1553
+ properties.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
1554
+ }
1555
+ this.trackSystemEvent("_grain_session_start", properties);
1556
+ this.log("Session started:", properties);
1557
+ }
1558
+ /**
1559
+ * Track session end event
1560
+ */
1561
+ trackSessionEnd() {
1562
+ if (typeof window === "undefined")
1563
+ return;
1564
+ const hasConsent = this.consentManager.hasConsent("analytics");
1565
+ const sessionDuration = Date.now() - this.sessionStartTime;
1566
+ const properties = {
1567
+ session_id: this.getSessionId(),
1568
+ session_duration: Math.floor(sessionDuration / 1e3),
1569
+ // In seconds for easier querying
1570
+ duration: sessionDuration,
1571
+ // Keep for backward compatibility
1572
+ event_count: this.sessionEventCount,
1573
+ timestamp: Date.now()
1574
+ };
1575
+ if (hasConsent && this.pageTrackingManager) {
1576
+ const pageCount = this.pageTrackingManager.getPageViewCount();
1577
+ properties.pages_per_session = pageCount;
1578
+ properties.page_count = pageCount;
1579
+ }
1580
+ this.trackSystemEvent("_grain_session_end", properties);
1581
+ this.log("Session ended:", properties);
1582
+ }
1583
+ /**
1584
+ * Detect browser name
1585
+ */
1586
+ getBrowser() {
1587
+ if (typeof navigator === "undefined")
1588
+ return "Unknown";
1589
+ const ua = navigator.userAgent;
1590
+ if (ua.includes("Firefox/"))
1591
+ return "Firefox";
1592
+ if (ua.includes("Edg/"))
1593
+ return "Edge";
1594
+ if (ua.includes("Chrome/"))
1595
+ return "Chrome";
1596
+ if (ua.includes("Safari/") && !ua.includes("Chrome/"))
1597
+ return "Safari";
1598
+ if (ua.includes("Opera/") || ua.includes("OPR/"))
1599
+ return "Opera";
1600
+ return "Unknown";
1601
+ }
1602
+ /**
1603
+ * Detect operating system
1604
+ */
1605
+ getOS() {
1606
+ if (typeof navigator === "undefined")
1607
+ return "Unknown";
1608
+ const ua = navigator.userAgent;
1609
+ if (ua.includes("Win"))
1610
+ return "Windows";
1611
+ if (ua.includes("Mac"))
1612
+ return "macOS";
1613
+ if (ua.includes("Linux"))
1614
+ return "Linux";
1615
+ if (ua.includes("Android"))
1616
+ return "Android";
1617
+ if (ua.includes("iOS") || ua.includes("iPhone") || ua.includes("iPad"))
1618
+ return "iOS";
1619
+ return "Unknown";
1620
+ }
1621
+ /**
1622
+ * Detect device type (Mobile, Tablet, Desktop)
1623
+ */
1624
+ getDeviceType() {
1625
+ if (typeof window === "undefined" || typeof navigator === "undefined")
1626
+ return "Unknown";
1627
+ const ua = navigator.userAgent;
1628
+ const width = window.innerWidth;
1629
+ if (ua.includes("iPad") || ua.includes("Android") && !ua.includes("Mobile")) {
1630
+ return "Tablet";
1631
+ }
1632
+ if (ua.includes("Mobile") || ua.includes("iPhone") || ua.includes("Android")) {
1633
+ return "Mobile";
1634
+ }
1635
+ if (width < 768) {
1636
+ return "Mobile";
1637
+ } else if (width >= 768 && width < 1024) {
1638
+ return "Tablet";
1639
+ }
1640
+ return "Desktop";
1641
+ }
1190
1642
  /**
1191
1643
  * Handle consent granted - upgrade ephemeral session to persistent user
1192
1644
  */
@@ -1312,6 +1764,7 @@ var Grain = (() => {
1312
1764
  }
1313
1765
  this.eventQueue.push(formattedEvent);
1314
1766
  this.eventCountSinceLastHeartbeat++;
1767
+ this.sessionEventCount++;
1315
1768
  this.log(`Queued event: ${event.eventName}`, event.properties);
1316
1769
  if (opts.flush || this.eventQueue.length >= this.config.batchSize) {
1317
1770
  await this.flush();