LoginSignup
29

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-06-27
1 / 28

Ingestlyとは


ざっくりIngestlyとは

  1. 大手企業が取り組むようなウェブ解析を「民主化」
  2. リアルタイムデータを最短でクエリー可能に
  3. インフラコスト最小、メンテナンス工数がゼロ
  4. コーディング無し、極力自動計測
  5. UXに影響しないモダンなタグ、最速の応答時間

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

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


追記2:HTTPS化のハードルが下がりました

  • Fastlyが5ドメインまで無償のTLSサービスを開始し、Let's Encryptが発行する証明書が入手・利用できるようになりました。

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


課題:リソースの制約

大手企業が発表していた事例を参考にしたいが…
- インフラ構築や保守に人を貼り付けるなんて無理
- ツール買うにも予算は無い、one size fits all の違和感
- リアルタイムってハードル高い
- SQLは書けるけど分析ノウハウがない…


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

ツールを買ったが、開発者にタグの導入を渋られる。
- document.writeは○ね! DOMいじりすぎ!
- そんな重いタグUXに悪影響
- ツールの障害でうちのサイト真っ白なんですけど
- いったい何個タグ入れるんですか???


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

全ての訪問者のエンゲージメントを分析したいのに…
- サンプリングがかかり全量扱えない
- データベースに取り込むのは有償版のみ
- リアルタイムといいつつ情報が限定されている
- 色々計測するにはコーディングが必要


そこで、Ingestly


Ingestlyは簡単

最短10分で使えるようになる
- 計測タグを設置して、数行設定すればOK
- スクロール、読了、クリック、動画… 自動計測
- FastlyとBigQueryの設定したら準備完了
- ITP対応はAレコードまたはCNAMEでファーストパーティドメイン、HTTPS化は無料または持ち込みの証明書も利用可


Ingestlyは手間無し

マネージドサービスを活用、クラウドネイティブ
- アナリティクスツールの難題は計測エンドポイントの可用性・堅牢性の確保と、データベースの負荷対策
- FastlyとBigQueryを活用するから、インフラの構築も保守も一切無しですぐ使える


Ingestlyは安い

サーバー不要、小規模サイトならゼロ円
- Fastlyは50ドルまで無料、以降50ドル/月がミニマム
- データ量次第で多少課金
- 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を構成する(Fastly TLSは5ドメインまで無料、他に有償オプションあり)
  • 指定ドメインのサーバーサイドCookie
  • ID生成はSDK側(SDKはIDをローカルストレージにも保管する)

GDPR対応

  • SDKには特別な機能は用意していない
  • サイトに訪問し、計測に同意した後にSDKをイニシャライズすること
  • 必要に応じてIPアドレスやユーザーIDが残らないよう、ログフォーマットを変更する

個人情報保護

  • 個人を特定可能な情報を計測しない
  • プライバシーポリシーに明記する
  • オプトアウトの選択肢を用意する
  • データ活用は同意を得ている用途や範囲の中で

まとめ


まとめ

  • 誰でも今すぐ無料で試せるので、Ingestly試してみましょう
  • データの民主化は、データに関わるツール群を保有するところから
  • インフラ開発競争はもういらない。ツールを買う必要もない。コストと工数は分析とその先の最適化に投資しましょう

Thank you !

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29