https://github.com/elbwalker/walkeros
Open-source tag manager for developers
https://github.com/elbwalker/walkeros
analytics as-code client-side data-sovereignty data-warehouse declarative javascript react server-side tag-manager tagging tracking typescript
Last synced: 9 days ago
JSON representation
Open-source tag manager for developers
- Host: GitHub
- URL: https://github.com/elbwalker/walkeros
- Owner: elbwalker
- License: mit
- Created: 2022-03-14T12:49:08.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2026-02-16T00:44:26.000Z (12 days ago)
- Last Synced: 2026-02-16T08:09:27.264Z (12 days ago)
- Topics: analytics, as-code, client-side, data-sovereignty, data-warehouse, declarative, javascript, react, server-side, tag-manager, tagging, tracking, typescript
- Language: TypeScript
- Homepage: https://www.walkeros.io/
- Size: 36.7 MB
- Stars: 318
- Watchers: 8
- Forks: 16
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# 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

- **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):
```typescript
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):
```json
{
"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](https://www.walkeros.io/docs/getting-started/modes/)**
- **[Quickstart guide for React](https://www.walkeros.io/docs/getting-started/quickstart/react)**
- **[Full Documentation](https://www.walkeros.io/docs/)** - Complete guides and
API reference
- **[Destinations](https://www.walkeros.io/docs/destinations/)** - GA4, Meta,
BigQuery, and more
- **[React Demo](https://github.com/elbwalker/walkerOS/tree/main/apps/demos/react)** -
Example implementation
- **[Storybook](https://storybook.walkeros.io/)** - Interactive component
examples
## Contributing
⭐️ Help us grow and star us. See our
[Contributing Guidelines](https://www.walkeros.io/docs/contributing) to get
involved.
## Support
Need help? Start a
[discussion](https://github.com/elbwalker/walkerOS/discussions), or reach out
via [email](mailto:hello@elbwalker.com).
For more insights, visit the
[talks repository](https://github.com/elbwalker/talks).
## License
Licensed under the [MIT License](./LICENSE).