Server SDKs

Register User

Register a user and trigger attribution matching

The RegisterUser triggers probabilistic attribution. It must be done on first app open preferably in real-time to ensure accurate attribution.

Usage

import {
	Client,
	UserData,
	RegisterUser,
} from '@geeklab.app/audiencelab_nodejs_sdk';

const client = new Client({
	apiKey: 'YOUR_API_KEY',
	baseUrl: 'https://analytics.geeklab.app',
});

const userData = new UserData()
	.setUserId('user_12345')
	.setUserIp('203.0.113.42')
	.setDeviceInfo({
		device_name: 'iPhone 14 Pro',
		device_model: 'iPhone15,2',
		os: 'iOS',
		os_version: '17.4',
		height: 852,
		width: 393,
		timezone: 'Europe/Helsinki',
	})
	.setAppVersion('2.5.1')
	.setIfv('6D92078A-8246-4BA4-AE5B-76104861E7DC')
	.setWhitelistedProperties({
		subscription_tier: 'gold',
	});

const response = await new RegisterUser(client, userData).send();
userData.setUserCreativeTokenInfo(response);

After Registration

You can send in-app events directly after registration.

import { AppEvent, SessionData } from '@geeklab.app/audiencelab_nodejs_sdk';

await new AppEvent(
	client,
	SessionData.start(SessionData.generateSessionId()),
	userData,
	'session-start-user12345-20260624',
).send();

If an event is sent before registration is complete, the SDK can register the user and retry the same event with the same event id, provided UserData has all required registration fields.