Documentation

Ingest Data

Send product events and identity updates to Altertable with SDKs or direct HTTP requests. The same payload model writes to the built-in product_analytics catalog, so client, server, mobile, and batch sources can be analyzed together.

SDK quick start

Product Analytics SDKs follow the same mental model across languages:

  1. Initialize a client with your API key.
  2. Track events with event properties.
  3. Identify users and attach traits.
  4. Optionally alias related identities.
Language
Install
Repository
TypeScript / JavaScript
npm install @altertable/altertable-js
React
npm install @altertable/altertable-js @altertable/altertable-react
Python
pip install altertable or poetry add altertable
Ruby
gem install altertable
Swift
Swift Package Manager
Kotlin / Android
JVM: implementation("ai.altertable.sdk:altertable-kotlin:0.1.0"); Android apps also add implementation("ai.altertable.sdk:altertable-android:0.1.0")

SDK examples

Use these examples as the starting point for your application code:

import { altertable } from '@altertable/altertable-js';
// Initialize with your API key
altertable.init('YOUR_API_KEY', {
environment: 'production',
});
// Track a user event
altertable.track('checkout_completed', {
revenue: 49.99,
plan: 'pro',
currency: 'USD',
});
// Identify a user
altertable.identify('user_abc123', {
plan: 'pro',
});

Client-side vs server-side SDKs

SDKs fall into two categories with different capabilities:

Capability
Client-side
Server-side
Event tracking
Yes
Yes
User identification
Yes
Yes
Aliasing
Yes
Yes
Automatic page/screen tracking
Yes
No
Session and device ID management
Automatic
You pass distinct_id on each call
Tracking consent
Built-in
Manage externally
Event queuing and offline support
Yes
No

Client-side SDKs can automatically capture page views or screen views:

// Disable auto-capture if you need manual control
altertable.init('YOUR_API_KEY', { autoCapture: false });
// Then track page views manually
altertable.page('https://example.com/products');

They also include built-in consent management for privacy compliance:

// JavaScript — initialize with consent pending
altertable.init('YOUR_API_KEY', { trackingConsent: 'pending' });
// Later, when the user grants consent
altertable.configure({ trackingConsent: 'granted' });
Crafted with <3 by former Algolia × Front × Sorare builders© 2026 AltertableTermsPrivacySecurityCookies