Skip to main content

Client Identification

Bily uses a unique client identification system to track users across sessions while maintaining privacy and compliance.

Overview

The client identification system:
  • Generates unique tracking IDs for each client
  • Persists IDs across sessions using localStorage
  • Automatically includes client information in event payloads
  • Supports custom client data

Getting Client ID

import { getBilyTrackingId } from '@bilyai/browser';

// Get the current client's tracking ID
const clientId = getBilyTrackingId();

Client Information

When tracking events, you can include client information in the payload:
track('Login', {
  client: {
    id: getBilyTrackingId(),
    email: '[email protected]',
    name: 'John Doe'
  }
});

Client Properties

The client object supports various properties:
type Client = {
  id?: string;        // Unique client identifier
  email?: string;     // Client's email address
  name?: string;      // Client's name
  phone?: string;     // Client's phone number
  address?: Address;  // Client's address
  metadata?: Record<string, any>; // Additional client data
};

Best Practices

  1. Always use getBilyTrackingId() for client identification
  2. Include relevant client information when available
  3. Use consistent client properties across events
  4. Respect user privacy and data protection regulations

Next Steps