Tooling

Event Tracking & CDP

RudderStack, Snowplow, Jitsu — collecting product events and routing them to warehouses and tools.

Customer Data Platforms (CDPs) and event-collection layers sit between your app and your downstream tools — tracking user behavior, normalizing it, and fanning it out to warehouses, Analytics, Reverse ETL destinations, and ad platforms. For "users on a website, what page did they visit," the simpler answer is the privacy-first analytics tools in Analytics.

Open-source CDPs

  • RudderStack — the open-source Segment alternative. Drop-in compatible with Segment's analytics.js SDKs; routes events to 200+ destinations. ELv2 + paid Cloud free tier. The default if you want "Segment but warehouse-first and self-host-able."
  • Snowplow OSS — granular, schema-validated event tracking; stricter than RudderStack about event quality. Apache 2.0; ops-heavy but the data quality is unmatched. Powers many engineering-led data teams.
  • Jitsu — open-source event collection; lighter than RudderStack; MIT; great for small teams.
  • PostHog — covers tracking + product analytics in one; see Analytics. Often replaces a "CDP + analytics" combo.

Proprietary / hosted

  • Segment (Twilio) — the original; paid; small free Developer plan (1k MTUs).
  • Customer.io Data Pipelines, Heap Connect, Amplitude Data, mParticle — proprietary CDPs; mostly enterprise.
  • Hightouch Events — Hightouch added event tracking + warehouse-first CDP in 2024.

Lightweight server-side / privacy-first

  • Aptabase — open-source product analytics for desktop / mobile / web; AGPLv3; small free tier. Great for OSS apps that want telemetry without a third party.
  • Counterscale — Cloudflare-Workers-native web analytics (Cloudflare Analytics Engine + Workers); MIT.
  • Litlyx — lightweight cookieless analytics; OSS; smaller community.
  • Tinybird Web Analytics Starter Kit — ClickHouse-on-Tinybird template for self-built analytics.

Email / CRM-specific event collection

  • Dittofeed — open-source customer engagement / messaging; AGPLv3; replaces Customer.io / Iterable for self-host.
  • Knock — see Notifications; not a CDP but a downstream destination.
  • Inngest event stream — see Workflow Engines; often used as the durable event bus behind tracking.

Patterns to adopt

  • Tracking plan first. Define event names, properties, types in a schema (Snowplow / Avo / Iteratively); reject malformed events at ingest, not in the warehouse.
  • Warehouse is the source of truth. Send raw events to S3 / warehouse first, fan out to vendors second. Hightouch / RudderStack / Snowplow do this natively.
  • Server-side tracking where possible. Browser SDKs are blocked or degraded by extensions and ITP; a server-side collect endpoint is more reliable.
  • Identity stitching. anonymousIduserId mapping at signup; resolve in the warehouse, not at ingest.
  • Don't send PII to ad platforms. Hash emails (SHA256 + salt) for custom audiences; filter at the destination layer.

Licensing watch-outs

  • RudderStack is ELv2 — fine to self-host, can't compete as SaaS.
  • Snowplow OSS is Apache 2.0 (the OSS edition); newer pipeline features ship under paid Snowplow BDP.
  • Jitsu is MIT — fully permissive.
  • Aptabase / Dittofeed are AGPLv3 — review if you embed in a commercial product.

Pick this if…

  • Default OSS CDP, drop-in Segment replacement: RudderStack.
  • Highest data quality, schema validation: Snowplow OSS.
  • Lightweight, MIT: Jitsu.
  • You just want product analytics in one tool: PostHog (see Analytics).
  • Desktop / mobile telemetry without a vendor: Aptabase.
  • All-Cloudflare: Counterscale.
  • Replace Customer.io with self-host: Dittofeed.

On this page