Skip to main content
Ask your AI

What is walkerOS

walkerOS is an open-source event data collection platform you run as code. Capture events from anywhere, transform them with mapping, and route them to any destination, all with built-in consent management.

There are no fragile UI configs and no vendor lock-in, so you can version, test, and trust your tracking.

It's built for analytics engineers, data leads, and developers who own analytics on a custom-built app and want to replace a duct-taped GA4 and server-side tag manager stack with a pipeline they control.

Try it now

Send your first event in five minutes → Quickstart

Then: send it to GA4 with mapping →

Working with an AI assistant?

Build and simulate a flow locally with the walkerOS MCP, no account needed: With an AI assistant.

Why walkerOS?

  • Open-Source: MIT licensed and free, with no restrictions
  • Self-hostable: Run it on your own infrastructure
  • Config-as-Code: Every change goes through version control and PRs
  • Composable: Mix sources, destinations, and mappings freely
  • Developer-first: TypeScript and declarative tagging, with an optional hosted app and MCP/AI-assisted management

How it works

Every walkerOS setup follows one pattern:

  • Sources: Where events come from (browser DOM, dataLayer, HTTP endpoints, custom code)
  • Transformers: Middleware that validates, enriches, routes, or redacts events before and after the collector
  • Collector: The processing engine (consent, enrichment, routing)
  • Destinations: Where events go (GA4, your API, BigQuery, any service)
  • Stores: Shared key-value storage used by transformers and destinations (caching, file serving, session state)

A "flow" connects sources to destinations through a collector. You can have one flow or many, client-side, server-side, or both working together.

The centerpiece: mapping

Mapping transforms events between stages. It's how walkerOS adapts to any source or destination format.

The same transformation language works at every stage, which is what makes walkerOS composable.

Learn more about mapping →


Core concepts

ConceptWhat It IsLearn More
FlowSources + collector + destinations configurationFlow configuration
Event modelHow events are structured (entity action format)Event model
MappingEvent transformation rulesMapping
ConsentPrivacy controls at destination and property levelConsent management
SourcesEvent capture from browser, server, or custom codeSources
TransformersMiddleware for validating, enriching, routing, and redacting eventsTransformers
DestinationsEvent delivery to analytics, APIs, warehousesDestinations
StoresShared key-value storage for caching, file serving, and session stateStores

Two ways to use walkerOS

Both modes use the same architecture. You pick one at deploy time, after your first event (see operating modes).

Integrated mode

The collector lives inside your application code.

import { startFlow } from '@walkeros/collector';
import { sourceBrowser } from '@walkeros/web-source-browser';

const { elb } = await startFlow({
  sources: { browser: { code: sourceBrowser } },
});

Best for: Building into your app, full TypeScript control, dynamic configuration.

Get started with integrated mode →


Bundled mode

The collector is a separate artifact you configure with JSON.

{
  "version": 4,
  "flows": {
    "default": {
      "config": { "platform": "web" },
      "sources": { "browser": { "package": "@walkeros/web-source-browser" } }
    }
  }
}

Then walkeros bundle flow.json builds a standalone file.

Best for: Config-as-code, Docker deployments, separate tracking scripts.

Get started with bundled mode →


Deploying to production?

Already using walker.js?

Need help choosing?

💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)