この記事では、Salesforceとのインテグレーションを初めて設定する方法について説明します。主に以下のアクティビティを実行します。
- PendoオブジェクトとSalesforceオブジェクト間で、1対1で一致する接続を確立します。Pendoの訪問者オブジェクトに接続するSalesforceオブジェクト、Pendoのアカウントオブジェクトに接続するSalesforceオブジェクトをそれぞれ1つずつ選択できます。
- プッシュ機能とプル機能(ビジネスニーズに合わせて一方または両方)を設定します。システム間で正確に一致する一意のIDを持つ同じ接続オブジェクトに属している場合、複数のフィールドをプッシュおよびプルできます。
概要記事のSalesforceとPendoのインテグレーションもあわせてお読みください。
前提条件
SalesforceとPendoのインテグレーションを活用するには、Pendoサブスクリプションへの管理者アクセス権があり、Salesforceが有効になっている必要があります。Pendo内で[設定(Settings)]>[データマッピング(Data Mappings)]ページに移動してもページの下部にSalesforceが表示されない場合は、Pendoの担当者に問い合わせて、PendoサブスクリプションにSalesforceインテグレーションを追加してください。
PendoとSalesforceのインテグレーションを認証するには、Salesforceユーザーも必要になります。個々の従業員に関連付けられたレコードを使用するのではなく、Pendo専用のSalesforceユーザーレコードを作成することをお勧めします。これにより、従業員が退職した場合にSalesforceユーザーが非アクティブ化されることを防ぎます。
このインテグレーションは、認証に使用されたSalesforceユーザーの権限を継承します。SalesforceからPendoにデータをプルするには、少なくともSalesforce側のユーザーは、「APIの有効化」権限およびSalesforceオブジェクトやフィールドに対する「読み取り」アクセス権を持っている必要があります。PendoからSalesforceにデータをプッシュするには、Salesforceユーザーには「書き込み」アクセス権も必要です。
サポート対象のデータ型
このインテグレーションは、以下のデータ型に対応しています。特定のPendoデータ型は、特定のSalesforceデータ型と一致している必要があります。これらの一致は、初期接続を設定するために一意の識別子を選択する際に最も重要になります。ただし、以下のフィールドに影響を与える可能性もあります。
- プル機能の設定時にメタデータとしてPendoにプルできるSalesforceフィールド
- 個々の訪問者またはアカウントレポートレベルでのプッシュ機能の設定時に、Pendoがデータの送信を試みるSalesforceフィールド
Salesforceプリミティブタイプ | Pendoメタデータタイプ |
int | 整数(データマッピングページでは「数値(Number)」と表示されます) |
string | 文字列(データマッピングページでは「文字列(Text)」と表示されます) |
boolean | boolean |
date | date |
datetime | time |
double | float |
例:
Salesforceフィールドタイプ | Pendoメタデータタイプ |
combobox | string |
currency | float |
string | |
id | string |
multipicklist | string |
percent | float |
phone | string |
picklist | string |
url | string |
number | integer |
上記の表に記載されていないデータ型はサポートされていません。現在、PendoはLookup Type、Record Type、Address、Hierarchy、Content(20)、URL(255)の各オブジェクトタイプには対応していません。
接続を計画する
PendoとSalesforceのインテグレーション以前に、これら2つのシステムの接続方法を計画します。その際に、以下の項目を考慮する必要があります。
- Pendoの訪問者オブジェクトに接続するSalesforceオブジェクトおよびPendoのアカウントオブジェクトに接続するSalesforceオブジェクト。これらの接続は、2つのシステム間のデータのプルおよびプッシュの両方に使用されます。
- PendoとSalesforce間で1対1で一致する一意の識別子。訪問者とアカウントに対して、それぞれ1つずつ一意の識別子を選択します。
Salesforceオブジェクトを選択する
Pendoの訪問者には1つのSalesforceオブジェクト、Pendoのアカウントには1つのSalesforceオブジェクトのみ接続できます。接続可能なデフォルトのSalesforceオブジェクトは、アカウント、資産、連絡先、リード、商談です。一般的な設定では、SalesforceのアカウントとSalesforceの連絡先の両方について、それぞれPendoアカウントとPendo訪問者にマッピングします。
また、より複雑な設定に役立つカスタムオブジェクトにも対応しています。詳細については、Salesforceの複数のオブジェクトをPendoに接続するを参照してください。
一意の識別子を選択する
それぞれのプラットフォームで1つのフィールドが完全に一致している必要があります。Pendo側では、訪問者ID、アカウントID、またはその他のメタデータフィールドを一意の識別子として選択できます。
それぞれのプラットフォームに既存の一意の識別子がない場合は、SalesforceデータをPendoアカウントIDおよび訪問者IDと一致させることをお勧めします。両プラットフォームでこれらのIDを一致させるには、PendoからアカウントIDと訪問者IDをエクスポートするための定期プロセスを設定し、これらの値を同期したいSalesforceオブジェクトのフィールドにプッシュします。Salesforceで適切なレコードを特定するために、Pendoから追加データをプルする必要がある場合もあります。これらのプロセスは、Pendoで新しい訪問者IDとアカウントIDが作成されたときに、値をSalesforceの適切なレコードに追加するために定期的に実行してください。
Salesforce側では、以下の基準を満たす任意のフィールドを選択できます。
- 「Pendo_」から始まらない。
- データ型は文字列(string)、小数(float)、または整数(integer)である。
また、一意の訪問者の識別子とアカウントの識別子に選択したフィールドが重複しないようにする必要があります。たとえば、PendoとSalesforce間の一意の識別子として訪問者用のemail
フィールドを選択した場合、そのフィールドに存在する同じメールアドレス値を持つPendoの訪問者とSalesforceの訪問者は、それぞれ一人のみです。同じ識別子(この例ではメールアドレス)を持つ重複レコードがある場合、別の一意の識別子を選択するか、インテグレーション前にレコードを整理して重複を削除する必要があります。大文字と小文字、句読点、スペースなどが異なると、Pendoが正しいレコードと照合できなくなります。
接続を設定する
接続するオブジェクトおよび一意の識別子として使用するオブジェクト内のフィールドを計画した後に、Pendoで接続の設定を開始します。
Pendoの左側のナビゲーション下部にある[設定]内の[データマッピング]ページから、Pendo管理者ユーザーが接続を設定してください。
個々の従業員に関連付けられたレコードを使用するのではなく、Pendoおよびその他のサードパーティ用のSalesforceユーザーレコードを作成することをお勧めします。これにより、従業員が退職した場合にSalesforceユーザーが非アクティブ化されることを防ぎます。
Salesforceユーザーは、Pendoに接続するSalesforceのオブジェクトとフィールドに対するAPIの有効化権限および読み取りアクセス権を持っている必要があります。Pendoの使用状況データをSalesforceにプッシュする場合、Salesforceの書き込みアクセス権も必要です。さらに、Salesforceオブジェクトの共有ルールでは、プルに含めるレコードに対するPendoインテグレーションユーザーの公開読み取り専用
アクセスを許可する必要があります。データをプッシュする場合、ユーザーは公開読み取り/書き込み
アクセスが必要となります。
Salesforceで認証する
まず、以下の手順でSalesforceによる認証を行う必要があります。
- PendoとSalesforceのインテグレーション認証に使用予定のユーザーでSalesforceにサインインします。
- 別のタブでPendoにサインインし、[設定]>[データマッピング]に移動します。このページには、[訪問者レベルのデータ(Visitor Level Data)]と[アカウントレベルのデータ(Account Level Data)]の2つのタブがあります。このセクションの手順では、どちらのタブを使用してもかまいません。
- ページの下部にある青色の[Salesforceインテグレーション(Salesforce Integration)]ボックスより[開始(Begin)]を選択し、認証の手順に従います。この操作は、[データマッピング]内のどちらのタブからでも行うことができます。訪問者レベルのデータとアカウントレベルのデータの両方に対してこのプロセスを繰り返す必要はありません。
- 緑色の成功メッセージが表示されたら、[完了(Done)]を選択します。これで、認証の手順は完了です。
マッピングを設定する
インテグレーションが正しく機能するためには、PendoとSalesforceを連携させるキーフィールドの重複がないことが重要です。Pendoの訪問者オブジェクトおよびアカウントオブジェクトの両方を同期したい場合は、[データマッピング]の各タブにて以下の手順を実行します。
- ページの下部にある青色のSalesforceボックスより、[マッピングを設定(Setup Mapping)]を選択します。
- 適切なPendoオブジェクトと接続するSalesforceオブジェクトを選択します。
- 一意の識別子として使用するPendoフィールドとSalesforceフィールドをそれぞれ選択します。
- [保存]を選択します。
これで、PendoとSalesforceのインテグレーションの初期設定は完了です。
マッピングを確認する
PendoアカウントとPendo訪問者のいずれかまたは両方にマッピングされたSalesforceオブジェクトとフィールドをメモし、それがPendoの情報と一致することを確認します。
この情報は、[データマッピング]ページの各タブで確認できます。ページの下部にある青色のSalesforceボックスより[マッピングを設定]を選択し、以下を確認します。
- Salesforceオブジェクトが期待どおりであること。
- PendoフィールドとSalesforceフィールドが一致していること。
「プル」データ同期を設定する
このセクションでは、「プル」(読み取り)データのSalesforceとの同期設定方法を説明します。Pendoにデータをプルすることで、Salesforceのデータをセグメント用の訪問者メタデータやアカウントメタデータとしてPendoに追加し、データ分析やガイドのターゲット設定に利用できます。Salesforceインテグレーションにおける「プル」機能の詳細については、概要記事のSalesforceとPendoのインテグレーションを参照してください。
Pendo管理者ユーザーとして[設定]>[データマッピング]にアクセスします。初期の接続プロセスとは異なり、[アカウントレベルのデータ]と[訪問者レベルのデータ]のデータ同期は別々に設定する必要があります。訪問者メタデータを追加する場合は[訪問者レベルのデータ]タブ、アカウントメタデータを追加する場合は[アカウントレベルのデータ]タブを使用してください。両方のデータ型をプルする場合は、タブごとに以下の手順を実行します。
- ページの下部にある青色の[Salesforceインテグレーション]ボックスより、[Pendoに追加するフィールドを選択(Pick Fields to Add to Pendo)]を選択します。
- 初期の接続プロセスで特定したSalesforceオブジェクトに含まれるフィールドから選択します。選択したフィールドは、訪問者またはアカウントのメタデータフィールドとしてPendoにプルされます。
- 選択が完了したら[完了]を選択します。
両方のデータ型をマッピングする場合は、もう一方のタブでこの手順を繰り返します。
データは24時間ごとに自動的に同期されます。また、青色の[Salesforceインテグレーション]ボックスの右下にある[今すぐ同期(Sync Now)]を選択して手動で同期することもできます。その後、メタデータがSalesforceからプルされ、Pendoの[データマッピング]ページの対応するオブジェクトにメタデータが表示されます。
「プッシュ」データ同期を設定する
このセクションでは、「プッシュ」(書き込み)データのSalesforceとの同期設定方法を説明します。Pendoの訪問者やアカウントのアクティビティデータをSalesforceの指定したオブジェクトに同期させることで、Salesforceにデータをプッシュできます。 Salesforceインテグレーションにおける「プッシュ」機能の詳細については、概要記事のSalesforceとPendoのインテグレーションを参照してください。
「プッシュ」の作成手順は以下のとおりです。
- Pendoでアカウントレポートまたは訪問者レポートを設定する。
- Salesforce管理者に、Pendoからデータをプッシュするフィールドの作成を依頼します。
- 設定したアカウントレポートまたは訪問者レポート内で[Salesforceプッシュ(Salesforce Push)]を作成します。
Salesforceにプッシュされるデータは、Pendoのアカウントレポート/訪問者レポートの内容に基づいています。Pendoで訪問者レポート/アカウントレポートを作成または表示した後、該当するレポート内で[Salesforceプッシュ]を作成し、Salesforceで表示する訪問者レポート/アカウントレポートに属する列を選択する必要があります。
Pendoは、接続を設定するために最初に選択したものと同じオブジェクトに対してデータをプッシュします。Salesforce管理者は、Pendoがデータをプッシュするために、該当するオブジェクトに属する新しいフィールドをSalesforceで作成する必要があります。
Pendoでレポートを設定する
各プッシュ同期は、個々の訪問者レポート/アカウントレポート内で設定します。必要に応じて、セグメントや日付範囲が異なる複数のレポート間での同期も設定できます。新しいレポートを作成することも、既存のレポートを活用することも可能です。Pendoのレポート設定については、訪問者レポートとアカウントレポートの記事を参照してください。Pendoの多くのアカウントはSalesforceに対応するレコードを保持しているため、アカウントの設定から始めることをお勧めします。ただし、これはすべての訪問者に当てはまるわけではありません。
一般に、訪問者レポート/アカウントレポートに追加できる列はすべてSalesforceにプッシュすることが可能です(訪問者ID列とアカウントID列を除く)。あるレポートで特定のSalesforceフィールドを選択して同期させた場合、別のレポートで同じフィールドを選択することはできません。
レポート設定時のベストプラクティスは以下のとおりです。
- まず、テストアカウント数が非常に少ないセグメントを使用します。このようなセグメントの設定が完了した後に、より広範なセグメントまたは[全員(Everyone)]を選択します。
- レポートに適した日付範囲を選択します。データは毎晩同期されますが、レポートの日付範囲は常に優先されます。
- 後にSalesforceのカスタムフィールド名として使用できるよう、日付範囲をメモしておきます。
- タグ付けされたフィーチャーやページなど、Salesforceに同期する情報のレポート列を追加して、クリック数や閲覧数を表示します。
- レポートをCSVファイルとしてエクスポートして、Salesforce管理者と共有できるように保存します。
Salesforce管理者に問い合わせる
問題を回避するために、Pendoは「Pendo_」で始まるSalesforceのカスタムフィールドにのみ書き込みを行います。そのため、Salesforce管理者は、プッシュ同期を設定する前に、対応するSalesforceの訪問者オブジェクトまたはアカウントオブジェクト内にPendoからのデータを保持するための新しいフィールドを作成する必要があります。
Salesforceのカスタムフィールドを作成するには、Salesforce管理者に以下のリクエストを送信します。
- Salesforceと同期するレポート列ごとにSalesforceのカスタムフィールドを作成してください。
- 各カスタムフィールド名の先頭は「Pendo_」にしてください。
- 対応するデータ型のカスタムフィールドを作成してください。
- Pendoに接続されているSalesforceオブジェクト上にカスタムフィールドが存在する必要があります。
- Pendo用に作成されたSalesforceユーザーには、これらのフィールドへの「書き込み」アクセス権を付与してください。
たとえば、日付範囲を「過去30日」としたレポートからの「現地時間」の推奨される出力先フィールド名は「Pendo_TimeOnSite_Last30Days」となります。この新しいフィールドは、Salesforceのデータ型が「int」または「number」である必要があります。
正しく名称付けられた出力先フィールドのみが、Salesforceへのプッシュが設定された際にマッピング可能となります。
Salesforceプッシュを作成する
Salesforceカスタムフィールドを作成したら、個々のレポート内でマッピングを設定して、データをプッシュするSalesforceフィールドをPendoに認識させることができます。
- Pendoの左側のメニューにある[ピープル(People)]タブから関連するレポートに移動し、レポートを開きます。
- [レポート概要(Report Summary)]の[Salesforceプッシュ]行の横にある[設定(Set Up)]を選択します。
- 開いたウィンドウで、各レポート列と同期させるSalesforceフィールドを選択します。このリストに含まれるSalesforceフィールドは、フィールド名の先頭が「Pendo_」であるものに限られます。有効なフィールドを選択できない場合、そのフィールドはすでに別のレポートで使用されています。
-
[日次の同期(Daily Sync)]はデフォルトで有効になっていますが、必要に応じて無効にすることもできます。設定を確認したら、[設定を保存(Save Settings)]を選択します。
[ピープル]>[アカウント(Accounts)]>[アカウントレポート(Account Reports)]または[ピープル]>[訪問者(Visitors)]>[訪問者レポート(Visitors Reports)]のレポートリスト内の[Salesforceプッシュ]列には、Salesforceとの同期が設定されているレポートが表示されます。以下は、アカウントレポートリストの例になります。
プッシュを確認する
- Pendoの左側のメニューにある[ピープル(People)]タブから関連するレポートに移動し、レポートを開きます。
- [Salesforceプッシュ]行で[今すぐ同期]を選択します。次に、Pendoは設定したマッピングに基づいて、選択したSalesforceフィールドへのデータのプッシュ(書き込み)を試行します。その際、行の末尾に回転アイコンが表示されます。
- 同期の完了を待ちます。Salesforceインスタンスに多数のレコードがある場合、この処理に時間がかかることがあります。
-
同期が完了したら、[レポート概要]の[Salesforceプッシュ]行で以下の内容を確認します。
- [日次の同期]がオンになっていること。
- 同期している列の数。
- 最後に同期が成功した日時。
最後の同期が失敗した場合、行にエラーメッセージが表示されます。このテキストにカーソルを合わせると、エラーメッセージの詳細を確認できます。複数のレポートをSalesforceに同期するよう設定している場合は、 [設定]>[エラーログ(Error Log)]に移動して、サブスクリプション全体のSalesforceエラーをスキャンして、個々のレポートを開いて詳細を確認することもできます。トラブルシューティングについてサポートが必要な場合は、Pendoサポートまでお問い合わせください。
プルデータと同様に、プッシュデータも24時間ごとに自動的に同期されます。ただし、[設定]>[データマッピング]の青色の[Salesforceインテグレーション]ボックスの右下にある[今すぐ同期]を選択して、すべてのレポートを手動で同期することもできます。
インテグレーションを確認する
このセクションでは、PendoとSalesforce間の初期接続、Salesforceプル、Salesforceプッシュの確認方法を説明します。
[設定]>[エラーログ]に移動して、Salesforceに関連する最近のエラーメッセージを確認することもできます。エラーメッセージが表示された場合、または問題が疑われる場合は、Pendoサポートまでお問い合わせください。
接続を確認する
インテグレーションの接続を確かめるには、Pendoで[設定]>[データマッピング]に移動し、ページ下部の青色の[Salesforceインテグレーション]ボックスの[1. Salesforceで認証(Authenticate with Salesforce)]および[2. マッピングを設定(Setup Mapping)]の横に緑色のチェックマークが付いていることを確認します。[訪問者レベルのデータ]タブおよび[アカウントレベルのデータ] タブをそれぞれ確認してください。
[最終同期(Last Sync)]の日時を確認してください。「完了しました!データは毎晩同期されます。XX件のSalesforceレコードが見つかりました。最終同期:2023年6月21日11:08:21 PM(Done! Your data will sync nightly. XX Salesforce records found; XX matched in Pendo. Last Sync: Jun 21, 2023 11:08:21 PM)」などと表示されます。
エントリの重複に関する警告が表示された場合、レコードのすべてが更新されていないということです。詳細については、SalesforceとPendoのインテグレーションに関するトラブルシューティングを参照してください。
Salesforceからのプルを確認する
メタデータがSalesforceからPendoに正常にプルされていることを確認するには、[設定]>[データマッピング]に移動し、青色のSalesforceメタデータフィールドを調べます。Pendoで個々の訪問者レコード/アカウントレコードを確認して、インポート済みのメタデータを閲覧することもできます。
Salesforceへのプッシュを確認する
Pendoの使用状況データがPendoからSalesforceにプッシュされていることを確認するには、Salesforceとの同期を設定した各レポートを開き、最終同期に成功した日時を調べます。Salesforceで個々の訪問者レコード/アカウントレコードを確認して、インポート済みのPendoの使用状況データを閲覧することもできます。
その他のリソース
Salesforceインテグレーションの設定プロセスを説明したAcademyの動画があります。
- 米国ドメインの方は、US Pendo Academyをご覧ください。
- EUドメインの方は、EU Pendo Academyをご覧ください。
その他のヘルプやガイダンスについては、Salesforceとのインテグレーションに関する他のコンテンツを参照してください。よくある質問については、SalesforceとPendoのインテグレーションに関するトラブルシューティングで回答しています。
よくある質問
インテグレーションで同じ識別子を持つ重複レコードが見つかった場合はどうなりますか?
重複レコードが特定された場合でも同期は実行されますが、一部のレコードが更新され、その他のレコードはスキップされます。インテグレーションでの重複レコードの処理方法およびこの状況の解決方法については、SalesforceとPendoのインテグレーションに関するトラブルシューティングを参照してください。
SalesforceのサンドボックスをPendoと同期することはできますか?
Salesforceのサンドボックスは、本番ユーザーデータを持たないSalesforceのインスタンスです。SalesforceのサンドボックスをPendoと同期することは可能ですが、まずPendoサポートがPendoサブスクリプションの設定変更を行う必要があります。設定変更を行うと、[データマッピング]ページの下部にある青色の[Salesforceインテグレーション]ボックスに赤色で[サンドボックス有効化済み(Sandbox Enabled)]と表示されます。その後、Salesforceのサンドボックスインスタンスと接続してください。
Pendoのサンドボックスのサブスクリプションという概念はありません。Salesforceのサンドボックスインスタンスを使用してテストする場合は、Pendoの少数のレコードとしか一致しない一意の識別子を選択することをお勧めします。テストが完了し、PendoをSalesforceの本番環境に接続する準備ができたら、Pendoサポートに再度ご連絡ください。Pendoサポートにてサブスクリプションを変更した後、お客様ご自身で新しい接続を設定する必要があります。
Pendoは、Salesforce APIのユーザー名とパスワードを保存しますか?
Salesforce APIのユーザー名とパスワードはPendoに保存されません。SalesforceのOAuth 2.0認証方式を使って、保存されているそのユーザーのトークンを取得します。そのトークンは、Salesforce管理者によっていつでも削除できます。
Pendoサブスクリプションに複数のアプリケーションがある場合、異なるSalesforceインスタンスへの接続や接続時の異なるマッピングの使用は可能ですか?
できません。SalesforceインテグレーションはPendo内のサブスクリプションレベルで設定されており、サブスクリプション内のすべてのアプリケーションに適用されます。
複数のPendoサブスクリプションがある場合、それらを同じSalesforceインスタンスに接続できますか?
できます。各Pendoサブスクリプションで個別の設定が可能です。接続を設定するときは、同じSalesforceインスタンスに対して認証を行います。ただし、個々のレポート内でプッシュ同期を設定する場合は注意してください。異なるサブスクリプションでレポートを設定して、同じSalesforceフィールドにプッシュすると、意図せず相互に上書きされる可能性があります。
複数のオブジェクトに接続する場合はどうすればよいですか?
Salesforceインテグレーションはこの設定用に設計されていないため、Salesforce管理者による作業が必要になります。複数のオブジェクト間でデータを同期する必要がある場合は、Salesforceの複数のオブジェクトをPendoに接続するを参照してください。