Skip to content
DocumentationProduct Analytics
Product Analytics
Set up tracking

Set up tracking

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.

Goal

Choose an SDK, connect it with a Product Analytics API key, and send events and identity updates to the built-in product_analytics catalog.

Prerequisites

  • Enable Product Analytics for the target environment.
  • Copy a Product Analytics API key.
  • Choose a client-side or server-side SDK based on where your application sends events.

Steps

1. Install an SDK

Choose the SDK for your application language:

Language
Install
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
Follow the JVM or Android Gradle setup for package coordinates and the current version.

2. Initialize the client and send data

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');
// Track a user event
altertable.track('checkout_completed', {
revenue: 49.99,
plan: 'pro',
currency: 'USD',
});
// Identify a user
altertable.identify('user_abc123', {
plan: 'pro',
});

After initialization:

  1. Track events with event properties.
  2. Identify users and attach traits.
  3. Optionally alias related identities.

3. Choose client-side or server-side behavior

Use a client-side SDK for events from a browser or mobile application. Use a server-side SDK for events from backend services or jobs, and pass a stable distinct_id to associate each event with its user.

Automatic page capture, session management, consent helpers, and offline queuing vary by SDK. Check the repository for your SDK for the features available in your runtime.

If your SDK provides page or screen helpers, configure them for the views you want to track:

// 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');

Where supported, use consent helpers to control whether the SDK sends data:

// JavaScript — initialize with consent pending
altertable.init('YOUR_API_KEY', { trackingConsent: 'pending' });
// Later, when the user grants consent
altertable.configure({ trackingConsent: 'granted' });

Verification

Send one event from your application, then query the raw events table:

SQL
SELECT *
FROM product_analytics.main.events
ORDER BY timestamp DESC
LIMIT 10;

Confirm that the event name, distinct ID, timestamp, and properties match the payload your application sent.

Troubleshooting

  • No events appear: confirm that Product Analytics is enabled in the same environment as the API key.
  • Requests are rejected: check the authentication methods and replace an incorrect or expired API key.
  • Users remain anonymous: call identify when a stable user ID becomes available, and pass distinct_id explicitly from server-side SDKs.
  • Automatic page or screen events are missing: confirm that your SDK supports page or screen capture, then enable its helper.

Next steps