Orwel SDK | Orwel Docs
Docs

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

Initialization

Initialize the SDK once, at the root of your application (e.g. App.tsx, main.js), before any tracking call.

typescript
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

Core methods

Identify

Associate a visitor with traits. Call when a user logs in or updates their profile.

typescript
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).

typescript
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.

typescript
const { success, reason } = await orwel.conversion('demo_request', { email: 'ada@acme.com' });

Session

Update session properties.

typescript
orwel.session({ cart_value: 150.0, current_step: 'checkout' });