{"library":"sa-sdk-javascript","title":"SensorsData JavaScript SDK","description":"The `sa-sdk-javascript` is the official client-side SDK for SensorsData, a leading user behavior analytics platform. It facilitates comprehensive data collection from web applications, supporting various tracking methods including code-based, full-stack, and visual full-stack event tracking. The current stable version is 1.27.11, with frequent patch releases addressing bug fixes, performance improvements, and feature additions, as evidenced by its rapid iteration cadence. Key differentiators include its status as an open-source commercial SDK, robust support for diverse data collection strategies, and proven stability across a large customer base. The SDK is designed to help businesses implement data-driven strategies by providing reliable user behavior insights.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install sa-sdk-javascript"],"cli":null},"imports":["import sensorsdata from 'sa-sdk-javascript';","import sensorsdata from 'sa-sdk-javascript';\nsensorsdata.init({ /* config */ });","<script src=\"path/to/sa-sdk-javascript.min.js\"></script>\n<script>sensorsdata.init({ /* config */ });</script>"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import sensorsdata from 'sa-sdk-javascript';\n\n// Initialize the SDK with your SensorsData project configuration\nsensorsdata.init({\n  // Replace with your SensorsData data collection server URL\n  serverUrl: process.env.SENSORS_DATA_SERVER_URL ?? 'https://your-sensorsdata-server.com/sa?project=your_project',\n  // Enable debug mode to see logs in the console (useful during development)\n  show_log: true,\n  // Automatically track page views when the URL changes\n  autoTrack: {\n    pageview: true\n  },\n  // Enable heatmap functionality (requires server-side configuration)\n  heatmap: {\n    clickmap: 'default',\n    scroll_nickname: 'default'\n  },\n  // Use IndexedDB for local data persistence before sending\n  use_indexeddb: true,\n  // Configure specific plugin options, e.g., for user attributes\n  preset_properties: {\n    // Example: Capture the user's browser language on first visit\n    '$browser_language': navigator.language\n  }\n});\n\n// Track a custom event, e.g., 'UserSignup'\nsensorsdata.track('UserSignup', {\n  signup_method: 'Email',\n  signup_time: new Date().toISOString()\n});\n\n// Set or update user profile properties\nsensorsdata.setProfile({\n  email: 'user@example.com',\n  account_type: 'Premium'\n});\n\n// Log in a user (associates anonymous data with a known user ID)\nsensorsdata.login('unique_user_id_123');\n\n// Once logged in, track another event for the identified user\nsensorsdata.track('ProductPurchased', {\n  product_id: 'SKU789',\n  price: 99.99,\n  currency: 'USD'\n});\n\nconsole.log('SensorsData SDK initialized and events tracked.');","lang":"javascript","description":"This quickstart demonstrates how to initialize the SensorsData SDK, track a custom event, set user profile properties, and log in a user, showcasing fundamental data collection patterns.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}