# NestJS Backend Integration Server-side analytics tracking for NestJS applications. ## Use Cases - Track events from server-side rendered pages - Track API events (signups, purchases, etc.) - Add analytics context via interceptors - Automatic request tracking with decorators ## Files - `analytics.module.ts` - Module setup - `analytics.interceptor.ts` - Automatic request tracking - `track-analytics.decorator.ts` - Method-level tracking - `user.controller.ts` - Example controller with tracking - `order.service.ts` - Example service with tracking ## Key Concepts ### 1. Backend Client The `BackendAnalyticsClient` is designed for server-side use: - Generates its own session IDs (from headers or fresh) - No browser APIs required - Batch processing for performance ### 2. Interceptor vs Decorator - **Interceptor**: Automatic tracking on all routes (or specific ones) - **Decorator**: Explicit tracking on specific methods ### 3. Request Context Pass request headers to extract: - Session ID (`x-session-id` header from client) - User ID (from auth middleware) - IP address (for geolocation) - User agent (for device detection)