Next.jsアプリケーションにアナリティクスを追加する方法
Next.jsにはパフォーマンスメトリクスの測定とレポート作成のための組み込みサポートがあります。useReportWebVitals
フックを使用して自分でレポート管理を行うか、またはVercelが提供するマネージドサービスを利用してメトリクスを自動的に収集・可視化できます。
クライアントインストルメンテーション
より高度なアナリティクスとモニタリングの必要性に対応するため、Next.jsはアプリケーションのフロントエンドコードが実行される前に実行されるinstrumentation-client.js|ts
ファイルを提供しています。これはグローバルなアナリティクス、エラートラッキング、またはパフォーマンスモニタリングツールをセットアップするのに理想的です。
使用するには、アプリケーションのルートディレクトリにinstrumentation-client.js
またはinstrumentation-client.ts
ファイルを作成します:
独自の実装
useReportWebVitals
フックには'use client'
ディレクティブが必要なため、最もパフォーマンスの高いアプローチはルートレイアウトがインポートする別個のコンポーネントを作成することです。これによりクライアント境界をWebVitals
コンポーネントに限定できます。
詳細についてはAPIリファレンスを参照してください。
Web Vitals
Web Vitalsはウェブページのユーザー体験を把握するための有用なメトリクスセットです。以下のWeb Vitalsがすべて含まれています:
- Time to First Byte (TTFB)
- First Contentful Paint (FCP)
- Largest Contentful Paint (LCP)
- First Input Delay (FID)
- Cumulative Layout Shift (CLS)
- Interaction to Next Paint (INP)
これらのメトリクスの結果はすべてname
プロパティを使用して処理できます。
外部システムへの結果送信
結果を任意のエンドポイントに送信して、サイト上の実際のユーザーパフォーマンスを測定・追跡できます。例:
知っておくと良い: Googleアナリティクスを使用する場合、
id
値を使用すると手動でメトリクス分布を構築できます(パーセンタイル計算など)
Googleアナリティクスへの結果送信について詳しく読む。