クリックデータを 実際にクエリできます。
アトリビューション、離脱率、リフト値を測定。サンプリングや集計遅延なしで、全クリックをカラム型分析ストアに保存。
- どのティアでもクリックサンプリングなし - すべてのイベントを保存
- S3 バケットへのクリックエクスポート(gzip NDJSON)
- スケジュールS3 + BigQueryエクスポート(デフォルトはParquet)
- ウェブフックファイアホース / Kafkaコンシューマー経由のロークリックイベント
クリックデータの流れ
クリック → イベントストリーム → 分析ストア、中間集計なし。
ほとんどの短縮サービスはカウンターを提供します。当社はクリックごとに1行を提供し、5秒以内に取り込まれ、あなた自身のSQLクライアントからクエリできます。パイプラインは1つのKafka互換トピックに書き込み、1つのコンシューマーが分析ストアに排出します - 集計サービスなし、日次サマリーなし、「10K後にサンプリング」の注釈なし。
- Step 1
Click
elido.me/x → 302Edge POP returns the destination + emits an event to our event stream.
- Step 2
Event stream
topic: clicks.<workspace>12 partitions, at-least-once delivery, 7-day topic retention.
- Step 3
Analytics store
<5s p99 ingest lagOur ingestion service drains the topic into the per-workspace events table.
- Step 4
Your tools
S3 export · Analytics APIScheduled or on-demand S3 export (gzip NDJSON), or the analytics REST API. A direct read-only DSN is planned.
分析データのエクスポートとAPI
クリックイベントはお客様のバケットへ。読み取り専用DSNの直接提供は計画中です。
Businessワークスペースでは、クリックイベントをgzip NDJSON形式で、スケジュールまたはオンデマンドで自社のS3バケットへエクスポートし、Metabase、Hex、Apache Superset、Grafana、Lookerが参照するウェアハウスへ読み込めます。集計は分析REST APIからも取得できます。読み取り専用の分析DSNの直接提供は計画中で、現時点では利用できません。
- 安定したスキーマ/docs/api-referenceでバージョン管理、移行ガイドは/changelogに掲載
- 自社ストレージお客様のS3バケットに書き出されるgzip NDJSONファイル(ワークスペース単位)
- BIツール対応Metabase、Hex、Superset、Grafana、Lookerの背後にあるウェアハウスへ読み込み
- 分析API国・デバイス・リファラー・時間別の集計をRESTで取得
SELECT country, COUNT(*) AS clicks
FROM events
WHERE link_id = 'lnk_8a2fc1...'
AND occurred_at >= now() - INTERVAL 7 DAY
GROUP BY country
ORDER BY clicks DESC
LIMIT 5;エクスポートを越えた地理情報
すべてのクリックに国レベルの密度 - ハッシュバケットではなく。
各クリックイベントには、オフラインのジオIPデータセットから解決した国、地域、都市(ISO 3166-1 alpha-2)が含まれます。訪問者のIPアドレスはクリックイベントとともに保存されるため、GDPR上の個人データとして扱ってください。以下は、お客様のウェアハウスに届くものと同じデータをUIで表示したもので、間に集計層はありません。
Source of truth. 0% sampling, 24-month retention on Business.
Hourly buckets, snappy-compressed Parquet (or JSON if you prefer).
Native BigQuery Transfer service or Snowflake external table loads from S3.
ウェアハウスエクスポート
S3への時間別Parquet、その後ウェアハウスへのネイティブ転送。
スケジュールエクスポートはクリックイベントをParquetとして時間別または日別にS3バケットに送信;そこからネイティブBigQuery TransferまたはSnowflakeの外部テーブルがロードします。初回実行はリテンションウィンドウへの完全バックフィル;以降の実行はイベントタイムスタンプをキーとして新しいイベントのみを追記。失敗時は再試行;バッチが2時間以内に着地できない場合はデッドレター通知が発火します。
- Parquet(デフォルト)またはJSON;時間バケットごとに1オブジェクト
- ドメイン、キャンペーン、またはリンクタグでエクスポートをフィルタリング
- ネイティブBigQuery Transfer + Snowflake外部テーブル
- バッチ失敗2時間超過でデッドレターアラート
- サブ秒配信のKafkaファイアホース(Business)
できること
- どのティアでもクリックサンプリングなし - すべてのイベントを保存
- S3 バケットへのクリックエクスポート(gzip NDJSON)
- スケジュールS3 + BigQueryエクスポート(デフォルトはParquet)
- ウェブフックファイアホース / Kafkaコンシューマー経由のロークリックイベント
- 10億行以上のテーブルでサブ秒クエリレイテンシ
- click-ID重複排除によるサーバーサイドクリックアトリビューション
Elidoのデータモデルにおける「アナリティクス優先」の意味
ほとんどの短縮URLアナリティクスは集計された合計値です。以下の機能は、サマリーではなく生のリックストリームがプライマリアーティファクトになると何が変わるかを説明します。
すべてのクリックを保存 - 「Nイベント後にサンプリング」という注釈はありません
クリックイベントはKafka互換トピック経由で取り込まれ、当社の取り込みサービスによって分析ストアに書き込まれます。サンプリングレイヤーは存在しません。10クリックのリンクも1000万クリックのリンクも、すべてのイベントが同じテーブルに保存されます。取り込み時にスキーマが変更されたり、集計が適用されたりすることはありません。保持期間はFreeプランで90日、Proで12ヶ月、Businessで24ヶ月です。保持期間終了後、イベントは物理削除され、削除されたイベント数はログに記録されます。イベントスキーマは公開されており、どのフィールドが保存されているかを正確に確認できるため、エクスポートを開始する前にウェアハウスでのデータモデルを計画できます。クリックから分析ストアで利用可能になるまでのイベント遅延は通常5秒未満です。コンシューマーはオートコミットで動作し、パイプラインの遅れを確認できるように遅延メトリクスをログに記録します。
GA4 MP、Meta CAPI、Mixpanelのサーバーサイド連携 - クリックとの重複排除
クライアントサイドのピクセルは、広告ブロッカーの普及やiOS SafariのITPによって、かなりの割合のコンバージョンを見逃します。サーバーサイドフォワーディングは、Elidoのバックエンドから直接GA4 Measurement Protocol、Meta CAPI、またはMixpanelにコンバージョンを送信します。クライアントサイドのJSは不要です。重複排除キーはクリックIDです。StripeやShopifyのウェブフック経由でコンバージョンイベントが到着すると、Elidoはそれを元のクリックと照合し、設定されたすべてのサーバーサイドエンドポイントに配信します。クリックIDはクリック時にクエリパラメータとして遷移先URLに渡されます。チェックアウトフローでコンバージョンイベントまでこれを保持する必要があります。転送される各イベントにはクリック時の元のUTMパラメータが含まれるため、ファネル全体で属性が維持されます。これはクライアントサイドのピクセルが見逃すコンバージョンを回収するのに役立ちます。フル機能のCDPの代わりではありませんが、一般的なラストクリック属性のギャップを埋めることができます。
S3 クリックエクスポート - Metabase、Hex、Grafana の背後にあるウェアハウスに読み込む
Business のワークスペースは、クリックイベントを gzip 圧縮の NDJSON として自社の S3 バケットに、スケジュールまたはオンデマンドでエクスポートできます。ファイルを Metabase、Hex、Apache Superset、Grafana、またはその他の互換 SQL/BI クライアントの背後にあるウェアハウスに読み込み、そこでクリックイベントデータに対して SQL を書きます。集計値は分析 REST API でも利用できます。クリックイベントを自社のプロダクトデータと結合したいチーム(「どのリンクが、その後アクティベートしたユーザーを連れてきたか」)は、エクスポートを自社のウェアハウスにコピーして、そこで結合してください。エクスポートジョブなしで BI ツールが接続できる、読み取り専用の分析 DSN の直接提供は計画中で、まだ利用できません。
S3、BigQuery、Snowflakeへのスケジュールエクスポート
スケジュールエクスポートは設定可能な頻度(1時間ごと、毎日)で実行され、クリックイベントストリーム(またはドメイン、キャンペーン、リンクタグでフィルタリングされたサブセット)をS3、BigQuery、またはSnowflakeにプッシュします。S3エクスポートはデフォルトでParquetを使用します(JSONも利用可能)。BigQueryとSnowflakeは、Elidoが作成し最新の状態に保つスキーマとともにネイティブコネクタを使用します。増分エクスポートはイベントのタイムスタンプをキーにします。最初のエクスポートは保持期間までのフルバックフィルであり、その後のエクスポートは新しいイベントのみを追加します。特定のタイムスタンプからリプレイする必要がある場合は、サポートリクエストを介して単発のフルエクスポートが利用可能です。エクスポートの失敗はログに記録され、再試行されます。バッチが2時間以上失敗し続けると、ワークスペースのメールアドレスにデッドレター通知が送信されます。
バッチエクスポートを待てないイベントパイプライン向け。リアルタイムKafkaコンシューマー
Businessワークスペースは、KafkaコンシューマーグループとしてKafka互換トピックから直接クリックイベントを購読できます。コンシューマーグループID、ブートストラップサーバー、クライアント証明書といった標準的なKafkaコンシューマー設定が提供されます。これは、リアルタイムのアラート(リンクのスパイク検出、ジオアノマリのフラグ立て)、サブ秒のデータを必要とするリアルタイムダッシュボード、およびスケジュールされたエクスポートの頻度では遅すぎるパイプラインに適したパスです。ファイアホースはすべてのイベントを「少なくとも1回(at-least-once)」配信します。リプレイ時のべき等性はコンシューマー側の責任となります。トピックの保持期間は7日間です。コンシューマーが7日以上遅れると、イベントが失われます。コンシューマーの遅延を監視するように設定してください。これは初心者向けのアナリティクス機能ではなく、Kafkaコンシューマーコードとコンシューマーグループの運用経験が必要です。BigQueryへのスケジュールエクスポートで十分な場合は、そこから始めてください。
利用するスタック
- 生のクリックイベント
- 直接SQLアクセス
- GA4 / Meta CAPI / Mixpanel
- S3 + BigQuery エクスポート
- S3 クリックエクスポート(gzip NDJSON)
- Webhook ファイアホース
測定対象
- サンプリング率
- 0% - 全クリックを保存
- イベント取り込み遅延
- 5秒以内
- 保持期間
- 最大24ヶ月
Elidoアナリティクス vs Bitly Analytics vs Heap
Bitly Analyticsはクリック数や基本的な地理データの把握には十分です。Heapは本格的なプロダクトアナリティクスプラットフォームです。以下の比較は、それぞれのオプションがどのような場合に適したツールであるかを正直に示しています。
アナリティクスチームからの質問
クリックイベントの正確なイベントスキーマを教えてください。
スキーマは/docs/api-referenceの「Click events」セクションで公開されています。主なフィールド:click_id (UUID), link_id, workspace_id, occurred_at (UTCタイムスタンプ), country_iso2, region, city, device_type (mobile/tablet/desktop), os, browser, referrer_domain, utm_source, utm_medium, utm_campaign, utm_term, utm_content。Nullableフィールドは空文字列ではなくNullになります。スキーマの変更は/changelogでマイグレーションガイドと共に告知されます。
Kafkaコンシューマーのガイドはありますか?
はい。/docs/guides/kafka-firehoseで、ブートストラップサーバー、コンシューマーグループの設定、クライアント証明書のローテーション、およびGoとPythonのサンプルコンシューマーコードを解説しています。トピックはワークスペースごとに1つで、パーティション数は12に固定されています。オフセットリセットは、最初のコンシューマーグループ参加時はデフォルトでearliestになります。これをベースに構築する場合は、コンシューマー遅延の監視に時間を割いてください。これは設定を怠ったチームが直面しやすい失敗モードです。
クリックイベントを自社のユーザーテーブルと結合できますか?
はい、データウェアハウス内で可能です。標準的なパターンは、スケジュールエクスポート経由でクリックイベントをBigQueryまたはSnowflakeにエクスポートし、UTMパラメータまたは短縮URLの遷移先に付与したカスタムのuser_idパラメータをキーにして結合することです。Elidoはクリックイベントにユーザー情報を保存しません。click_idはクリックごとにランダムに生成されるUUIDであり、ユーザーアカウントには紐付いていません。
サーバーサイドコンバージョンの重複排除はどのように機能しますか?
ElidoのコンバージョンエンドポイントにコンバージョンイベントをPOSTする際、元のクリックレスポンスで返されたclick_id(遷移先URLにクエリパラメータとして渡されるもの)を含めます。Elidoはそのクリックをルックアップし、既に属性が付与されていないか確認した上で、元のクリックのUTMコンテキストと共にGA4 MP、Meta CAPI、またはMixpanelに配信します。同じclick_idでの重複送信はべき等に処理されます。受信はされますが、二重にカウントされることはありません。
Kafkaコンシューマーが遅延した場合はどうなりますか?
イベントはトピック内に7日間保持されます。コンシューマーグループのコミット済みオフセットが7日以上遅れると、コンシューマーが読み取る前に古いイベントが消失します。コンシューマーの遅延を監視し、早期警告として6時間の遅延でアラートを設定してください。回復不可能なイベントで遅れが生じた場合は、S3/BigQueryへのスケジュールエクスポートがギャップをカバーします。ファイアホースの優れたバックアップとなります。
クリックエクスポートに他のワークスペースのデータは含まれますか?
いいえ。エクスポートにはお客様のワークスペースのイベントだけが含まれ、お客様自身の S3 バケットに書き込まれます。読み取り専用の分析 DSN の直接提供は計画中で、まだ利用できません。提供開始時には、お客様のワークスペースに限定されます。
クリックコホートが意味を持つための最小サンプルサイズはありますか?
分析ストアは存在するデータサイズでコホートクエリを実行します。最小サイズは強制されません。統計的な有意性はご自身の判断によります。50クリックのコホートでも数値は出ますが、ノイズが多くなります。Elidoでは生のカウントとパーセンテージを表示します。コホートビューにベイズ平滑化や信頼区間は適用しません。正式な分析には、データをエクスポートしてウェアハウスでモデルを実行してください。
スケジュールエクスポートを特定のリンクのサブセットにフィルタリングできますか?
はい。エクスポートフィルターは、特定のドメイン、特定のキャンペーンID、特定のタグ、または日付範囲をサポートしています。フィルタリングされたエクスポートも増分で行われます。その後の実行では、フィルター条件に一致する新しいイベントのみが追加されます。既存のエクスポートジョブに新しいフィルター条件を追加した場合、新しいジョブを作成するか、新しいフィルターの履歴を埋めるために1回限りのフル再エクスポートを行う必要があります。