Orwel SDK
Install the Orwel JavaScript SDK and start tracking behavior, features, and conversions.
The Orwel SDK (orwel on npm, current version 1.7.1) tracks visits, sessions, events and conversions, resolves a stable visitor id, and carries first and last touch attribution. Drop it into any site or app: it captures behavior automatically and powers personalities, journeys, feature adoption and leads, all in one workspace.
Looking for copy and paste steps for your stack? See Install by framework or orwel.io/install.
Installation
npm install orwel@latest<script src="https://cdn.jsdelivr.net/npm/orwel@1/dist/orwel.umd.js"></script>Initialization
Initialize the SDK once, at the root of your application (e.g. App.tsx, main.js), before any tracking call.
import orwel from 'orwel';
orwel.init({
apiKey: import.meta.env.VITE_ORWEL_KEY, // production API key orwel_pk_..., or orwel_dev_... while testing
autoMonitor: true, // JS errors, console errors, failed requests, timings
debug: import.meta.env.DEV, // SDK logs in the console
});The SDK key is the production API key: it can only send data, so it is safe in the browser bundle. Read it from an environment variable anyway, so production uses the production API key and development uses the development key. Reading data needs a separate API key.
What you can do
Automatic capture, custom events, and the semantic catalog.
Map events to features and measure adoption.
Capture leads and goals, attributed across sessions.
UTMs and ad click ids, first and last touch.
How the SDK is distributed and how events reach the server.
Every method and init option.
Core methods
Identify
Associate a visitor with traits. Call when a user logs in or updates their profile.
orwel.identify({ email: 'user@example.com', name: 'Jane Doe', plan: 'premium' });Track
Record a named event. The code must exist in your workspace catalog (see Event Tracking).
orwel.track('quote_created', { amount: 1200, currency: 'MXN' });Conversion
Record a high-value outcome, enriched into a lead. conversion() is async: it
waits for the visitor id to resolve, sends the conversion with its attribution,
and resolves with the result the server acknowledged.
const { success, reason } = await orwel.conversion('demo_request', { email: 'ada@acme.com' });Session
Update session properties.
orwel.session({ cart_value: 150.0, current_step: 'checkout' });