トレースの隣にプロダクト分析を

ページビューは自動で記録されます。それ以外はブラウザ、バックエンド、または既存のスパンから計測し、ユーザーが離脱する場所をレイテンシと同じダッシュボードで確認できます。

動き

ユーザーが離脱するステップを見つける

各ステップは、コンバージョンウィンドウ内に到達した人数を数えます。離脱ビューに切り替えると、誰が離脱したか、コンバージョンまでの時間、代わりにどこへ行ったかがわかります。

funnel · pricing → paid conversion rate 6.4%
count by person window 24h range 30d
$pageview /pricing 100% 8,412 entered
signup_​started 35.2% 2,961 reached 35.2%
35.2% 64.8%
signup_​completed 26.0% 2,190 reached 74.0%
74.0% 26.0%
plan_​started 6.4% 538 reached 24.6%
24.6% 75.4%
signup_completed → plan_started
→converted538
↓dropped1,652
median time2h 14m
went next/docs/billing · 41%
  • plan_started trace trace 4f9ac21e
  • signup_completed server user u_8124
  • $pageview browser /pricing

3 つの送信方法

イベントが起きた場所から送る

3 つとも同じ ID で同じ場所に届くので、ファネルをブラウザで始めて Webhook ハンドラーで終えることができます。

browser

ブラウザから

クリックの隣に 1 行。イベントはセッションリプレイ内で、前後のリクエストと並んで表示されます。

checkout.tsx ts
MapleBrowser.track("checkout_completed", {
  plan: "pro",
  seats: 12,
})
ドキュメントを読む →

span

スパンから

既存のスパンに属性を 2 つ。サーバーに別の SDK は不要です。

billing.ts ts
span.setAttributes({
  "maple.product_event.name": "plan_started",
  "maple.product_event.user_id": user.id,
})
ドキュメントを読む →

server

任意のバックエンドから

取り込みキーを使った HTTP 経由の NDJSON。モバイルアプリ、cron ジョブ、Webhook ハンドラー向けです。

terminal bash
curl https://ingest.maple.dev/v1/events \
  -H "Authorization: Bearer $INGEST_KEY" \
  -H "Content-Type: application/x-ndjson" \
  -d '{"name":"plan_started","user_id":"u_123"}'
ドキュメントを読む →

できること

1 つのイベントからコンバージョン率まで

$pageview
コード不要のページビュー
ブラウザ SDK はナビゲーションごとにページビューを記録します。track を 1 行も書く前から最初のファネルが使えます。
maple.product_event.name
スパンからのイベント
既存のスパンにタグを付けるとイベントになり、スパンの属性がプロパティになります。どの OpenTelemetry SDK でも動作し、イベントはトレースにリンクします。
identify()
匿名からサインインまで
identify() にユーザー ID を渡すと、それ以前の匿名の訪問がサブドメインをまたいで紐づきます。同じユーザー ID のサーバーイベントも同じ人に集約されます。
drop-off · paths
ファネル、離脱、パス
最大 10 ステップ、コンバージョンウィンドウ、リファラー、UTM、国、任意のプロパティでの内訳。パスは任意のイベントの前後の行動を表示します。
source: product_events
チャートとアラート
プロダクトイベントは、トレース、ログ、メトリクスと同じクエリソースです。サインアップをエラー率の隣にグラフ化し、減少したらアラートを出せます。
query_funnel()
エージェントに聞く
MCP サーバーはイベントの一覧とファネルの実行に対応しているので、エディタを離れずにサインアップが止まる場所をエージェントに聞けます。

次は

このデータを共有する画面

OTLPをMapleに向ける。

エンドポイントとキーが1つずつ。トレース、ログ、メトリクス、セッションが、最初のリクエストから同じトレースIDに集まります。