Documentation

Full documentation and integration guides for Altix Analytics and our 100% drop-in PostHog SDK wire compatibility.

1. Integration & SDK Quick Start

Choose your preferred SDK or embed our lightweight tracker. If you are already using PostHog, you do not need to install any new packages—simply replace your API host.

⚡

100% Drop-In PostHog Wire Compatibility

Already using PostHog? Keep all your existing SDK calls (posthog.capture, posthog.identify, posthog.isFeatureEnabled). Simply point api_host to https://analytics-demo.altixcode.com and use your Website ID as the key.

analytics.ts
// 1. Install official PostHog JS library
npm install posthog-js

// 2. Initialize with Altix Analytics as the api_host
import posthog from 'posthog-js'

posthog.init('YOUR_WEBSITE_ID', {
  api_host: 'https://analytics-demo.altixcode.com',
  autocapture: true, // or false if you prefer manual tracking
  // Keeps posthog-js from writing a cookie or localStorage. Each page load then
  // starts a new anonymous visitor until you call identify(). Remove this line to
  // keep visitors across pages, but that stores an identifier on the device, which
  // usually needs your visitors' consent.
  persistence: 'memory',
})

// 3. Track events and pageviews
posthog.capture('signup_completed', {
  plan: 'pro',
  billing_cycle: 'annual',
})

// 4. Identify logged-in users
posthog.identify('usr_12345', {
  plan: 'pro',
  company: 'Acme Corp',
})

// 5. Evaluate Feature Flags & Remote Config
if (posthog.isFeatureEnabled('dark-mode-v2')) {
  const config = posthog.getFeatureFlagPayload('dark-mode-v2')
  console.log('Active theme payload:', config)
}
✓Feature Flags & Rollouts

Deterministic HMAC hashing, user target whitelists, percentage rollouts, and multivariate variants evaluated instantly via /decide.

✓People & Identity Links

posthog.identify() maps distinct IDs and merges $set attributes into tenant-isolated People profiles.

✓Privacy & Ad-Block Immunity

Requests route directly through your domain or Altix endpoints, bypassing third-party tracker blocklists while staying 100% GDPR compliant.

2. Serve it from your own domain

Add a CNAME from a subdomain of your site to analytics-demo.altixcode.com, then add the hostname in the dashboard. We verify it with a TXT record before issuing a certificate, so nobody can bind a hostname they do not control.

analytics.yoursite.com.        CNAME  analytics-demo.altixcode.com.
_altix-verify.analytics.yoursite.com.  TXT  "altix-site-verification=…"

Then change the script src to your own hostname. Requests are first-party from that point on.

3. Wire Compatibility Endpoints

Standard PostHog client and server SDKs communicate with these endpoints transparently:

POST /decide/?v=3Evaluates feature flags, percentage rollouts, user targeting, and multivariate payloads using deterministic HMAC-SHA256 hashing.
POST /batch/Ingests single and batched events, `$pageview`, custom actions, and `$identify` calls with gzip and LZString decompression support.
POST /e/ & /capture/Alternate ingestion routes for lightweight beacon and client captures.
GET /static/array.jsFirst-party CDN proxy for HTML snippet users, preventing ad-blocker filtering.

3. What is collected

Page URL and referrer
Page paths are normalized: likely account IDs are replaced, query parameters are dropped except permitted UTM values, and referrers keep only their origin.
Browser, OS and device type
Derived from the user-agent string, then discarded.
Country
Derived from the IP address at the moment of the request.
Custom event properties
Simple custom properties may be kept. Known sensitive keys, email-like values, network addresses and long identifiers are removed before forwarding. Page titles, screen dimensions and explicit visitor IDs are omitted. This filter cannot guarantee removal of every form of personal data.
A per-day, per-site hash
A salted hash used to count a visit once. It is rotated daily and cannot be reversed to an IP address or joined across sites.

And what is not

This page describes the behaviour of the tracker we run. It is not legal advice, and your obligations depend on what else your site does.