https://github.com/d8a-tech/d8a
A data collection service fully compatible with GA4 tracking protocols. Ingest into ClickHouse or BigQuery database while maintaining complete control over your data.
https://github.com/d8a-tech/d8a
bigquery clickhouse data ga4 tracker
Last synced: 2 months ago
JSON representation
A data collection service fully compatible with GA4 tracking protocols. Ingest into ClickHouse or BigQuery database while maintaining complete control over your data.
- Host: GitHub
- URL: https://github.com/d8a-tech/d8a
- Owner: d8a-tech
- License: mit
- Created: 2025-08-23T09:09:06.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2026-02-18T15:20:48.000Z (4 months ago)
- Last Synced: 2026-02-18T17:44:39.108Z (4 months ago)
- Topics: bigquery, clickhouse, data, ga4, tracker
- Language: Go
- Homepage: https://d8a.tech
- Size: 2.79 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README

# Divine Data (d8a)
[](LICENSE)
[](https://d8a-tech.github.io/d8a/getting-started)
[](https://github.com/d8a-tech/d8a/issues)
Divine Data (d8a) is an open source, warehouse-native analytics platform. Compatible with GA4 and Matomo tracking protocols, and has its own native web tracker. Clean schema, can be deployed anywhere, including your cloud or on-premises.
## Highlights
- **GA4 & Matomo tracking protocol compatibility** - Seamlessly integrates with the Google Analytics 4 and Matomo tracking protocols, allowing you to implement advanced web, server-side, or mobile tracking plans in just minutes
- **Flat data model for visualization** - Data is stored in a flat, analytics-ready format - perfect as a source for reporting and data warehouses, with even custom events stored in dedicated columns
- **Open source codebase** - Transparent, auditable, and community-driven. Fork, contribute, or self-host as you wish
- **Works alongside GA4** - Can run in parallel with GA4 for a smooth transition or as a reliable backup
- **Dedicated web tracker (beta)** - A drop-in replacement for `gtag.js` with a matching API for an easy switch to d8a tracking
- **Full session scope support** - Sessions are calculated on the backend for accuracy and flexibility - no reliance on client-side hacks
- **BigQuery, ClickHouse & Object Storage / Files support** - Export and analyze your data in Google BigQuery or ClickHouse for advanced analytics, or write CSV files directly to S3/MinIO, GCS, or local filesystem. Scales to billions of events with no upper limit
## Core Use Cases
- **Perfect for healthcare** - Collect traffic on healthcare websites under HIPAA requirements
- **Well-suited for gov** - Collect traffic on gov't websites under FedRAMP requirements
- **Europe & GDPR?** - Supports EU's independence from Bigtech
## Screenshots & Reporting Demo
You can also see the full demo [here](https://lookerstudio.google.com/reporting/0e4102b6-c38b-4f55-aa25-c1fe91d1c1e9/page/p_53ep5k8umd).
## Running d8a
### Cloud
You can use our free Cloud at [app.d8a.tech](https://app.d8a.tech/).
### Local production setup (using docker)
See the [Getting started guide](https://docs.d8a.tech/getting-started).
### Local development setup (from source)
1. Run it.
```bash
go run main.go server --config config.dev.yaml
```
2. Make a request and wait ~10 seconds for the session to be closed.
```bash
curl "http://localhost:8080/g/collect?v=2&tid=14&dl=https%3A%2F%2Ffoo.bar&en=page_view&cid=ag9" -X POST
```
3. Check the console output to verify events are being processed.
## Testing
```bash
go test ./...
```
## Contributing
We welcome contributions from the community. Bug fixes and targeted improvements are always appreciated. For larger refactors or architectural changes, we ask that you discuss your ideas with us on Discord or Github Issues first. While modern AI tools make it easy to generate extensive code changes, we need to carefully balance the needs of our community and maintain the project's direction.
You may notice some abstractions in the codebase that seem unnecessary—these exist to support our cloud service, which uses alternative implementations in certain areas.
Please ensure contributions are thoughtful and align with our project standards. PRs that appear to be purely AI-generated without human review and consideration may not be accepted. We value quality over quantity and appreciate the time you take to understand our codebase before contributing.
## Documentation
See the following resources:
- [Getting Started Guide](https://docs.d8a.tech/getting-started)
- [Database Schema & Columns](https://docs.d8a.tech/articles/database-schema)
- [Technical Deep Dive](https://docs.d8a.tech/articles/technical-deep-dive)
## Join us on Discord
Connect with the team in our Discord community: [link](https://discord.gg/EegbcdsWUc)
## License
MIT — see `LICENSE` for details.