@impressio/sdk Documentation
Multi-touch attribution SDK that installs a Service Worker on your domain to persist UTMs, click IDs, and campaign data throughout the user's entire browsing session.
🚀 Quick Start
1
Install
npm install @impressio/sdk
2
Copy Service Worker
# Next.js, Vite, CRA — copy to your public directory
cp node_modules/@impressio/sdk/dist/service-worker.js public/service-worker.jsImportant: The Service Worker must be served from your domain root (
/service-worker.js) for full scope coverage.3
Include the Loader
// Option A: Script tag (simplest) <script src="node_modules/@impressio/sdk/dist/loader.js"></script> // Option B: ESM import import '@impressio/sdk'; // Option C: CommonJS require('@impressio/sdk');
That's it! The SDK automatically registers the Service Worker, detects traffic sources on every navigation, and exposes the data via
window.TrafficCampaign.⚙️ Configuration
<script src="/path/to/loader.js" data-debug="true" // Enable console logging data-branding="false" // Disable branding data-sw-timeout="5000" // SW response timeout (ms) data-max-retries="2" // Retry count ></script>
| Attribute | Default | Description |
|---|---|---|
data-debug | false | Enable debug logging in console |
data-branding | true | Show Impressio branding in console |
data-sw-timeout | 5000 | Timeout for SW response (ms) |
data-max-retries | 2 | Number of retries on failure |
📚 Documentation
API Reference
TrafficCampaign methods, events, window globals
Architecture
Service Worker flow, fallback, data pipeline
Security
7-layer XSS protection, GDPR compliance, CSP
npm Package
View on npm registry →
🖥️ Client-Side Scripts
4 JavaScript engines served as a single bundle via Lambda@Edge. Comprehensive documentation for each: