Help us understand the problem. What is going on with this article?

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

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

by hsano
1 / 27

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 !

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした