/** * Analytics Tracking Script Generator * * Generates a comprehensive, privacy-focused tracking script for built-in analytics. * * Privacy Features: * - No cookies * - IP anonymization (country-level only) * - Session ID from anonymized fingerprint * - No cross-site tracking * * Tracked Metrics: * - Pageview tracking * - Click heatmaps (with scroll position) * - Scroll depth (25%, 50%, 75%, 100%) * - Time on page * - Referrer sources * - Device type * * Performance: * - Efficient event batching (30s or 50 events) * - Single HTTP request per batch * - Forced flush on page exit/close * - 80-90% reduction in network requests * * Security: * - Origin/Referer validation (browser-enforced) * - Rate limiting (100/min pageviews, 500/min interactions) * - Bot detection * - No tokens required (same-origin hosting advantage) */ export interface TrackingScriptOptions { deploymentId: string; apiEndpoint?: string; // Default: /api/analytics/track interactionEndpoint?: string; // Default: /api/analytics/interaction features?: { basicTracking?: boolean; // Pageviews, referrers heatmaps?: boolean; // Click/scroll heatmaps sessionRecording?: boolean; // Journey tracking (reserved for future) performanceMetrics?: boolean; // Core Web Vitals (reserved for future) engagementTracking?: boolean; // Time on page, scroll depth customEvents?: boolean; // Custom event tracking (reserved for future) }; } /** * Generate the inline analytics tracking script */ export function generateTrackingScript(options: TrackingScriptOptions): string { const { deploymentId, apiEndpoint = '/api/analytics/track', interactionEndpoint = '/api/analytics/interaction', features = { basicTracking: true, heatmaps: false, sessionRecording: false, performanceMetrics: false, engagementTracking: false, customEvents: false, }, } = options; return ` `.trim(); }