【ITニュース解説】New Relic Browser のカスタムイベントでビジネス KPI を追跡する実装ガイド
2025年09月18日に「Qiita」が公開したITニュース「New Relic Browser のカスタムイベントでビジネス KPI を追跡する実装ガイド」について初心者にもわかりやすく解説しています。
ITニュース概要
New Relic Browserのカスタムイベント機能は、ウェブアプリ利用者の行動を詳細に計測・分析できるツールだ。ページ表示時間やエラーだけでなく、ビジネス目標達成度を示すKPIを追跡し、サイト改善へつなげる実装方法を解説する。
ITニュース解説
ウェブアプリケーションは、現代社会において人々の生活やビジネス活動の基盤となっている。このようなアプリケーションが常に快適に、そして安定して動作することは、ユーザーの満足度を高め、提供するサービスの成功に直結するため、その性能を継続的に監視することは極めて重要だ。New Relic Browserは、ユーザーが直接利用するウェブアプリケーションのフロントエンド部分、つまりブラウザ上での動作状況を詳細に監視するための強力なツールである。
従来のパフォーマンス監視では、ウェブページの読み込み速度や、JavaScriptの実行中に発生するエラーの有無といった、基本的な技術的指標が主に注目されてきた。これらは、ウェブサイトが技術的に問題なく機能しているかを確認する上で確かに重要な情報だ。しかし、これらの情報だけでは、ユーザーがウェブサイト内で具体的にどのような行動を取っているのか、「なぜ特定の商品が購入されないのか」「どの機能がユーザーにとって魅力的でないのか」といった、より深いユーザー行動やビジネス的な成果に関する洞察を得ることは難しい。例えば、ウェブページは高速に表示されても、特定の重要なボタンがクリックされていなかったり、ユーザーが入力フォームの途中で離脱してしまったりするような問題は、従来の監視方法では見過ごされがちである。
このような課題を解決するために、New Relic Browserの「カスタムイベント」機能が非常に有効となる。カスタムイベントとは、開発者が自身のウェブアプリケーション内で発生する特定のユーザーアクションやシステムの状態を、開発者自身が定義したイベントとしてNew Relicに送信できる仕組みのことだ。これにより、単なるページの表示やエラー報告にとどまらず、「ユーザーがログインボタンをクリックした」「特定の商品をカートに追加した」「会員登録フォームを完了した」「動画を再生し始めた」といった、アプリケーション独自の具体的な行動を自由に計測・分析できるようになる。これらのイベントには、イベント名だけでなく、「どの商品か」「購入金額はいくらか」「ログインが成功したか失敗したか」といった、詳細な情報を「属性」として付加できるため、より具体的で詳細な状況を把握できるのが特徴である。
カスタムイベントを実装するには、まずNew Relic Browserのエージェントと呼ばれるJavaScriptコードを、監視したいウェブアプリケーションのHTMLファイルに組み込む必要がある。このエージェントが、アプリケーションからNew Relicのサーバーへデータを送信するための窓口となる役割を果たす。特定のユーザーアクションが発生したときに、newrelic.addPageAction() というJavaScript関数を呼び出すことで、カスタムイベントをNew Relicに送信する。この関数には、イベントの「名前」と、そのイベントに関する詳細な情報を含む「属性オブジェクト」を引数として渡す。
具体的な利用例をいくつか見てみよう。
例えば、ウェブアプリケーションにユーザーがログインする機能がある場合、ログインボタンがクリックされた際にその行動を追跡したいと考える。この時、ログインボタンのクリックイベントが発生したタイミングで newrelic.addPageAction('LoginButtonClick', { userId: loggedInUserId, loginMethod: 'email_password' }); のように記述することで、「LoginButtonClick」というイベント名で、特定のユーザーが、どのような方法(例:メールアドレスとパスワード)でログインを試みたか、といった詳細な情報をNew Relicに送信できる。
また、ECサイトであれば、ユーザーが商品の購入を完了したというイベントは、ビジネスにとって非常に重要だ。この場合、購入完了ページが表示される時や、購入手続きが完了したタイミングで newrelic.addPageAction('PurchaseCompleted', { orderId: 'ORD12345', totalAmount: 5000, productList: ['itemA', 'itemB'] }); のようにカスタムイベントを送信できる。これにより、個々の購入に関する詳細なデータ、例えば注文ID、合計金額、購入された商品リストなどをNew Relicに記録できる。これらのデータは、特定の商品の売れ行きや、購入プロセスのどこに改善の余地があるかを分析する上で、非常に価値のある情報となる。
さらに、ウェブアプリケーションで予期せぬエラーが発生した場合、単に「エラーがあった」と報告するだけでなく、「どのような種類のエラーで」「どの部分で発生し」「ユーザーは何をしようとしていたか」といった具体的な状況を把握することが、問題解決には不可欠である。newrelic.noticeError() 関数を使用すれば、カスタムイベントと同様にエラーに関する詳細な属性(エラーメッセージ、スタックトレース、エラー発生時のユーザーの状態など)を付加してNew Relicに送信できる。これにより、一般的なJavaScriptエラーレポートでは見逃されがちな、ビジネスロジックに起因する特定のエラーを効果的に追跡し、優先順位をつけて対応できるようになる。
New Relicに送信されたカスタムイベントのデータは、New Relicのユーザーインターフェース(UI)を通じて「ダッシュボード」として視覚的に確認できる。開発者やビジネスサイドの担当者は、これらのダッシュボードを見ることで、設定したビジネスKPI(Key Performance Indicator、重要業績評価指標)が現在どうなっているか、リアルタイムで把握できる。例えば、「今月、購入完了イベントが何件発生したか」「特定のプロモーションがどれだけコンバージョンに貢献したか」といった情報を、グラフや数値で一目で確認できるようになる。
さらに、New Relic Query Language(NRQL)という専用のクエリ言語を使って、収集したイベントデータをより深く分析することも可能だ。NRQLはSQLに似たシンプルな構文を持ち、「過去一週間のログイン成功率を計算する」「特定の地域からのユーザーがどの機能をよく利用しているか」「特定のエラーがどのブラウザで頻繁に発生しているか」といった、複雑な分析クエリを実行できる。これにより、アプリケーションの改善点や、ユーザー行動の傾向をデータに基づいて具体的に特定できるようになる。
また、異常を検知するための「アラート」を設定することも重要だ。例えば、「特定のカスタムイベントの発生数が過去の平均と比較して急激に減少した」「ログイン失敗イベントが一定期間内に閾値を超えた」といった状況を自動で検知し、担当者に通知するよう設定できる。これにより、問題が深刻化する前に迅速に対応できるようになり、ウェブサービスの安定稼働に貢献する。
このように、New Relic Browserのカスタムイベント機能は、ウェブアプリケーションのパフォーマンス監視を単なる技術的な側面だけでなく、ビジネスの成果と直接結びつけるための強力な手段を提供する。システムエンジニアを目指す皆さんにとって、このようなツールを理解し、適切に活用するスキルは、単にコードを書くだけでなく、ビジネス価値を創出できるエンジニアとしての市場価値を高める上で非常に重要となる。ユーザー体験を数値化し、データに基づいて改善提案を行う能力は、現代のソフトウェア開発において不可欠なスキルの一つと言えるだろう。