The OpenPanel Web SDK allows you to track user behavior on your website using a simple script tag. This guide provides instructions for installing and using the Web SDK in your project.
npm install @openpanel/sdkThe OpenPanel Web SDK allows you to track user behavior on your website using a simple script tag. This guide provides instructions for installing and using the Web SDK in your project.
> 📖 Full documentation: https://openpanel.dev/docs/sdks/sdk
---
``npm`
npm install @openpanel/sdk
`js title="op.ts"
import { OpenPanel } from '@openpanel/sdk';
const op = new OpenPanel({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
});
`
#### Options
##### Common options
- apiUrl - The url of the openpanel API or your self-hosted instanceclientId
- - The client id of your applicationclientSecret
- - The client secret of your application (only required for server-side events)filter
- - A function that will be called before sending an event. If it returns false, the event will not be sentdisabled
- - If true, the library will not send any events
`js title="main.ts"
import { op } from './op.js';
op.track('my_event', { foo: 'bar' });
`
You can track events with two different methods: by calling the op.track( directly or by adding data-track attributes to your HTML elements.
``ts title="index.ts"
import { op } from './op.ts';
op.track('my_event', { foo: 'bar' });
`
To identify a user, call the op.identify( method with a unique identifier.
``js title="index.js"
import { op } from './op.ts';
op.identify({
profileId: '123', // Required
firstName: 'Joe',
lastName: 'Doe',
email: 'joe@doe.com',
properties: {
tier: 'premium',
},
});
`
To set properties that will be sent with every event:
`js title="index.js"
import { op } from './op.ts'
op.setGlobalProperties({
app_version: '1.0.2',
environment: 'production',
});
`
To increment a numeric property on a user profile.
- value is the amount to increment the property by. If not provided, the property will be incremented by 1.
`js title="index.js"
import { op } from './op.ts'
op.increment({
profileId: '1',
property: 'visits',
value: 1 // optional
});
`
To decrement a numeric property on a user profile.
- value is the amount to decrement the property by. If not provided, the property will be decremented by 1.
`js title="index.js"
import { op } from './op.ts'
op.decrement({
profileId: '1',
property: 'visits',
value: 1 // optional
});
`
To clear the current user's data:
`js title="index.js"
import { op } from './op.ts'
op.clear()
``