tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:キャンペーンメンバーの状況が更新できなくてハマった話

キャンペーンメンバーの状況が更新できなくてハマった話。必要になった要件に対してキャンペーンの機能を使って対応しようとオブジェクト設定を行いデータを登録したのですが、キャンペーンメンバーの状況を更新しようとしたところ、データが更新されたメッセージが表示されたもののデータが古い値のままという現象が発生しました。

f:id:tyoshikawa1106:20190602203504p:plain


挙動はこんな感じ

  1. キャンペーン詳細ページにアクセス
  2. キャンペーンメンバー関連リストを表示
  3. 対象の取引先責任者レコードにチェックをつける
  4. 状況の更新ボタンをクリック
  5. 変更後の状況の値を選択
  6. 「1 人のキャンペーンメンバーが正常に「レスポンスあり」の状況に更新されました。」とメッセージが表示される
  7. データを確認すると値が変更前のままとなっている。


この現象が発生する前にPardot接続によりConnectedという値が自動生成されたこともあり、そのあたりが関係しているのかなとそれ含めてサポートに問い合わせてみました。

原因と解決方法

結果としてPardotとの接続は関係ありませんでした。原因は状況リスト値でラベルとAPI名を異なる値にしていたためでした。詳細は下記のとおり。

キャンペーンメンバーの状況リスト値でラベルとAPI名を異なる値にした場合にデフォルト値に戻る。そのため存在しない値がで更新しようとしたことになり、データ更新が実行されないという挙動になったようです。


選択リストのラベル名とAPI名を別の値にするのはどのオブジェクトでも使える便利機能ですが、キャンペーンメンバーでは別の値にすることはできないことが確認できました。ほぼ不具合だと思いますが、修正の予定はないとのことです。詳細はこちら。
f:id:tyoshikawa1106:20190602204150p:plain

Campaign member status reverts to default value, if selected picklist value label/Api name is different.


カスタマイズミスが原因ではなく、またこの問題は修正されないことが確認できたので今回はラベルとAPI名を同じ値になるようにして解決しました。

Pardot連携によるConnected値について

こちらもサポートの方に調べてもらいました。PDFにまとめられているみたいです。
f:id:tyoshikawa1106:20190602205124p:plain

http://www2.pardot.com/ConnectedCampaignsFAQ