Repolode
d8a-tech

d8a-tech/d8a

GA4やMatomoの計測データを受け付け、セッション単位のフラットテーブルをBigQuery、ClickHouse、CSV/Parquetファイルに書き込むオープンソースのWeb解析パイプライン。

代替できる製品:Google AnalyticsMatomo Cloud

スター
62
フォーク
4
未解決の Issue
16
最終コミット
16 時間前

これは何?

d8aは、データウェアハウス上で動作するWeb解析パイプラインです。GA4とMatomoの計測プロトコル、またはgtag.jsのドロップイン代替となる独自のWebトラッカーからリクエストを受け付けます。バックエンドで設定可能な非アクティブ時間をもとにセッションを構築し、終了したセッションとそのイベントをまとめて1回のバッチでデータウェアハウスに書き込みます。

出力されるのは、ドキュメント付きのフラットなスキーマです。よく使われるクリックIDや、UTMに基づく流入元・メディアのアトリビューション専用の列を備えています。式ベースのトラフィックフィルターで社内トラフィックやボットを除外でき、IPアドレスは完全な状態で保存することも、複数段階でマスキングすることもできます。保存先はGoogle BigQuery、ClickHouse、S3、MinIO、GCS、ローカルディスク上のCSVまたはParquetファイルに対応しています。

オンプレミスやエアギャップ環境でも実行できます。`--airgapped`フラグを指定すると、組み込みの外部連携が無効になります。レポートUIは含まれていないため、利用者が任意のBIツールを用意します。ホステッド版のd8a.tech Cloudでも、同じパイプラインを利用できます。

主な機能

  • 01GA4とMatomoの計測プロトコルに加え、gtag.jsを置き換えるWebトラッカーからのデータを受け付けます。
  • 02設定可能なタイムアウトとセッション分割ルールに基づき、バックエンドでセッションを構築します。
  • 03クリックIDやUTMアトリビューション専用の列を備えたフラットテーブルを書き出します。
  • 04BigQuery、ClickHouse、およびS3、MinIO、GCS、ローカルディスク上のCSV/Parquetに対応しています。
  • 05テストモードを備えた式ベースのトラフィックフィルタリングを利用できます。
  • 06外部連携を無効にしたエアギャップ環境で実行できます。

ユースケース

  • GA4やMatomoの計測を続けながら、セッション化した生データを自社のデータウェアハウスに保存する。
  • データを自社のインフラ内に保持する必要がある医療機関や公共部門の環境で、Web解析を運用する。
  • GA4のネストされたエクスポートを解析する代わりに、データチームがSQLやBIで扱えるフラットなセッションテーブルを用意する。
  • ClickHouseやBigQueryで、社内の他のデータとあわせてWebトラフィックを分析する。

クイックスタート

  1. 1

    リポジトリをクローンして、ローカルで開きます

  2. 2

    dev config を使って、ソースからサーバーを起動します

    go run main.go server --config config.dev.yaml
  3. 3

    ローカルエンドポイントにテスト用の page_view リクエストを送信します

    curl "http://localhost:8080/g/collect?v=2&tid=14&dl=https%3A%2F%2Ffoo.bar&en=page_view&cid=ag9" -X POST
  4. 4

    約10秒待ち、処理されたイベントがコンソールに出力されているか確認します

使う前に知っておきたいこと

  • レポート用UIは付属していません。独自のBIツールかData Studioダッシュボードが必要です。
  • セッション処理は単一のworkerで実行され、垂直スケーリングのみ可能です。
  • READMEのクイックスタートはローカル開発向けです。本番環境のセットアップについては外部ドキュメントを参照してください。

収録されている特集

トピック

よくある質問

d8a とは?
GA4やMatomoの計測データを受け付け、セッション単位のフラットテーブルをBigQuery、ClickHouse、CSV/Parquetファイルに書き込むオープンソースのWeb解析パイプライン。 d8aは、データウェアハウス上で動作するWeb解析パイプラインです。GA4とMatomoの計測プロトコル、またはgtag.jsのドロップイン代替となる独自のWebトラッカーからリクエストを受け付けます。バックエンドで設定可能な非アクティブ時間をもとにセッションを構築し、終了したセッションとそのイベントをまとめて1回のバッチでデータウェアハウスに書き込みます。
d8a は無料で使えますか?ライセンスは?
d8a は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
d8a は今もメンテナンスされていますか?
活発にメンテナンス中。d8a の最終コミットは 2026年11月6日 です。
d8a は何に使えますか?
GA4やMatomoの計測を続けながら、セッション化した生データを自社のデータウェアハウスに保存する。 データを自社のインフラ内に保持する必要がある医療機関や公共部門の環境で、Web解析を運用する。 GA4のネストされたエクスポートを解析する代わりに、データチームがSQLやBIで扱えるフラットなセッションテーブルを用意する。 ClickHouseやBigQueryで、社内の他のデータとあわせてWebトラフィックを分析する。
d8a のインストール方法は?
リポジトリをクローンして、ローカルで開きます dev config を使って、ソースからサーバーを起動します: go run main.go server --config config.dev.yaml ローカルエンドポイントにテスト用の page_view リクエストを送信します: curl "http://localhost:8080/g/collect?v=2&tid=14&dl=https%3A%2F%2Ffoo.bar&en=page_view&cid=ag9" -X POST 約10秒待ち、処理されたイベントがコンソールに出力されているか確認します
d8a はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/d8a-tech/d8a

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

イベントデータを収集し、データウェアハウスやSaaSツールにルーティングする、セルフホスト可能なオープンソースのSegment代替プラットフォーム。

データ・分析#event-tracking#data-pipeline#data-ingestion
5129+7 今週405TypeScriptMIT更新 22 時間前