対象プランOFFLINEBUSINESSPRO
実装にかかる想定時間:約80分
イベント毎に設定する作業:キャンペーンにeventKeyとticketIdを設定する
本ページでは、APIを活用してAccount Engagement(旧:Pardot) の登録フォームから収集した登録者を、EventHubへ自動登録する方法をご紹介します。
1. はじめに
本記事でご紹介する実装方法は、Account Engagementで作成した登録フォームから登録した参加者がSalesforce上のキャンペーンメンバーとして登録され、その情報をもとにApexを利用してEventHubに登録する方法です。
企業によってSalesforceやAccount Engagementのデータの持ち方が異なりますので、上記方法以外の実装をされたい場合は社内のSalesforce AdminまたはSalesforceのカスタマーサポートまでお問い合わせください。
2. 同期設定について
イベントとの連携設定を行う前に、Account Engagement及びSalesforce間で以下の3つの同期設定を行う必要があります。既に設定されている企業様は、次のStepへお進みください。
❶ プロスペクトとリードの同期設定を行う
Account Engagementのプロスペクトとして登録されたら、Salesforceのリードとして自動登録される設定を行います。Salesforce上のリードとして登録されていない場合は新規リードで登録され、既にリードにいる場合はデータ内容が同期されます。
公式ページ:プロスペクトの同期
❷ SalesforceとAccount Engagement間のキャンペーン同期設定を行う
Salesforceで作成したキャンペーンがAccount Engagementへ同期される設定を行います。
公式ページ:Connect Account Engagement and Salesforce Campaigns
❸ SalesforceとAccount Engagement間のキャンペーンメンバー同期設定を行う
キャンペーンメンバーがSalesforceとAccount Engagement間で同期される設定を行います。
プロスペクトがSalesforceのキャンペーンメンバーとして表示されるようになります。
公式ページ:Campaign Member Sync
3. カスタムフィールドのデータ連携について
EventHubには、[メールアドレス、姓、名、所属先、部署、役職]のようにデフォルトで設定されている登録項目があります。それ以外のデータ(例:電話番号、人数規模、都道府県etc)を登録者から収集したい場合は、"カスタムフィールド"を作成する必要があります。カスタムフィールドのデータをAccount EngagementからEventHubに連携する際には、以下の設定を行いましょう。
<tips>EventHub上にカスタムフィールドのデータを保持する必要がない場合は、本項目はスキップしてください。EventHubからレポートをダウンロードする際に、カスタムフィールドのデータが必要な場合のみ先へお進みください。</tips>
❶ Salesforceのリードオブジェクトに項目を作成
プロスペクトに蓄積するカスタムフィールドのデータを、Salesforceのリードとしてデータ連携するために、リードオブジェクトへカスタムフィールドと同じ項目を追加します。
この時、ドロップダウンやチェックボックスの場合は選択肢も作成しましょう。
手順)[設定]>[オブジェクトマネージャ]>[リード]>[項目とリレーション]>[新規]
❷ Account Engagementのフォームにカスタムフィールドを作成
Account Engagementで作成した登録フォームに、カスタムフィールドを作成します。
この時、3-❶で作成したリード項目との紐付けを行います。
手順)[コンテンツ]>[フォーム]>[フォームを追加]>[②項目]
❸ EventHubのプロフィールに項目を追加
Salesforceのリード情報を元にEventHubへデータ連携をするため、EventHubにも同様にカスタムフィールドを作成します。こちらも3-❶と同様に、ドロップダウンやチェックボックスの場合は選択肢も作成しましょう。
手順)プロフィール項目を新規作成する
上記❶〜❸のフィールド作成を行うことで、Account Engagementで取得したカスタムフィールドのデータが、Salesforceのリードを通じてEventHubのカスタムフィールドに連携される仕様となっています。
<attention>Account Engagementでフォームを作成した場合、EventHubの利用規約及びプライバシーポリシーに同意した上で登録が行われるようにしてください。詳細は参加者からEventHub利用規約・プライバシーポリシーの同意を取得するをご覧ください。</attention>
4. キャンペーンオブジェクトに項目を作成する
次に、Salesforceの[設定]>[オブジェクトマネージャ]からキャンペーンオブジェクトへ、EventHubで作成したイベントのeventKeyと、登録用に作成したチケットフォームのticketIdを入力する項目を作成します。こちらの項目には、キャンペーンを作成する度に入力する必要があります。
- eventKey(テキスト型)
- ticketId(テキスト型)
5. 設定手順
上記の手順2~4の設定が完了したら、早速参加登録の設定を以下の手順に沿って行いましょう。
❶ EventHubでチケットフォームを作成する
EventHubで開催するイベントのチケット・フォームを作成します。
Account Engagementで作成したフォームから登録したユーザーは、チケット・フォームを通してEventHubへユーザー登録がされます。
以下のページを参考にチケット・フォームを作成しましょう。
登録期限や上限数、ユーザータイプ[来場者/出展者]、コンテンツグループの設定なども反映されます。
<attention>
- イベントの閉鎖日時を過ぎると登録ができません。
- チケット・フォームの登録期限や上限数を超えると登録ができません。
- ステータスが販売中・非公開の場合は登録が可能ですが、準備中の場合は登録ができません。
- API連携では有料チケットの作成ができません。
上記のいずれかが該当した場合、「Ticket cost must be free and status on sale or private to register a user」というエラーが出現し、ユーザー登録ができません。EventHubのチケット設定を変更してください。</attention>
❷ Salesforceでキャンペーンを作成する
Salesforceでキャンペーンを作成します。
4. キャンペーンオブジェクトに項目を作成するで作成した項目[eventKey]と[ticketId]には
API連携に必要なIDを取得するを参考に、作成したイベントとチケットフォームのIDを入力します。
キャンペーンを[有効化]に設定して[保存]すると、SalesforceとAccount Engagement間のキャンペーン同期により、Account Engagement上でもキャンペーンが確認できるようになります。
❸ Account Engagementでフォームを作成する
Account Engagementで登録フォームを作成します。作成時の[完了アクション]では、[キャンペーンに追加]を選択し、5-❷で作成したキャンペーンを設定します。
登録後に遷移するサンクスページには、以下のように仮登録中であることを示すとパスワード設定率が向上します。パスワード設定率が向上すると、ログイン率も高まりますのでご参考ください。
❹ APIキーを発行する
APIキーの発行方法を参考に、EventHubからAPIキーを発行します。
こちらのキーは次の手順で必要となります。一度発行したら二度と表示されませんので、発行時 メモに控えるようにしてください。
❺ アプリをインストールする
<tips>Salesforceにアプリをインストールする必要があります。インストール用のURL・インストールキーは担当のカスタマーサクセス、またはカスタマーサポートまでお問合せください。</tips>
1. インストール用のURLへアクセスし、[インストールキー]を入力します。
[すべてのユーザのインストール]を選択し規約に同意後、[インストール]をクリックします。
2. サードパーティーWebサイトへのアクセスを許可します。
3. インストール完了までお待ちください。完了まで最大30分かかる場合があります。
❻ フローを作成する
Salesforceの[設定]>[プロセスの自動化]>[フロー]から以下のようなフローを作成します。
1. レコードトリガーフロー
オブジェクト:キャンペーンメンバー
トリガ:レコードが作成された
最適化:アクションと関連レコード
エントリ条件の要件:なし
2. 決定
キャンペーンメンバーに紐づくキャンペーンIDのeventKey,ticketIdが空の場合は終了、値が入っている場合はEventHubに参加登録をする、という分岐を作成します。
3. Apex アクション
5-❺でインストールが無事完了していると、Apex「Create to EventHub with Flow」を呼び出すことができます。eventKey,ticketIdの値が入っている分岐の方で、「Create to EventHub with Flow」というApexを検索してください。
[完了]をクリック後、データ連携したい項目を以下のように入力します。
01. apiKey | 5-❹で発行したAPIキーを貼り付ける |
02. eventKey | {!$Record.Campaign.eventKey__c} |
03. ticketId | {!$Record.Campaign.TicketId__c} |
04. メールアドレス | {!$Record.Email} |
05. 姓 | {!$Record.LastName} |
06. 名 | {!$Record.FirstName} |
07. 所属先・会社 | {!$Record.CompanyOrAccount} |
08. 部署 |
{!$Record.Department} |
09. 役職 | {!$Record.Title} |
10. 一言メッセージ | [プロフィール項目]にデフォルトで設定されている項目です。登録フォームで一言メッセージを収集する場合は、こちらも連携設定をしてください。(例:{!$Record.message}) |
11. カスタムフィールドキー1 | customFieldIdを入力します。 例:EventHubで都道府県というカスタム項目を作成するとき、prefecturesという名称の項目IDを設定します。カスタムフィールドキー1には「prefectures」を入力します。 |
12. カスタムフィールドキー値1 | Salesforceからカスタムフィールドキー1に対応する項目のデータを取得します。 例:Pardotで収集した都道府県のデータを{!$Record.prefectures}と入力して抽出します。 |
13. カスタムフィールドキー2 | customFieldIdを入力します。 |
14. カスタムフィールドキー値2 | Salesforceからカスタムフィールドキー2に対応する項目のデータを取得します。 |
カスタムフィールドの個数に応じてカスタムフィールドキーを設定してください。
<tips> Account EngagementからEventHubにへ連携できるカスタム項目は最大10件です。</tips>
完了をクリックして、フローを有効化します。
❼ 検証を行う
これで全ての設定は完了です。問題なくEventHubへ参加登録ができるか、検証をしてみましょう。
<tips> 連携がエラーとなった場合は、管理者のメールアドレスへ以下のようなメールがSalesforceから配信されます。
技術者向けAPIドキュメントに記載のエラーレスポンスを参照しながらエラーを解消してください。
</tips>
次の手順では、Account Engagementフォームから登録したユーザーがEventHubへログインするまでの導線をご説明します。
6. 登録からログインまでの導線
APIでAccount EngagementとEventHubを連携した場合、以下の導線で参加者はイベントページにログインすることになります。
① Account Engagementで作成した登録フォームから参加登録をする
② EventHubからパスワード設定案内のメールを受信する
③ パスワードを設定する
④ パスワード設定完了メールを受信する
⑤ イベントページへログイン
<tips>パスワード設定[なし]でイベントを作成した場合は、パスワードの設定手順③④がありません。</tips>
この時、②で配信されるメールは[メール]>[システムメール]の[埋め込みフォーム・API連携のパスワード設定 ]から編集してください。「申し込みありがとうございました」という文言を記載するとパスワード設定をせずに離脱するケースがあるため、"良い例"を参考にパスワード設定を促すシンプルな文章にしましょう。
④で配信されるメールは[メール]>[システムメール]の[EXCELアップロード・埋め込みフォーム・API連携・Marketo連携・同僚招待の登録完了]から編集してください。
7. サポート対応について
こちらでご紹介する方法は、提供する情報の継続や正確性を完全に保証するものではありません。実装方法に関するご不明な点はSalesforceカスタマーサポート、もしくは社内のSalesforce Adminへお問い合わせください。
機能や取得したいAPI情報が足りない場合は、ご要望としてお伺いしますので、EventHubカスタマーサポートへお問い合わせください。