@brainfish-ai/web-tracker
Version:
Brainfish Tracker for Web
129 lines (89 loc) • 2.23 kB
Markdown
# Web SDK
## Installation
Steps to install the Brainfish Tracker SDK in your web application.
### Install dependencies
```bash
npm install @brainfish-ai/web-tracker
```
### Initialize
```tsx
import { Tracker } from '@brainfish-ai/web-tracker';
const tracker = new Tracker({
accessKey: '{accessKey}',
trackScreenViews: true,
// trackAttributes: true,
// trackOutgoingLinks: true,
});
```
#### Config
<SdkConfig />
### Ready!
You're now ready to use the library.
```typescript
// Sends an event with payload foo: bar
tracker.event('my_event', { foo: 'bar' });
// Identify with user id
tracker.setUserId('123');
// or with additional data
tracker.setUser({
userId: '123',
firstName: 'John',
lastName: 'Doe',
email: 'john.doe@brainfi.sh',
});
// Increment a property
tracker.increment('app_opened'); // increment by 1
tracker.increment('app_opened', 5); // increment by 5
// Decrement a property
tracker.decrement('app_opened'); // decrement by 1
tracker.decrement('app_opened', 5); // decrement by 5
```
</Steps>
## Usage
### Track event
```typescript
tracker.event('my_event', { foo: 'bar' });
```
### Identify
#### Set user Id
Keep track of your users by identifying them with a unique id. This is a good features if you have things behind a login and want to track user behavior.
<PersonalDataWarning />
```typescript
const userId = '123';
tracker.setUserId(userId);
```
#### Additional data
This method does the same as `setUserId` but also allows you to update the user with additional data.
<PersonalDataWarning />
```typescript
const userId = '123';
tracker.setUser({
userId,
// firstName?: string;
// lastName?: string;
// email?: string;
// avatar?: string;
// properties?: Record<string, unknown>;
});
```
#### Increment property
Increment a property on the user.
```typescript
// Increment by 1
tracker.increment('app_opened');
// Increment by 5
tracker.increment('app_opened', 5);
```
#### Decrement property
Decrement a property on the user.
```typescript
// Increment by 1
tracker.decrement('app_opened');
// Increment by 5
tracker.decrement('app_opened', 5);
```
#### Clear / Logout
Clear the user id and all the data.
```typescript
tracker.clear();
```