webtracking.org

RudderStack

A warehouse-first customer data platform that streams events through Segment-compatible SDKs and lands the raw data in a warehouse you own.

Pricing
freemium
Open source
No
Self-hostable
Partial

INTEGRATES: bigquery · snowflake · redshift · databricks · clickhouse · amplitude · mixpanel · google-analytics-4 · braze · hubspot

ALTERNATIVES: segment · mparticle · snowplow · posthog

RudderStack takes the Segment pattern and inverts the ownership model: the same track/identify event spec (its SDKs follow the Segment API pattern, and the vendor publishes a Segment-to-RudderStack migration guide), but the pipeline’s primary job is landing complete raw events in your own warehouse — Snowflake, BigQuery, Redshift, and Databricks are first-class destinations rather than add-ons. Cloud destinations (100+ in the catalog), user-defined transformations, and reverse ETL all hang off that same stream.

How it models data. Events flow through a two-tier architecture: a control plane (the web app where you configure sources, destinations, and transformations) and a data plane (rudder-server, which actually moves events). Instrumentation-side coverage is broad — JavaScript, Android, iOS, React Native, and Flutter on the client, plus Node, Python, Java, Go, Ruby, Rust, PHP, and .NET on the server. Each destination can run in device mode (SDK loads the vendor’s library) or cloud mode (events routed server-side), the same distinction Segment users already know.

Transformations are user-written JavaScript or Python that runs on events in flight, per destination — the documented use cases are filtering, renaming/removing fields, masking PII before it reaches a specific tool, and enriching events via external API calls. This is the escape hatch for most “the destination wants the payload shaped differently” problems.

Profiles (identity resolution) is configured declaratively in version-controlled YAML; RudderStack compiles that into SQL that runs in your warehouse, stitching known and anonymous IDs into an identity graph keyed on a generated rudderId and producing a customer-360 table with computed features. The stitching logic is inspectable SQL in infrastructure you own rather than a vendor black box — a meaningfully different trust posture from classic CDPs. Note that Profiles and Data Apps sit behind the Enterprise plan.

Implementation notes and gotchas. The core pipeline (rudder-server) is source-available under the Elastic License 2.0 and can be self-hosted via Docker or Kubernetes, but self-hosting covers the data plane — the control plane, Profiles, and reverse ETL are hosted-product territory. Reverse ETL reads from Snowflake, BigQuery, Redshift, PostgreSQL, MySQL, Databricks, and Trino, with SQL-model and dbt support. Warehouse sync frequency is plan-gated: 30-minute syncs on Growth, 5-minute on Enterprise — check that against your activation latency needs before committing. Pricing is by event volume, not MTUs: free up to 250K events/month, then tiered plans, so high-event/low-user products (heavy autotracking, server events) price very differently here than on MTU-based CDPs.

Use it when the warehouse is your source of truth, you want Segment-style instrumentation without MTU pricing, or you need raw, unsampled event data under your own keys — migrating from Segment is a documented, deliberate path. Look past it when you need the broadest possible destination catalog and packaged audience tooling, or a marketing team wants a polished UI-first CDP with less data-engineering involvement.

Visit site → Docs