Application Insights は、ユーザーがアプリケーションを操作する方法を示すためにテレメトリ データを収集する強力な監視ツールです。 これには、最も人気のある機能、ユーザーが目標を達成した場合、ユーザーが降りる場所、後で戻るかどうかに関する情報が含まれます。
これらの分析情報は、ユーザーの行動を理解し、改善の領域を特定し、最近の変更の影響を測定するのに役立ちます。これにより、次の開発サイクルに関するデータドリブンの意思決定を行うことができます。
この記事では、次の領域について説明します。
カスタム イベントを使用した使用状況分析
ネイティブの使用エクスペリエンス
ユーザー、セッション、イベント - アプリケーション、セッションの傾向、および特定のイベントとのユーザー操作を追跡および分析して、ユーザーの動作とアプリケーションのパフォーマンスに関する分析情報を得ることができます。
ファネル - アプリケーションでユーザーが一連のステップをどのように進むか、そしてどの段階で離脱する可能性があるかを理解します。
ユーザー フロー - ユーザー パスを視覚化して、ユーザーが最も関心を持っている、または問題が発生している最も一般的なルートと領域を特定します。
コーホート - 一般的な特性によってユーザーまたはイベントをグループ化して、動作パターン、機能の使用状況、および時間の経過に伴う変化の影響を分析します。
ブック テンプレートの使用状況
ユーザーリテンション期間分析 - アプリケーションに戻るユーザーの頻度とパターン、および特定の機能との対話を追跡します。
ユーザー影響分析 - アプリケーションのパフォーマンス メトリック (読み込み時間など) がユーザー のエクスペリエンスと動作に与える影響を分析して、改善点の優先順位を付けるのに役立ちます。
HEART Analysis - HEART フレームワークを利用して、ユーザーの幸福度、エンゲージメント、導入、保持、タスクの成功を測定して理解します。
始め方
前提条件
- Azure サブスクリプション: Azure サブスクリプションを無料で作成する
- Application Insights リソース: Application Insights リソースを作成する
アプリケーションをインストルメント化する
アプリケーションの使用状況に関するブラウザー テレメトリを収集するには、 Application Insights JavaScript SDK を使用します。 サーバー側のインストルメンテーションは必要ありません。
ブラウザー テレメトリが収集されているかどうかを確認するには、プロジェクトをデバッグ モードで数分間実行し、Application Insights の [概要 ] ウィンドウで結果を探します。
ヒント
エクスペリエンスを最適化するには、 Azure Monitor OpenTelemetry Distro と JavaScript SDK を使用した Web ページを使用して、Application Insights をアプリケーション サーバー コードの両方に統合することを検討してください。
このデュアル実装は、アプリケーションのクライアント コンポーネントとサーバー コンポーネントの両方からテレメトリを収集し、追加の監視機能を有効にします。 詳細については、「 Application Insights エクスペリエンス」を参照してください。
カスタム イベントを使用した使用状況分析
カスタム イベントを使用してユーザー操作を追跡する
カスタム イベントを使用して、ビジネス目標をサポートする重要なアクションを追跡します。 たとえば、 ボタンの選択、フォームの送信、購入の完了などがあります。
ページ ビューは便利なイベントを表すこともありますが、常に信頼できるインジケーターであるとは限りません。 たとえば、ユーザーが購入せずに製品ページを開く場合があります。 特定のビジネス イベントを追跡することで、サイトを通じてユーザーの進行状況をグラフ化し、さまざまなオプションに対するユーザーの好みを理解し、問題が発生した場所やドロップアウトを特定できます。
カスタム イベントをユーザー ID とセッション コンテキストと組み合わせて有効にします。
- セッション間での動作の追跡。
- ユーザー アクションに基づいてコンバージョン ファネルを分析する。
- ユーザーがアプリと対話する方法でユーザーをセグメント化する。
注
認証されたユーザー ID を使用して、デバイスやブラウザー間での追跡を有効にし、時間の経過と同時にユーザー レベルの分析を向上させます。
これらのイベントにプロパティ値を添付すると、ポータルでの検査中にフィルター処理または分割できます。 各イベントには、匿名ユーザー ID などのプロパティの標準セットも含まれており、個々のユーザーのアクティビティのシーケンスをトレースできます。
カスタム イベントをログに記録する方法
Click Analytics Autocollection プラグインまたは trackEvent
を使用して、アプリケーションのクライアント側からイベントをログに記録できます。
appInsights.trackEvent({name: "incrementCount"});
Azure Monitor OpenTelemetry Distro を使用して、サーバー側のカスタム イベントをログに記録することもできます。 詳細については、「 .NET、Java、Node.js、Python アプリケーション用の Azure Monitor OpenTelemetry を追加および変更する」を参照してください。
Application Insights SDK (クラシック API) でカスタム イベントを使用する方法については、カスタム イベントとプロパティに関するページを参照してください。
ヒント
アプリの各機能を設計するときに、ユーザーの満足度をどのように測定するかを検討します。 記録する必要があるビジネス イベントを決定し、それらのイベントの追跡呼び出しを最初からアプリケーションにコーディングします。
カスタム イベントを細分化して精査する
[ユーザー]、[セッション]、[イベント] ツールでは、ユーザー、イベント名、およびプロパティごとにカスタム イベントをスライスおよびサイコロできます。 使用エクスペリエンスが発生するたびに、[ 最後の実行クエリを開く ] アイコンを選択して、基になるクエリに戻ります。
その後、基になるクエリを変更して、探している特定の情報を取得できます。 ページ ビューに関する基になるクエリの例を次に示します。
// average pageView duration by name
let timeGrain=5m;
let dataset=pageViews
// additional filters can be applied here
| where timestamp > ago(1d)
| where client_Type == "Browser" ;
// calculate average pageView duration for all pageViews
dataset
| summarize avg(duration) by bin(timestamp, timeGrain)
| extend pageView='Overall'
// render result in a chart
| render timechart
ネイティブの使用エクスペリエンス
ユーザー、セッション、およびイベント
3 つの [使用状況] ペインでは同じツールを使用して、3 つの視点からアプリケーションのテレメトリを細分化して精査します。 データをフィルター処理および分割することによって、さまざまなページや機能に関連する使用について分析情報を得ることができます。 ユーザーがアプリケーションを使用するタイミング、最も関心のあるページ、ユーザーが配置されている場所、使用しているブラウザーとオペレーティング システムを確認します。
ユーザー ツール: 選択した期間内にページにアクセスする一意のユーザーの数をカウントします。 ブラウザーの Cookie に格納されている匿名 ID を使用してユーザーがカウントされます。 異なるブラウザーまたはマシンを使用している 1 人のユーザーは、複数のユーザーとしてカウントされます。
セッション ツール: サイトにアクセスするユーザー セッションの数を表します。 セッションは、ユーザーによって開始されたアクティビティの期間を表し、非アクティブな期間が 30 分を超えるか、24 時間連続して使用された後で終了します。
イベント ツール: アプリケーションの特定のページと機能はどのくらいの頻度で使用されますか? ページ ビューは、(インストルメント化した場合) ブラウザーがアプリからページを読み込むときにカウントされます。
カスタム イベントは、アプリケーションで発生した 1 回の発生を表します。 多くの場合、ボタンの選択やタスクの完了などのユーザー操作です。 カスタム イベントを生成したり、Click Analytics 拡張機能を使用したりするために、アプリケーションにコードを挿入します。
重要
ユーザーが異なるブラウザーまたはクライアント マシンを使用してサイトにアクセスした場合、または Cookie を消去した場合は、複数回カウントされます。
匿名 ID の使用と正確なカウントの確保に代わる方法については、 認証済み ID のドキュメントを参照してください。
特定のユーザー、セッション、またはイベントのクエリ
各ペインの上部にあるクエリ オプションを調整して、さまざまなユーザー、セッション、またはイベントのグループを調べます。
オプション | 説明 |
---|---|
期間 | 時間範囲を選択します。 |
表示 | 分析するユーザーのコーホートを選択します。 |
誰が使用したか | カスタム イベント、要求、ページ ビューを選択します。 |
イベント | 選択したオプションの少なくとも 1 つ (必ずしもすべてではない) を行ったユーザーを表示する複数のイベント、要求、およびページ ビューを選択します。 |
値による x 軸 | 時間の範囲によって、または、ブラウザーや都市など別のプロパティによってデータをカテゴリ化する方法を選択します。 |
分割基準 | データの分割またはセグメント化に使用するプロパティを選択します。 |
フィルターの追加 | ブラウザー、市などのプロパティに基づいて特定のユーザー、セッション、またはイベントに対するクエリ実行を制限します。 |
[他の分析情報を表示] をクリックすると、次の情報が表示されます。
一般的な情報: 指定された時間枠のセッションとイベントの数、およびユーザーの応答性の認識に関連するパフォーマンス評価。
プロパティ: ブラウザーのバージョン、国または地域、オペレーティング システムなど、最大 6 つのユーザー プロパティを含むグラフ。
ユーザーに会う: 現在のクエリで一致した 5 人のサンプル ユーザーに関する情報。 個人の行動と全体の行動を調査することで、ユーザーがアプリをどのように使用しているかについての分析情報が得られます。
A/B テストを使用して機能の成功を判断する
どの機能バリアントがより成功するかがわからない場合は、A/B テストを実行し、異なるユーザーが各バリアントにアクセスできるようにします。
A/B テストを設定するには、各バリアントによって送信されるすべてのテレメトリに一意のプロパティ値をアタッチします。 OpenTelemetry では、これを行うには、スパンにカスタム プロパティを追加します。 詳細については、「 .NET、Java、Node.js、Python アプリケーション用の Azure Monitor OpenTelemetry を追加および変更する」を参照してください。
Application Insights SDK (クラシック API) を使用している場合は、代わりにテレメトリ初期化子を使用します。 詳細については、 カスタム イベントを参照してください。
A/B テストの後、さまざまなバージョンを比較できるように、プロパティ値のデータをフィルター処理して分割します。 各バージョンの成功を測定し、統合バージョンに移行します。
ファネル
カスタマー エクスペリエンスの理解は、ビジネスにとって非常に重要です。 アプリケーションが複数のステージに渡る場合は、顧客がプロセス全体を進めているか、またはどこかの時点でプロセスを終了しているかを把握する必要があります。 アプリケーション内の一連の手順の進行は ファネルと呼ばれます。
Application Insights のファネルを使用すると、ユーザーの分析情報を取得し、ステップ バイ ステップでコンバージョン率を監視することができます。 ステップを選択すると、追加のステップ固有の詳細が表示されます。
注
アプリケーションがサンプリングされると、バナーが表示されます。 バナーを選択すると、サンプリングをオフにする方法を説明するコンテキスト ペインが開きます。
ファネルを作成する
ファネルを作成する前に、答えを知りたいテーマを決めておきます。 たとえば、何人のユーザーがホーム ページを閲覧するか、顧客プロファイルを閲覧するか、チケットを作成するか知りたい場合があります。
[ファネル] タブで [編集] を選択します。
[最上位のステップ] を選択します。
ステップにフィルターを適用するには、[フィルターの追加] を選択します。 このオプションは、最上位のステップの項目を選択した後に表示されます。
次に、[2 番目のステップ] を選択します。以降、同様に続けます。
注
ファネルは最大 6 ステップに制限されます。
[表示] タブを選択して、ファネルの結果を表示します。
ファネルを保存して後で表示するには、上部の [保存] を選択します。 保存したファネルを開くには、[開く] を使用します。
ユーザー フロー
User Flows ツールを使用すると、ユーザーがサイトのページや機能の間をどのように移動するかを視覚化することができます。 次のような疑問の答えを得るのに役立ちます。
- ユーザーが対象サイトのページから他のサイトにどのように移動しているのか
- ユーザーは対象サイトのページで何を選択したのか
- サイト内でユーザー離脱が最も発生する箇所はどこですか?
- ユーザーが同じ操作を何回も繰り返している場所があるか
ユーザー フロー ツールは、最初のカスタム イベント、例外、依存関係、ページ ビュー、または指定した要求から開始されます。 この最初のイベントを前提に、User Flows には、ユーザー セッションの前後に発生したイベントが表示されます。 太さが異なる線は、ユーザーが各パスを通過した回数を示します。
特別な [セッションを開始しました] ノードには、後続のノードがセッションを開始した場所が表示されます。 [セッションが終了しました] ノードには、前のノードの後でページ ビューまたはカスタム イベントを送信しなかったユーザーの数を示し、ユーザーが対象サイトを離れたと思われる場所が表示されます。
注
ユーザー フロー ツールを使うには、Application Insights のリソースにページ ビューやカスタム イベントが含まれる必要があります。 Application Insights JavaScript SDK を使用してページ ビューを自動的に収集するようにアプリケーションを設定する方法について説明します。
ユーザー フローの視覚化を作成する
ユーザー フロー ツールで質問への回答を開始するには、最初のカスタム イベント、例外、依存関係、ページ ビュー、または視覚化の開始点として機能する要求を選択します。
[ユーザー フロー] ウィンドウで、[ 編集] または [イベントの選択] を選択します。
[初期イベント] ドロップダウン リストから、カスタム イベント、例外、依存関係、ページ ビュー、または要求を選択します。
[グラフの作成] を選びます。
視覚化の "Step 1" 列には、ユーザーが最初のイベントの直後に最も頻繁に行ったことが表示されます。 項目は、上から頻度の高い順に表示されます。 "手順 2" 以降の列には、ユーザーが次に行ったことが表示されます。 この情報により、ユーザーがサイト内を移動したすべての方法が示されます。
ユーザー フローの視覚化を編集する
既定では、User Flows ツールはサイトのページ ビューとカスタム イベントの過去 24 時間分のみをランダムにサンプリングします。 [編集] メニューから、時間範囲の拡大や、ランダム サンプリングのパフォーマンスと精度のバランス変更を行うことができます。
ページ ビュー、カスタム イベント、または例外に関係のないものが含まれる場合は、ノードの [X] を選択して非表示にできます。 非表示にするノードを選択したら、[ グラフの作成] を選択します。 すべての非表示ノードを表示するには、[ 編集] を選択し、[ 除外されたイベント ] セクションを確認します。
表示されているはずのページ ビューやカスタム イベントが表示されていない場合は、以下を確認します。
- [編集] メニューの [除外されたイベント] セクションを確認します。
- 頻繁の低いイベントを視覚化に含めるには、 [その他] ノードのプラス ボタンを使用します。
- 表示されているはずのページ ビューまたはカスタム イベントが、ユーザーによって頻繁には送信されていないものである場合は、[編集] メニューで視覚化の時間範囲を広げてみます。
- カスタム イベント、例外、依存関係、ページ ビュー、または要求が、サイトのソース コードで Application Insights SDK によって収集されるように設定されていることを確認します。
より多くのステップを視覚化したい場合は、視覚化の上の [前のステップ] と [次のステップ] の各ドロップダウン リストを使用します。
ユーザー フローで回答できる質問の例
次のいずれかの例を選択して、セクションを展開します。
ユーザーがページまたは機能にアクセスした後、ユーザーはどこに移動し、何を選択しますか?
最初のイベントがページ ビューである場合、視覚化の最初の列 ("Step 1") を見ると、ユーザーがページにアクセスした直後に行ったことが簡単にわかります。
User Flows の視覚化の横にあるウィンドウでサイトを開きます。 ユーザーによるページの操作方法の予想と、"Step 1" 列のイベントの一覧を比較してみてください。 多くの場合、あなたのチームにとって重要でないと思われるページ上の UI 要素が、そのページで最も使用されている要素の 1 つである可能性があります。 これは、サイトのデザイン改善のよい出発点になる場合があります。
最初のイベントがカスタム イベントの場合、最初の列にはユーザーがそのアクションを実行した直後に行ったことが示されます。 ページ ビューと同様に、観察されたユーザーの行動が、チームの目標や予想と一致するかどうかを検討します。
選んだ最初のイベントが [Added Item to Shopping Cart](買い物かごに商品を追加した) である場合、そのすぐ後に [Go to Checkout](会計に進む) および [Completed Purchase](購入を完了した) が表示されているかどうかを確認します。 ユーザーの行動が予想と異なる場合は、視覚化を使って、サイトの現在のデザインのどこにユーザーの行動が "阻害される" 原因があるかを理解します。
ユーザーがサイトから最もチャーンする場所はどこにありますか?
視覚化の上位に表示される [セッションが終了しました] ノード (特にフローの早い段階) を調べます。 この位置は、多くのユーザーがそこに至るまでのページ移動と UI 操作を行った後、サイトから離脱した可能性があることを意味します。
予期される離脱もあります。 たとえば、ユーザーが電子商取引サイトで購入を完了した後などに想定されます。 通常、サイトからの離脱は、設計上の問題、パフォーマンスの悪さ、またはサイトに関するその他の改善可能な問題を示しています。
[セッションが終了しました] ノードはその Application Insights リソースによって収集されたテレメトリのみに基づくことに注意してください。 Application Insights が特定のユーザー操作に対するテレメトリを受け取らない場合、ユーザーはユーザー フロー ツールがセッション終了を示した後もまだサイトを操作している可能性があります。
ユーザーが同じアクションを何度も繰り返す場所はありますか?
視覚化の後続ステップで多くのユーザーによって繰り返されているページ ビューやカスタム イベントを探します。 このアクティビティは通常、ユーザーがサイトで反復的なアクションを実行していることを意味します。 繰り返しが見つかった場合は、サイトのデザインの変更または繰り返しを減らす新しい機能の追加を検討します。 たとえば、ユーザーがテーブル要素の行ごとに反復的アクションを実行していることがわかった場合は、一括編集機能を追加します。
コーホート
コーホートとは、共通点を持つユーザー セット、セッション セット、イベント セット、または操作セットのことです。 Application Insights では、コーホートは分析クエリによって定義されます。 特定のユーザー セットまたはイベント セットを繰り返し分析する必要がある場合、コーホートを使用することで、より柔軟性の高い方法で目的のセットを正確に表現することができます。
注
コーホートが作成されたら、ユーザー、セッション、イベント、ユーザー フローの各ツールからコーホートを利用できます。
コーホート対基本的なフィルター
コーホートは、フィルターと同様の方法で使用できます。 ただし、コーホートの定義はカスタム分析クエリから作成されるため、それらははるかに適応性があり、複雑です。 フィルターとは異なり、コーホートの場合はチームの他のメンバーも再利用できるように保存することができます。
アプリの新機能を試してみたすべてのユーザーのコーホートを定義するとします。 Application Insights リソースにこのコホートを保存できます。 後で、この保存された特定のユーザーのグループを簡単に分析できます。
コーホートを作成する
チームは、特定の月にアプリケーションを5回以上使用するユーザーをエンゲージメントユーザーとして定義します。 このセクションでは、このような関心度の高いユーザーのコーホートを定義します。
[コーホートの作成] を選択します。
[Template Gallery](テンプレート ギャラリー) タブを選択して、さまざまなコーホート用テンプレートのコレクションを確認します。
[関心度の高いユーザー] (利用日数による) を選択します。
このコーホートに対しては 3 つのパラメーターがあります。
- [Activities](アクティビティ): 使用としてカウントするイベントおよびページ ビューを選択します。
- [Period](期間): 月の定義。
- [UsedAtLeastCustom]: 関心度が高いとしてカウントするために、ユーザーが期間内に何かを使用する必要がある回数。
UsedAtLeastCustom を 5+ days に変更します。 [Period](期間) は既定値の 28 日のままにします。
このコーホートは、過去 28 日間の 5 日間にカスタム イベントまたはページ ビューで送信されたすべてのユーザー ID を表します。
[保存] を選択します。
ヒント
"関心度の高いユーザー (5 日以上)" のような名前をコーホートに付けます。 "個人用レポート" または "共有レポート" に保存します。どちらにするかは、この Application Insights リソースへのアクセス権を有する他のユーザーにもこのコーホートを表示させるかどうかによって決まります。
[ギャラリーに戻る] を選択します。
このコーホートを使用して何ができますか?
ユーザー ツールを開きます。 [表示] ドロップダウン ボックスから、[特定のグループに属するユーザー]で作成したコーホートを選択します。
注意すべき重要な点は、次のとおりです。
このセットは、通常のフィルターによって作成できません。 日付のロジックがより具体的になっています。
ユーザー ツールでは通常のフィルターを使用してこのコーホートをさらにフィルター処理することができます。 コーホートは 28 日の期間に定義されていますが、ユーザー ツール内で時間の範囲を 30 日、60 日、または 90 日に調整することができます。
これらのフィルターは、クエリ ビルダーによって表現できないより高度な質問をサポートします。 たとえば、過去 28 日間で関心が高かったユーザーがいるとします。それらの同じユーザーが過去 60 日間でどのような行動をしていたでしょうか。
その他のコーホートの例
次のいずれかの例を選択して、セクションを展開します。
イベントのコーホート
イベントのコーホートを作成することもできます。 このセクションでは、イベントとページ ビューのコホートを定義します。 次に、他のツールからそれらを使用する方法を確認します。 このコホートは、チームによって アクティブな使用 と見なされるイベント セットや特定の新機能に関連するイベント セットを定義できます。
- [コーホートの作成] を選択します。
- [Template Gallery](テンプレート ギャラリー) タブを選択して、さまざまなコーホート用テンプレートのコレクションを確認します。
- [Events Picker]\(イベントの選択) を選択します。
- [Activities](アクティビティ) ドロップダウン ボックスで、コーホート内に含めるイベントを選択します。
- コーホートを保存し、名前を付けます。
クエリを変更するアクティブ ユーザー
前の 2 つのコーホートは、ドロップダウン ボックスを使用して定義されました。 全体的な柔軟性を高めるために分析クエリを使用してコーホートを定義することもできます。 方法を確認するために、英国のユーザーのコーホートを作成します。
コーホート ツールを開き、[テンプレート ギャラリー] タブを選択し、[空のユーザー コーホート] を選択します。
次の 3 つのセクションがあります。
- Markdown テキスト: チームの他のメンバーのためにコーホートの詳細を記述します。
- パラメーター: 前述の 2 つの例の [Activities](アクティビティ) やその他のドロップダウン ボックスのような独自のパラメーターを作成します。
- クエリ: 分析クエリを使用してコーホートを定義します。
クエリ セクションには、分析クエリを記述します。 クエリは、定義するコーホートが記述された特定の行セットを選択します。 コーホート ツールによって、
| summarize by user_Id
句が暗黙的にクエリに追加されます。 このデータはテーブル内のクエリの下にプレビューとして表示されるので、クエリが結果を返していることを確認できます注
クエリが表示されない場合は、セクションの高さを高くしてクエリが表示されるようにサイズ調整を行います。
以下のテキストをコピーして、クエリ エディターに貼り付けます。
union customEvents, pageViews | where client_CountryOrRegion == "United Kingdom"
[クエリの実行] を選択します。 ユーザー ID がテーブルに表示されない場合は、アプリケーションのユーザーがいる国や地域に変更します。
コーホートを保存して名前を付けます。
ブック テンプレートの使用状況
ユーザーリテンション期間の分析
ユーザーリテンション期間分析ブックは、ユーザーがアプリケーションに戻って特定の機能を操作する頻度を追跡することで、ユーザーエンゲージメントを理解するのに役立ちます。 これにより、ゲームに勝ったり失ったりしたユーザー間のリターン レートの違いなど、ユーザー コーホート全体のパターンが明らかにされ、ユーザー エクスペリエンスを向上させ、ビジネス上の意思決定を導く実用的な分析情報が提供されます。
特定の期間内のアクションに基づいてユーザー コーホートを分析することで、次のことができます。
- ユーザーが他の機能よりも再び使用する原因となる具体的な機能を理解します。
- 潜在的な保持の問題を検出します。
- ユーザー エクスペリエンスと製品戦略の向上に役立つ、データドリブンの仮説を形成します。
ユーザーリテンション分析ワークブックを使用する
ブックにアクセスするには、Application Insights の [ブック] ウィンドウに移動し、[使用状況] カテゴリの [ユーザー保持分析] を選択します。
視覚化には次のものが含まれます。
全体的なユーザー維持率: 選択された期間におけるユーザー維持率の概要チャート。
保持グリッド: 保持されているユーザーの数を表示します。 各行は、表示された期間に選択したいずれかのイベントを実行したユーザーのコーホートを表します。 行の各セルは、そのコーホートの中で、その後の期間に 1 回以上戻ったユーザーの数を示しています。 ユーザーは複数の期間に戻ってくることがあります。
分析情報カード: 主要なエンゲージメント ドライバーを特定するのに役立つ上位 5 つの開始イベントと戻りイベントを強調表示します。
ブックの上部にある保持コントロールを使用して、次の操作を行います。
- 特定の時間範囲を定義します。
- イベントのさまざまな組み合わせを選択して、特定のユーザー アクティビティに焦点を絞り込みます。
- たとえば、特定の国または地域のユーザーに焦点を当てるには、プロパティにフィルターを追加します。
ヒント
最も役立つユーザーリテンション期間分析を取得するには、重要なビジネス アクティビティを表すイベントを測定します。 詳細については、「 カスタム イベントを使用したユーザー操作の追跡」を参照してください。
ユーザー影響分析
ページ ビュー、カスタム イベント、または要求のディメンションが、異なるページ ビューまたはカスタム イベントの使用にどの程度影響するのかについて、明らかにします。
影響については、サイトの一部における遅さがユーザーの定着にどの程度影響しているのかについて、チームのメンバーとの議論を収める究極のツールとして考えるのが、1 つの方法です。 ユーザーがいくらかの遅さを許容する場合がありますが、影響によって、最適化とパフォーマンスのバランスを最善にしてユーザーのコンバージョン率を最大化する方法についての洞察が得られます。
パフォーマンスの分析は、影響の機能の一部にすぎません。 影響ではカスタム イベントとディメンションがサポートされているため、ユーザーのブラウザーの選択と異なるコンバージョン率がどのように相関しているかなどの質問に簡単に答えることができます。
注
影響分析ブックを使うには、Application Insights のリソースにページ ビューまたはカスタム イベントが含まれる必要があります。 Application Insights JavaScript SDK を使用してページ ビューを自動的に収集するようにアプリケーションを設定する方法について説明します。 また、相関関係を分析しているため、サンプル サイズが重要です。
ユーザー影響分析ブック
Application Insights で ユーザー影響分析 ブックを使用するには、[ ブック ] ウィンドウに移動し、[ 使用状況 ] カテゴリの下に一覧表示されているブックを見つけます。
- [選択されたイベント] ドロップダウン リストからイベントを選択します。
- [分析方法] ドロップダウン リストからメトリックを選択します。
- [影響するイベント] ドロップダウン リストからイベントを選択します。
- フィルターを追加するには、[選択したイベント フィルターの追加] タブまたは [影響するイベント フィルターの追加] タブを使用します。
ユーザー影響分析ブックでは、変換率はどのように計算されますか?
内部では、ユーザー影響分析ワークブックは ピアソン相関係数に依存しています。 結果は -1 から 1 の間で計算されます。 係数 -1 は負の線形相関を表し、1 は正の線形相関を表します。
ユーザーへの影響分析のしくみの基本的な内訳は次のとおりです。
- [選択したイベント] ドロップダウン リストで選択したメイン ページ ビュー、カスタム イベント、または要求を A とします。
- [使用量に影響] ドロップダウン リストで選択するセカンダリ ページ ビューまたはカスタム イベントを B とします。
選択した時間範囲で、Impactはユーザーのすべてのセッションのサンプルを確認します。 各セッションごとに、A が出現するたびに探します。
セッションは、2 つの条件のいずれかに基づいて、2 つの異なる種類の "サブセッション" に分けられます。
- 変換されたサブセッションは、B イベントで終わるセッションで構成され、B より前に発生するすべての A イベントが含まれます。
- コンバージョンが行われなかったサブセッションは、すべての A が終端の B なしで発生した場合に発生します。
最終的に影響がどのように計算されるかは、メトリックにより分析しているのか、それともディメンションにより分析しているのかに基づいて異なります。 メトリックでは、サブセッション内のすべての A は平均化されます。 ディメンションでは、各 A の値は、B に割り当てられた値への 1/N に貢献します。ここで、N はサブセッション内の A の数です。
ユーザー影響分析で回答できる質問の例
次のいずれかの質問を選択して、セクションを展開します。
ページの読み込み時間は、自分のページで変換するユーザーの数に影響しますか?
影響ブックを使って質問への回答を始めるには、初期ページ ビュー、カスタム イベント、または要求を選択します。
カスタムの方法でページ ビューや読み込み時間を追跡している場合はどうなりますか?
Impactは、標準とカスタムの両方のプロパティと測定値をサポートしています。 お好きな方をお使いください。 期間の代わりに 1 つ目と 2 つ目のイベントでフィルターを使用すると、より具体的な情報が得られます。
異なる国や地域のユーザーは、異なる料金で変換されますか?
HEART - カスタマー エクスペリエンスの 5 つのディメンション
このセクションでは、Azure Monitor で HEART ブックを有効にして使用する方法について説明します。 HEART ワークブックは、HEART 測定フレームワークに基づいており、元々は Google によって導入されました。 複数の Microsoft 社内チームが、より優れたソフトウェアを提供するために HEART を使用しています。
概要
HEART は、幸福度 (Happiness)、エンゲージメント (Engagement)、導入 (Adoption)、保持 (Retention)、タスク成功 (Task success) を表す頭字語です。 製品チームがカスタマー エクスペリエンスの 5 つのディメンションに焦点を当てて、より優れたソフトウェアを提供できるようにサポートします。
- 幸福度: ユーザーの受け止め方の測定
- エンゲージメント: アクティブ ユーザーの関与のレベル
- 導入: 対象ユーザーへの普及
- リテンション: ユーザーが再び使用する割合
- タスク成功: 生産性の強化
これらのディメンションは個別に測定されますが、相互に作用しています。
- 導入、エンゲージメント、リテンションは、ユーザー アクティビティ ファネルを形成します。 ツールを導入したユーザーの一部だけが再びツールを使用します。
- タスク成功は、ユーザーをファネルの下に進め、導入からリテンションまで推進します。
- 幸福度は、独立したディメンションではなく、他のディメンションの結果です。 じょうごを下に進み、より高いレベルのアクティビティを示しているユーザーは、理想的には幸せです。
前提条件
Azure サブスクリプション: Azure サブスクリプションを無料で作成する
Application Insights リソース: Application Insights リソースを作成する
Click Analytics: Click Analytics Autocollection プラグインを設定します。
特定の属性: HEART メトリックを計算するために、次の属性をインストルメント化します。
ソース 属性 説明 カスタムイベント ユーザー認証ID 一意の認証済みユーザー識別子 カスタムイベント セッションID 一意のセッション識別子 カスタムイベント アプリ名 一意の Application Insights アプリ識別子 カスタムイベント アイテムタイプ customEvents レコードのカテゴリ カスタムイベント タイムスタンプ イベントの日時 カスタムイベント operation_Id 関連するテレメトリ イベント カスタムイベント user_Id 一意のユーザー ID カスタムイベント ¹ parentId 機能の名前 カスタムイベント ¹ ページ名 ページの名前 カスタムイベント ¹ アクションタイプ クリック分析レコードのカテゴリ pageViews ユーザー認証ID 一意の認証済みユーザー識別子 pageViews セッションID 一意のセッション識別子 pageViews アプリ名 一意の Application Insights アプリ識別子 pageViews タイムスタンプ イベントの日時 pageViews operation_Id 関連するテレメトリ イベント pageViews user_Id 一意のユーザー ID ¹: これらの属性を出力するには、npm で Click Analytics Autocollection プラグインを使います。
認証されたユーザー コンテキストを設定する場合は、次の属性をインストルメント化します。
ソース 属性 説明 カスタムイベント ユーザー認証ID 認証された一意のユーザー識別子。
ヒント
Click Analytics プラグインを効果的に使用する方法については、「Application Insights JavaScript SDK の機能拡張 (Click Analytics)」を参照してください。
ワークブックを開く
Application Insights で HEART ワークブックを使用するには、[ ワークブック ] パネルに移動し、[ Click Analytics プラグイン を使用した Product Analytics カテゴリを探します。 メイン ブックである [HEART 分析 - すべてのセクション] を操作するだけで済みます。 このブックには、他の 6 つのブックがタブとして含まれています。
データが流れていることを確認する
メトリックを正確に示すようにデータが想定どおりに流れていることを検証するには、[Development Requirements](開発要件) タブを選択します。
重要
認証されたユーザー コンテキストを設定しない限り、[ConversionScope] ドロップダウンから [匿名ユーザー] を選択してテレメトリ データを表示する必要があります。
データが想定通りに流れていない場合は、特定の属性が問題点とともにこのタブに表示されます。
ワークブックの構造
ブックは、HEART ディメンションのメトリック傾向を 7 つのタブに分割して表示します。 各タブには、ディメンションの説明、各ディメンションに含まれるメトリック、およびそれらの使用方法が含まれています。
タブは次のとおりです。
- [概要]: 使用状況ファネル メトリックを要約して、アクセス、操作、および繰り返し使用の概要を示します。
- 導入: 対象ユーザーへの普及、獲得速度、および合計ユーザー ベースを把握するのに役立ちます。
- エンゲージメント: 使用の頻度、深さ、幅を示します。
- リテンション: 繰り返しの使用状況を示します。
- タスク成功: ユーザー フローとその時間分布を把握できます。
- 幸福度: アンケート ツールを使用して、5 段階で顧客満足度スコア (CSAT) を測定することをお勧めします。 このタブでは、使用状況とパフォーマンス メトリックを使用して幸せの可能性を提供します。
- 機能メトリック: 機能の細分性で HEART メトリックを理解できます。
警告
HEART ワークブックは現在、ログとログベースのメトリックに基づいて構築されています。 サンプリングとフィルター処理によって、これらのメトリックの精度が低下する可能性があります。
HEART ディメンションの定義と測定方法
喜び
幸福度は、提供された製品について、ユーザーがどのように感じているかを測定する、ユーザーによって報告されるディメンションです。
幸福度を測定する一般的なアプローチは、ユーザーに対して "この製品にどの程度満足していますか?" といった顧客満足度に関する質問をすることです。 3 段階または 5 段階のユーザー回答 (例: "いいえ"、"おそらく"、"はい") を集計して、1 から 5 の製品レベルのスコアを作成します。 ユーザーが開始したフィードバックは否定的な内容に偏る傾向があるため、HEART では、定義済みの間隔でユーザーに表示するアンケートから幸福度を追跡します。
一般的な幸福度メトリックには、"平均星評価" や "顧客満足度スコア" などがあります。 カスタム ソースで説明されているカスタム インジェスト方法のいずれかを使用して、これらの値を Azure Monitor に送信します。
エンゲージメント
エンゲージメントは、ユーザー アクティビティの尺度です。 具体的には、ユーザー アクションはクリックなどの意図的な行為を指します。 アクティブな使用状況は、次の 3 つのサブディメンションに分類できます。
アクティビティの頻度: ユーザーが製品を操作する頻度を測定します。 例: ユーザーは通常、毎日、毎週、または毎月操作します。
アクティビティの幅: 特定の期間にユーザーが操作する機能の数を測定します。 例: ユーザーは 2021 年 6 月に合計 5 つの機能を操作しました。
アクティビティの深さ: ユーザーが製品を起動するごとに操作する機能の数を測定します。 例: ユーザーは、起動するごとに 2 つの機能を操作しました。
エンゲージメントの測定は、使用されている製品の種類によって異なる場合があります。 たとえば、Microsoft Teams などの製品は毎日の使用量が多いと予想され、追跡することが重要なメトリックとなります。しかし、給与支払いポータルのような製品の場合は、月単位または週単位で測定する方が理にかなっている場合があります。
重要
ボタンのクリックや入力などの意図的な操作を行うユーザーは、アクティブ ユーザーとしてカウントされます。 このため、エンゲージメント メトリックでは、Application Insights 用の Click Analytics プラグインをアプリケーションに実装する必要があります。
導入
導入により、関連ユーザーへの普及、ユーザー ベースとして獲得されているユーザー、およびその獲得方法を把握できます。 導入メトリックは、次を測定する場合に役立ちます。
- 新しくリリースされた製品。
- 新しく更新された製品。
- マーケティング キャンペーン。
保持
リテンション ユーザーとは、指定された報告期間とその前の報告期間にアクティブだったユーザーを指します。 リテンションは通常、次のメトリックを使用して測定されます。
メトリック | 定義 | 質問への回答 |
---|---|---|
リテンション ユーザー | 前の期間にもアクティブだったアクティブ ユーザーの数 | 何人のユーザーが製品へのエンゲージメントを保持していますか? |
保持 | 前の期間のアクティブ ユーザーのうち、この期間にもアクティブなユーザーの割合 | 何パーセントのユーザーが製品へのエンゲージメントを保持していますか? |
重要
アクティブ ユーザーにはアクションの種類を持ったテレメトリ イベントが少なくとも 1 つ必要であるため、リテンション メトリックでは、Application Insights 用の Click Analytics プラグインをアプリケーションに実装する必要があります。
タスク成功
タスク成功は、製品の機能を使用してユーザーが効率的かつ効果的にタスクを実行できるかどうかを追跡します。 多くの製品には、ユーザーがタスクを完了するように導くことを目的とした設計の構造が含まれています。 次に例をいくつか示します。
- カートに商品を追加してから、購入を完了する。
- キーワード を検索してから、結果を選択する。
- 新しいアカウントを開始してから、アカウントの登録を完了する。
成功したタスクは、次の 3 つの要件を満たしています。
- 想定されるタスク フロー: 機能の意図しているタスク フローをユーザーが完了し、想定したタスク フローと一致している。
- ハイ パフォーマンス: 機能の意図している機能範囲が、適切な時間内に完了した。
- 高信頼性: 機能の意図している機能範囲がエラーなしで完了した。
上記のいずれかの要件が満たされていない場合、タスクは失敗と見なされます。
重要
このため、タスク成功メトリックでは、Application Insights 用の Click Analytics プラグインをアプリケーションに実装する必要があります。
次のパラメーターを使用してカスタム タスクを設定します。
パラメーター | 説明 |
---|---|
最初の手順 | タスクを開始する機能。 カート/購入の例では、カートに商品を追加するが最初のステップです。 |
想定されるタスクの期間 | 完了したタスクを成功と見なす時間枠。 この制約外で完了したタスクはすべて失敗と見なされます。 すべてのタスクに必ずしも時間制約があるわけではありません。 このようなタスクの場合は、[No Time Expectation](時間の期待なし) を選択します。 |
最後の手順 | タスクを完了する機能。 カート/購入の例では、カートから商品を購入するが最後のステップです。 |
よく寄せられる質問
最初のイベントは、イベントがセッションに初めて表示されるか、またはセッションに出現するたびに表されますか?
視覚化の最初のイベントは、ユーザーがセッションの間にそのページ ビューまたはカスタム イベントを初めて送信した時のみを表します。 ユーザーがセッション内で最初のイベントを何回も送信できる場合、"Step 1" 列は、最初のイベントのすべてのインスタンスではなく、最初のイベントの "最初の" インスタンスの後でユーザーが行ったことだけを示します。
視覚化の一部のノードの階層が高すぎます。 ノードをより詳しく見るにはどうしたらよいですか
[編集] メニューの [次で分割] オプションを使用します。
[イベント] メニューで、分割するイベントを選択します。
[ディメンション] メニューでディメンションを選択します。 たとえば、[Button Clicked](ボタンがクリックされました) というイベントがある場合は、[Button Name](ボタン名) というカスタム プロパティを試してください。
特定の国や地域からのユーザーのコーホートを定義しました。 ユーザー ツールでこのコーホートを、その国や地域に対してフィルターを設定しただけの場合と比較した場合、なぜ異なる結果が表示されるのですか?
コーホートとフィルターは異なります。 英国からのユーザーのコーホートが存在し (前の例のように定義された)、その結果を Country or region = United Kingdom
というフィルターを設定した場合と比較するとします。
コーホートの結果には、現在の時間の範囲において英国から 1 つ以上のイベントを送信したユーザーのすべてのイベントが表示されます。 国または地域で分割した場合は、多くの国や地域が表示される可能性が高くなります。
フィルターの結果には、英国からのイベントのみが表示されます。 国または地域で分割した場合は、英国だけ表示されます。
データをさまざまな期間粒度 (日次、月次、週次) で表示する方法
[日付の粒度] フィルターを選択して、粒度を変更できます。 フィルターは、すべてのディメンション タブで使用できます。
HEART ブックでは利用できないアプリケーションからの分析情報にアクセスするにはどうすればよいですか?
ビジュアルがすべての質問に答えない場合は、HEART ワークブックの元となるデータを詳しく調べることができます。 このタスクを実行するには、Application Insights の [監視 ] セクションで [ ログ] を選択し、 customEvents
テーブルに対してクエリを実行します。 Click Analytics 属性の一部は、customDimensions
フィールドに含まれています。
クエリの例を次に示します。
customEvents
| where isnotnull(customDimensions.actionType)
| extend parentid=tostring(customDimensions.parenId),
pagename=tostring(customDimensions.pageName),
actiontype=tostring(customDimensions.actionType)
| project actiontype,parentid,pagename,
user_AuthenticatedId,user_Id,session_Id,itemType,timestamp
Azure Monitor のログの詳細については、「Azure Monitor ログの概要」を参照してください。
ワークブックのビジュアルを編集できますか。
はい。 ブック テンプレートを編集する方法については、「 Azure ブック テンプレート」を参照してください。
次のステップ
- Click Analytics Autocollection プラグインについて、GitHub リポジトリと npm パッケージを確認します。
- Google の HEART フレームワークについて詳細を確認します。
- ワークブックの詳細については、ワークブックの概要を参照してください。