Skip to content

elbwalker/walkerOS

Repository files navigation

Open-source tag manager for developers

Collect and route your behavioral data with full control and ownership. Privacy-first, vendor-free, and built for developers.

No fragile UI configs. No vendor lock-in. Just tracking you can version, test, and trust.

Why walkerOS?

  • Open-source — MIT licensed, free forever, no restrictions
  • Self-host — Your infrastructure, your data, full ownership
  • Config-as-code — Version control, PRs, deploy with confidence
  • Composable — Mix sources, destinations, and mappings freely
  • Developer-first — TypeScript, no GUI, declarative tagging

How it works

walkerOS Architecture

  • Sources: Where events come from (browser, dataLayer, Express, AWS Lambda, GCP Functions, and more)
  • Collector: The processing engine (consent, mapping, routing, enrichment)
  • Destinations: Where events go (GA4, Google Ads, Meta Pixel, BigQuery, Meta CAPI, and more)

Two ways to install walkerOS

Choose one based on your workflow and integration possibilities:

Mode Description Best For
Integrated Import directly into your TypeScript application React/Next.js apps, TypeScript projects
Bundled Build a standalone script from JSON config with npx walkeros Static sites, Docker deployments, CI/CD
Quick comparison

Integrated (import into your app):

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

await startFlow({
  sources: {
    browser: {
      code: sourceBrowser,
      config: { settings: { pageview: true } },
    },
  },
  destinations: {
    ga4: {
      code: destinationGtag,
      config: {
        settings: { ga4: { measurementId: 'G-XXX' } },
      },
    },
  },
});

Bundled (build from JSON config):

{
  "flows": {
    "default": {
      "sources": {
        "browser": {
          "package": "@walkeros/web-source-browser",
          "config": { "settings": { "pageview": true } }
        }
      },
      "destinations": {
        "ga4": {
          "package": "@walkeros/web-destination-gtag",
          "config": {
            "settings": { "ga4": { "measurementId": "G-XXX" } }
          }
        }
      }
    }
  }
}

Then: npx walkeros bundle flow.json

Operating Modes Quickstart guide for React Full Documentation - Complete guides and API reference Destinations - GA4, Meta, BigQuery, and more React Demo - Example implementation Storybook** - Interactive component examples

Contributing

⭐️ Help us grow and star us. See our Contributing Guidelines to get involved.

Support

Need help? Start a discussion, or reach out via email.

For more insights, visit the talks repository.

License

Licensed under the MIT License.