Edited at

Ingestly / リアルタイムウェブ解析


Ingestlyとは



ざっくりIngestlyとは


  1. 大手企業が取り組むようなウェブ解析を「民主化」

  2. リアルタイムデータを最短でクエリー可能に

  3. インフラコスト最小、メンテナンス工数がゼロ

  4. コーディング無し、極力自動計測

  5. UXに影響しないモダンなタグ、最速の応答時間



追記:まずは試してみたい方へ

実装についても書きました。



こんな課題ありませんか?



課題:リソースの制約

大手企業が発表していた事例を参考にしたいが…

- インフラ構築や保守に人を貼り付けるなんて無理

- ツール買うにも予算は無い、one size fits all の違和感

- リアルタイムってハードル高い

- SQLは書けるけど分析ノウハウがない…



課題:タグやツールの仕様

ツールを買ったが、開発者にタグの導入を渋られる。

- document.writeは○ね! DOMいじりすぎ!

- そんな重いタグUXに悪影響

- ツールの障害でうちのサイト真っ白なんですけど

- いったい何個タグ入れるんですか???



課題:扱えるデータ量とリアルタイム性

全ての訪問者のエンゲージメントを分析したいのに…

- サンプリングがかかり全量扱えない

- データベースに取り込むのは有償版のみ

- リアルタイムといいつつ情報が限定されている

- 色々計測するにはコーディングが必要



そこで、Ingestly



Ingestlyは簡単

最短10分で使えるようになる

- 計測タグを設置して、数行設定すればOK

- スクロール、読了、クリック、動画… 自動計測

- FastlyとBigQueryの設定したら準備完了

- ITP対応はA/CNAMEとSSL証明書を手配(一般的)



Ingestlyは手間無し

マネージドサービスを活用、クラウドネイティブ

- アナリティクスツールの難題は計測エンドポイントの可用性・堅牢性の確保と、データベースの負荷対策

- FastlyとBigQueryを活用するから、インフラの構築も保守も一切無しですぐ使える



Ingestlyは安い

サーバー不要、小規模サイトならゼロ円

- Fastlyは50ドルまで無料、以降50ドル/月がミニマム

- 独自ドメインのSSL証明書と、データ量で多少課金

- BigQueryはGCPお試し中は完全無料

- ストリーム挿入とクエリー課金はアクセス数次第



Ingestlyはモダン

ほとんどのブラウザに対応しつつ軽量なタグ

- sendBeaconを優先、FetchとXHRでフォールバック

- requestAnimationFrameを活用して要素監視

- サーバーサイドCookie、ITP2.2対応

- HTTP204 No Content



Ingestlyは「自社で保有」する

オーナーシップとアカウンタビリティ

- サードパーティではなく、インハウスツールである

- 中性公平。計測も集計も仕組みの透明性が高い

- オープンソースなので開発に誰でも参加できる

- 既にFastlyユーザーならサイトの一部に組み込める



アーキテクチャ



アーキテクチャ概略

Ingestly Architecture



Ingestly Client JavaScript SDK


  • https://github.com/ingestly/ingestly-client-javascript/releases


  • ingestly.js → コアライブラリ(15KB @ v0.6.0)


  • page_code.js → 設定や発火の制御

  • エンタープライズ向けのツールと同じ、ライブラリ + ページコードの組み合わせなので、ファイルの中身を入れ替えて乗り換えることも容易



Ingestly Endpoint


  • https://github.com/ingestly/ingestly-endpoint


  • ingestly.vcl → Fastlyでリクエストを処理するためのスクリプト


  • log_format → Fastlyのログストリーミングのフォーマット


  • table_schema → BigQueryでテーブルを作成するときにコピペするスキーマ



Ingestly Debugger



Ingestly Documents



考慮が必要なこと



ITP対応


  • サブドメイン設定をして自サイトのドメインに合わせる


    • AレコードでIP Anycast設定がオススメ(名前解決が早いがIP変更に追従する必要あり)

    • CNAMEも可能(名前解決が二重になる)



  • SSL証明書を手配してFastlyを構成する(費用大きめ)

  • 指定ドメインのサーバーサイドCookie

  • ID生成はSDK側(SDKはIDをローカルストレージにも保管する)



GDPR対応


  • SDKには特別な機能は用意していない

  • サイトに訪問し、計測に同意した後にSDKをイニシャライズすること

  • 必要に応じてIPアドレスやユーザーIDが残らないよう、ログフォーマットを変更する



個人情報保護


  • 個人を特定可能な情報を計測しない

  • プライバシーポリシーに明記する

  • オプトアウトの選択肢を用意する

  • データ活用は同意を得ている用途や範囲の中で



まとめ



まとめ


  • 誰でも今すぐ無料で試せるので、Ingestly試してみましょう

  • データの民主化は、データに関わるツール群を保有するところから

  • インフラ開発競争はもういらない。ツールを買う必要もない。コストと工数は分析とその先の最適化に投資しましょう



Thank you !