Salesforce 移行支援
データ品質を先に固め、外部ID設計と分割ロードでガバナ制限を回避します。 CRMの移行では顧客重複排除と名寄せが最優先課題です。旧システムの重複・テストデータをそのまま移行すると「ゴミを入れたらゴミが出る」状態になります。
顧客重複排除・名寄せ
移行前にメール・電話・会社名の複合キーで重複を特定・統合。業務担当者によるデータ確認を必須とする。
外部IDによる親子紐付け
旧システムIDを外部ID項目として設計し、Account→Contact→Opportunityの親子関係を正確に再構築する。
ガバナ制限への対応
移行中はワークフロー・自動通知を停止。バッチサイズ調整と分割ロードで制限を回避する。
オブジェクトの移行順序(親→子の順で投入)
Salesforceのオブジェクト間には厳密な親子関係があります。依存関係に基づき必ず「親から子へ」の順序で移行します。
| 順序 | オブジェクト | 親オブジェクト | ポイント |
|---|---|---|---|
| 1 | 取引先(Account) | —(ルートオブジェクト) | 会社・組織の基本情報。最初に移行する。外部IDを必ず設定する。 |
| 2 | 取引先責任者(Contact) | 取引先(Account) | Accountとの親子関係を外部IDで紐付ける。Accountが先に存在することが前提。 |
| 3 | 商談(Opportunity) | 取引先(Account) | AccountのIDで紐付ける。ContactRole(関係者)はOpportunity移行後に設定。 |
| 4 | ケース(Case) | 取引先 / 取引先責任者 | サポート履歴。Account・Contact移行後に投入する。 |
| 5 | カスタムオブジェクト | 対象オブジェクトに依存 | 標準オブジェクトとのリレーション設計を確認し、親オブジェクト移行後に投入する。 |
移行ツールの選択肢と使い分け
| ツール | 種別 | 処理件数 | 特徴 | 向いているケース |
|---|---|---|---|---|
| Data Loader | Salesforce公式 | 最大500万件 | 大規模移行の標準的な選択肢。バッチサイズ調整が可能。 | 大規模移行・定期バッチ |
| インポートウィザード | Salesforce公式 | 最大5万件 | ブラウザ操作で簡単。簡易な少量移行向け。 | 少量・シンプルな移行 |
| Dataloader.io | クラウドツール | 大量対応 | ブラウザベースで操作が簡単。MuleSoft製。スケジュール実行も可能。 | クラウド環境・定期同期 |
| MuleSoft / Boomi | iPaaS | SaaS間連携 | SaaS間のAPI連携に強い。サーバー構築不要。月額費用が発生。 | Salesforceを中心としたSaaS連携 |
| Informatica / DataSpider | 有償ETL | 大量データ | ミスを防ぐ高機能GUI。大量データを高速処理。ライセンス費用が高額。 | ミッションクリティカル・基幹連携 |
よくある失敗例と対策
⚠️ 顧客重複を無視して移行
原因:旧システムの重複顧客レコード・テストアカウントをそのまま移行すると、新システムで二重入力・誤った売上集計・不正なワークフロー発火が発生する。
対策:COUNTIFなどで重複を洗い出し、メール・電話・会社名の複合キーで名寄せを実施。移行前に専任の業務担当者がデータを確認・承認する体制を作る。
⚠️ 外部ID未設定による関係データの孤立
原因:Account→Contact→Opportunityの親子関係を再構築する際、外部IDを設定していないと親レコードとの紐付けができず、大量の「孤立レコード」が発生する。
対策:旧システムIDを外部ID項目として事前に設計し、全オブジェクトで一貫して使用する。移行後は件数だけでなくリレーションの整合性も検証する。
⚠️ ワークフロー・自動通知の誤作動
原因:移行中に既存のワークフロー・自動化プロセスが動作し、大量のメール通知送信・外部システムへの誤データ連携・権限エラーが発生する。
対策:移行作業開始前にワークフロールール・フロー・Apexトリガーを一時停止する。移行完了・検証後に再有効化する。
⚠️ ガバナ制限によるタイムアウト
原因:API制限・1トランザクションあたりのレコード上限・CPU時間制限などのガバナ制限に引っかかり、大量データ投入中に処理がタイムアウトして中断される。
対策:バッチサイズを調整し、移行を時間帯を分けて複数回に分割する。深夜の低負荷時間帯に実施するのも有効。