Skip to main content

AppExchange App Analytics について知る

学習の目的

この単元を完了すると、次のことができるようになります。

  • AppExchange App Analytics のデータ種別を挙げる。
  • パッケージログファイル、パッケージ利用状況概要、登録者のスナップショットという各データ種別のビジネスユースケースを認識する。

AppExchange App Analytics とは?

Robert は潜在顧客が AppExchange リスティングをどのように操作しているかに関するデータを取得しました。次に Robert が必要としているのは、登録者が Cloudy Health ソリューションとそのコンテンツをどのように利用しているかに関するデータです。 

App Analytics は、登録者が AppExchange ソリューションをどのように操作しているかに関する利用状況データを提供します。このデータを使用して、次のことを行います。

  • 顧客離れのリスクを特定する。
  • 機能開発の決定に役立つ情報を提供する。
  • 登録者エクスペリエンスを向上させる。

一般的な使用事例

Leung と Robert は、アプリケーション 3.0 の開発フェーズで自分たちがビジネス判断を下すのに App Analytics のデータが役に立つと理解していますが、App Analytics は他の同僚にも役立つのでしょうか? もちろんです。App Analytics は、さまざまな使用事例をサポートしています。

パートナーユーザー 目標 App Analytics がどのように役立つか

プリセールスエンジニアまたはアカウントエグゼクティブ

  • 完全なトライアル体験を提供する
  • 商談を成立させる
  • ユーザーがパッケージをどのように試用しているかを分析する
  • 見込みのある登録者に合わせてカスタマイズしたおすすめを提案する

カスタマーサクセス担当者

  • 機能の利用を推進する
  • 登録者離れを最小限に抑える
  • ユーザーがソリューションをいつどのように利用しているかを把握する
  • 複数のパッケージでのユーザーの活動を追跡する

製品マネージャー

  • 製品のインサイトを取得する
  • ロードマップの優先順位付けを推進する
  • 最もよく使用される機能を特定する
  • ユーザーの課題を特定する

ソフトウェアエンジニア

  • コードを最適化する
  • Apex データと登録者のスナップショットコンソールを組み合わせて登録者の問題をトラブルシューティングする

App Analytics のしくみ

上記のように App Analytics の目標を明確にしたら、次に必要なのは App Analytics に登録者データを取り込むことです。そのしくみがわかりやすいように、次に Cloudy Health の例を紹介します。

  1. Cloudy Health の登録者は、年次健康診断を受けるリマインダーを作成します。
  2. このインタラクション (オブジェクトの作成) は、ログファイルのデータ行として Salesforce に保存されます。
  3. Salesforce コードによって、ログ行が保存、整理され、取得できるようになります。
  4. Robert は App Analytics クエリ要求を作成し、要求したデータを目的の形式で取得します。“”

App Analytics は、セキュリティレビューに合格し、ライセンス管理アプリケーション (LMA) に登録されているパッケージで使用できます。データを視覚化するには、CRM Analytics またはサードパーティの分析ツールを使用します。

App Analytics には、任意の時点のスナップショット、月次概要、時系列という 3 つのデータ種別があります。各データ種別は、一部の CRUD (作成、参照、更新、削除) 活動とその他のデータ (登録者別のカスタムオブジェクトレコード数など) を提供します。 

メモ

AppExchange の App Analytics には、「AppExchange Program Policies (AppExchange プログラムポリシー)」で説明されている使用制限があります。パッケージログファイルと登録者のスナップショットを要求して取得するには、Salesforce パートナーコミュニティでサポートケースを登録して、セキュリティレビュー済み管理パッケージで App Analytics を有効化する必要があります。ただし、パッケージ利用状況概要は、有効化しなくてもアクセスできます。

データの種類 説明 内容

登録者のスナップショット

ソリューションの登録者アカウントの任意の時点の活動を記録した小さなファイル

ユーザー固有の活動は含まれません

含まれる: 本番組織とトライアル組織のイベントからのオブジェクトレコード数

除外: Sandbox 組織とスクラッチ組織のイベント

パッケージ利用状況概要

カレンダー月ごとに集計された概要の総計値を提供する中サイズのファイル 

含まれる: 本番組織のイベント

除外: Sandbox 組織、スクラッチ組織、トライアル組織のイベント

パッケージログファイル

利用可能なすべてのデータ (UI、API ベース、Lightning ベース、Apex 操作) を含む大きなファイル

CRUD 操作は、パッケージ内のすべてのコンポーネントとカスタムオブジェクトについてパッケージごとに記録されます

含まれる: 本番組織、Sandbox 組織、トライアル組織のイベント

除外: スクラッチ組織のイベント

App Analytics についてのヒントがもっと必要ですか? 『Second-Generation Managed Packaging Developer Guide (第二世代管理パッケージ開発者ガイド)』の「App Analytics Use Cases (App Analytics の使用事例)」を参照してください。Salesforce と一緒に App Analytics のデータ種別も進化します。Salesforce リリースノートと『Second-Generation Managed Packaging Developer Guide (第二世代管理パッケージ開発者ガイド)』の「Get Started with AppExchange App Analytics (AppExchange App Analytics の使用開始)」で定期的に最新情報を確認してください。

Robert の次のステップは、各データ種別のディメンション (絞り込みと集計に使用されるデータ列) と基準 (KPI の作成に使用される評価指標値) を調べることです。パッケージ利用状況概要、パッケージログファイル、登録者のスナップショットという各データ種別のディメンションと基準の完全なリストは、『Second-Generation Managed Packaging Developer Guide (第二世代管理パッケージ開発者ガイド)』で確認できます。 

メモ

App Analytics データを取得する API コールの実行方法の説明はいつあるのだろうかと考えていますか? ご安心ください。このモジュールの後半で説明します。

パッケージ利用状況概要

パッケージ利用状況概要には、UI、API、Lightning、Apex の操作に関連するデータが含まれます。概要は、翌月の初めに使用可能になります。たとえば、3 月の利用状況概要は、4 月の初めに入手できます。

パートナーと登録者はどちらもパッケージ利用状況データにアクセスできます。パートナーは、パッケージを所有する LMA 組織から SOAP API で AppAnalyticsQueryRequest オブジェクトを使用して概要を要求します。登録者は、組織の [Package Usage (パッケージの利用状況)] ページから、インストールしたセキュリティレビュー済みパッケージの利用状況概要をダウンロードします。

主要なディメンション:

  • managed_package_namespace: ソリューションを識別します。
  • custom_entity_type: カスタムオブジェクトまたはコンポーネントの種別 (Lightning コンポーネントなど) を示します。
  • custom_entity: 登録者がアクセスしたコンポーネントまたはカスタムオブジェクトを識別します。
  • month: 利用状況概要の月を表します。
  • organization_id: 登録者組織の 15 文字の ID です。
  • user_id_token: パッケージにアクセスしたユーザーの匿名化された ID です。ユーザーの詳細が変更されてもトークンは一定期間保持されます。
  • user_type: UI または API を介して Salesforce サービスにアクセスしているユーザーのユーザーライセンスカテゴリを識別します。

次の基準は、特定の種別のコードに対するさまざまな種別のアクションをカウントします。

基準 コードの種別

num_events

Apex の実行、CRUD 活動

num_creates 

num_deletes

num_reads

num_updates

カスタムオブジェクト

num_views

Lightning コンポーネント、カスタム Visualforce コード

登録者のスナップショット

登録者のスナップショットでは、任意の時点のカスタムエンティティ、パッケージ、組織データを参照します。日付範囲を要求し、その範囲内の有効な日付ごとに 1 つのスナップショットを受け取ります。たとえば、StartTime=2023-01-18T00:00:00Z EndTime=2023-01-21T00:00:00Z は、1 月 18 日、1 月 19 日、1 月 20 日の合計 3 つのスナップショットを返します。 

パッケージログファイル

パッケージログファイルには、午前 12:00 ~午前 12:00 (UTC 時間) の 24 時間における登録者の活動がリストされます。管理パッケージにはパッケージ化されたコンポーネントが含まれ、パッケージ利用状況ログの各行では、ユーザーがいずれかのコンポーネントに対して行ったインタラクションが記述されます。 

インタラクションを理解するには、ログの各行 (またはレコード) を分析して、以下に着目します。 

  • アクセスされたパッケージ化コンポーネント
  • パッケージ化されたコンポーネントを誰が操作したか
  • パッケージ化されたコンポーネントのインタラクションはどのように行われたか

最後に、特定のインタラクションデータを分析します。次の表を使用して、分析の主要なログデータ要素を判断します。

アクセスされたパッケージ化コンポーネント コンポーネントを操作したユーザー ユーザーがコンポーネントをどのように操作したか

パッケージ化されたコンポーネントを一意に識別するには、次の項目を組み合わせます。

  • package_id
  • package_version_id
  • managed_package_namespace
  • custom_entity
  • custom_entity_type

organization_id を使用して登録者組織を特定します。 

user_id_token を使用して、インタラクションに関連付けられているユーザーを特定して記述します。

パッケージ化されたコンポーネントをユーザーがどのように操作したかは、log_record_type で特定します。

それぞれのインタラクションに関連付けられているその他の一般的な項目は次のとおりです。

  • request_id
  • timestamp_derived

パッケージ利用状況ログの内容と、使用可能なすべてのデータ要素の分析方法についての詳細は、『Second-Generation Managed Packaging Developer Guide (第二世代管理パッケージ開発者ガイド)』の「How to Read App Analytics Package Usage Log Data (App Analytics パッケージ利用状況ログデータの読み方)」を参照してください。

どのパッケージを誰がどのように操作したかを特定したら、次は特定のインタラクションデータを分析します。

カスタムオブジェクトと外部オブジェクトのインタラクションデータ

パッケージ利用状況ログに custom_entity_typeCustomObject または ExternalObject であるログレコードがある場合は、オブジェクトが作成、参照、更新、削除 (CRUD) される原因となったアクションをユーザーが実行したことを意味します。

パッケージ化されているコンポーネントで発生した CRUD の種別と回数を確認するには、以下に着目します。

  • operation_type
  • operation_count

Apex REST API 要求、SOAP API 要求、スケジュール済みジョブの実行、キュー可能 Apex 実行など、多くのユーザー操作によって CRUD が発生します。操作で使用可能な標準データと補足データの詳細については、『Second-Generation Managed Packaging Developer Guide (第二世代管理パッケージ開発者ガイド)』の「Custom and External Object Interactions (カスタムおよび外部オブジェクトのインタラクション)」を参照してください

Lightning インタラクションデータ

パッケージ利用状況ログで custom_entity_type が LightningComponent または LightningPage である各レコードは、パッケージ化された Lightning コンポーネントまたはページとのインタラクションを記述します。

ユーザーがパッケージ化された LightningPage または LightningComponent コンポーネントを操作すると、log_record_type の LightningInteraction が作成されます。ユーザーが Lightning ページを表示すると、log_record_type の LightningPageView が作成されます。 

Apex インタラクションデータ

パッケージ利用状況ログで custom_entity_type が ApexClass または ApexTrigger である各レコードは、パッケージ化された Apex クラスまたはトリガーとのインタラクションを記述します。Visualforce インタラクションデータ

パッケージ利用状況ログで custom_entity_type が VisualforcePage である各レコードは、パッケージ化された Visualforce ページとのインタラクションを記述します。

CRM Analytics アセットのインタラクションデータ

パッケージ利用状況ログで custom_entity_type が AnalyticsDashboard、AnalyticsLens、または AnalyticsRecipe である各レコードは、パッケージ化された CRM Analytics アセットとのインタラクションを記述します。

この単元では、AppExchange App Analytics の 3 つのデータ種別について学習し、各種別の使用事例について知りました。また、各データが何を表すのかも学習しました。次の単元では、Robert と Leung が App Analytics を取得し、データ要求を自動化します。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる