Pardotの便利機能、Engagement Historyの落とし穴と対策方法についてです。Engagement HistoryとはPardot上で取得できるWebアクティティビティの情報をSalesforce側で時系列に表示できる機能となります。
Explore Salesforce Engage Features Unit | Salesforce Trailhead
Engagement Historyで表示できるアクティビティ情報の中に商談の作成情報が含まれています。だいたいこんな感じ。
イメージ (最新情報が上に来る)
商談ロスト 4/26 00:00 | 商談関連付け 4/25 15:00 | 商談作成 4/25 15:00
通常は上記のような感じでひと目で履歴が見れてわかりやすいのですが、なぜか下記のように表示されるのがありました。
商談関連付け 4/25 15:00 | 商談作成 4/25 15:00 | 商談ロスト 4/25 00:00
実際の画面を見るとよりわかりやすいのですが、商談作成日時よりも過去の日付で商談ロストの記録が表示されます。時系列で確認できるのがメリットのEngagement Historyの機能でこの挙動は困りました。。
Salesforceのサポートに確認したところ下記の仕様が原因でした。
- Pardotのアクティティビティは基本日時型の情報を保持している
- 日付型場合は0:00として扱われる。
- 商談作成や関連付けは日時型の項目から時間を取得するが、ロストの場合は商談の完了予定日から取得する。
- 商談の完了予定日は日付型の項目なので時間部分は0:00で扱われる。
↓
結果として作成日当日にロストフェーズに更新した場合、作成日時よりもロスト日時の記録が過去の記録として扱われるケースが発生する。
更にEngagement Historyの日時のTime Zoneが日本時間にならないというIssueが存在しているみたいです。
※リンク忘れたのでまた今度。
Issueの方は将来的に解決する可能性がありますが、完了予定日が日時になる可能性は低いため商談ロストが作成よりも過去の記録として表示される問題は解決しない可能性が高そうでした。
対策方法について
サポートの方に教えてもらった部分で、商談作成日とロスト日が一緒になることはレアケースとの話を聞き、下記の対策で対処することにしました。
商談ロスト時に商談作成日とロスト日が一致する場合、完了予定日を翌日日付に更新する。 → by Apexトリガ
まだ結果は未確認ですがおそらくこれで対応できると思います。