MarketoとSalesforceを連携して運用していると、ある日突然「Salesforceにリードが来ない」「Marketoの情報がSalesforceに反映されていない」という状況に直面することがあります。
営業側から「データが更新されていない」と言われて初めて気づくケースも少なくありません。同期の問題は静かに起きます。エラーが目立つ場所に表示されるわけではなく、どこを見ればいいかがわからないまま時間だけが過ぎていく、というのがよくあるパターンです。
この記事では、MarketoとSalesforceの同期が止まる原因とその確認手順を、実際に現場で多く遭遇するものから順に整理します。
まず知っておきたい:同期の仕組み
MarketoとSalesforceの同期は、1回のサイクルが終わったあと、約5分の待機を挟んで次のサイクルが始まります。1サイクルの処理時間はデータ量によって変わるため、「5分ごとに必ず更新される」ではなく、「最短でも5分以上の間隔がある」という理解が正確です。
データの流れには方向があります。リードと取引先責任者、Salesforceキャンペーンは双方向の同期です。どちらか一方で変更されると、もう一方にも反映されます。一方、商談・取引先・ユーザーなどはSalesforceからMarketoへの一方向のみで、MarketoからSalesforceへの書き戻しはできません。「双方向で同期されているはず」という前提でいると、この違いに気づかないまま設定ミスを続けてしまうことがあります。
もう一つ重要な前提があります。Marketoで新規に作成されたリードは、設定しない限り自動的にSalesforceに流れません。 スマートキャンペーンのフローステップで「SFDCにリードを同期」を明示的に設定する必要があります。これを知らずに「Salesforceにリードが来ない」と困っているケースは、特に引き継ぎ直後に多く見られます。
同期エラーの切り分けのステップ
この前提を踏まえたうえで、以下の確認手順を進めてください。
Step 1:まず同期エラーのログを確認する
MarketoのAdmin画面には、同期のエラーログが記録されています。
確認場所: 管理者 → 統合 → Salesforce → 同期エラー
ここには過去5日分のエラーが表示されます。エラーには「ジョブレベル」と「レコードレベル」の2種類があります。
- ジョブレベルのエラー:同期処理全体が止まっているケース。接続の問題や権限の問題が多い
- レコードレベルのエラー:特定のレコードだけが失敗しているケース。データの内容やSalesforce側の制御ルールが原因になることが多い
エラーが大量に並んでいる場合は、同じエラーメッセージが繰り返されていないかを確認します。同じメッセージが集中していれば、一つの原因が複数レコードに影響している可能性が高く、そこから手を付けるのが効率的です。
エラーログが空の場合は、同期自体は動いているものの、対象のレコードが同期の条件を満たしていないかもしれません。次のステップに進んでください。
Step 2:同期ユーザーの権限を確認する
MarketoはSalesforceに専用の「同期ユーザー」でアクセスします。このユーザーのパスワードが変わっていたり、権限が変更されていたりすると、同期全体が止まります。
確認すべき内容:
- 同期ユーザーのパスワードが変更されていないか(Salesforce側のパスワードポリシーで自動失効することがある)
- 同期ユーザーのプロファイルに「APIアクセス」が有効になっているか
- 同期対象のオブジェクト(リード・取引先責任者・商談など)に対して読み書きの権限があるか
- フィールドレベルのアクセス設定(Field-Level Security)で、同期対象フィールドが見えない状態になっていないか
特にフィールドレベルのアクセス設定は見落とされがちです。Salesforce側でフィールドを追加・変更した際に、同期ユーザーのプロファイルへのアクセス設定を忘れた、というのは実際に多いパターンです。この場合、エラーログに何も出ず、値が更新されないだけ、という「静かな失敗」になりやすいです。
確認場所(Salesforce側): 設定 → プロファイル → 同期ユーザーのプロファイルを選択 → フィールドレベルセキュリティ
Step 3:Salesforce側の検証ルールと必須項目を確認する
Salesforce側で設定されている「入力規則(バリデーションルール)」や必須項目の設定が、Marketoから送られるデータを弾いている場合があります。
エラーログに以下のようなメッセージが出ていたら、このケースを疑います。
FIELD_CUSTOM_VALIDATION_EXCEPTION:Salesforceの入力規則に引っかかっているINVALID_OR_NULL_FOR_RESTRICTED_PICKLIST:選択リストに存在しない値を送ろうとしているREQUIRED_FIELD_MISSING:Salesforce側で必須になっているフィールドに値がない
たとえば、Salesforceで「都道府県」を必須項目にしていた場合、Marketoから都道府県が空のまま送られるとエラーになります。また、Salesforceの選択リストに「東京」という値を追加したが、Marketo側の選択肢には反映されていない、という場合も同様です。
Salesforceの管理者と連携して、最近入力規則や必須設定を変更していないかを確認するのが最短ルートです。
Step 4:スマートキャンペーンのロジックを確認する
同期エラーが出ていないのにデータが流れない場合、スマートキャンペーン側の設定を疑います。
Marketoでリードを新規にSalesforceへ送るには、スマートキャンペーンのフローステップに「SFDCにリードを同期(Sync Lead to SFDC)」を明示的に設定する必要があります。この設定がない、もしくは条件(スマートリスト)が絞り込みすぎていて対象に入っていない、というケースが多いです。
確認ポイント:
- 「SFDCにリードを同期」フローステップが設定されているか
- スマートリストの条件が意図通りか(複数の条件がANDで重なって誰も該当しない状態になっていることがある)
- スマートキャンペーンが「有効」になっているか
スマートキャンペーンを引き継いだ場合は特に注意が必要です。過去の担当者が設定したロジックが、現在の運用とずれている状態でそのまま動いていることがあります。
Step 5:重複レコードの問題を確認する
Salesforce 側の重複ルールに一致した場合、Marketo から Salesforce への新規同期が拒否されることがあります。
エラーログに DUPLICATES_DETECTED と表示されていたら、このケースを疑います。
このエラーは、Marketo 側の問題というより、Salesforce が重複と判定して受け入れを拒否している状態です。
一致条件は Salesforce 側の重複ルールで決まるため、原因は同じメールアドレスとは限りません。氏名や会社名など、他の条件で重複と判定されることもあります。
この場合の対処は、まず Salesforce 側で対象レコードを確認し、どの条件で重複と判定されているかを特定することです。
そのうえで、既存レコードの整理を行うか、必要に応じて Salesforce の重複ルールを見直します。
ただし、重複ルールの変更は他の登録処理にも影響するため、Salesforce 管理者と相談しながら進めるのが安全です。
Step 6:同期の順番と処理量の問題を確認する
MarketoからSalesforceへの同期には処理の優先順位があります。リードが先に処理され、その後に取引先責任者、商談、キャンペーンなどが続きます。また、1時間あたりに処理できるレコード数には上限があるため、大量のリードを一度に流した場合は順番待ちが発生します。
急いで大量データを同期した場合は、数時間かかることがあります。数十万件規模の大量更新では数日に及ぶ場合もありますが、通常規模の運用ではそこまでになることはまれです。「同期が止まっている」と見えても、実際は処理待ちのキューに並んでいるだけということも少なくありません。
この状態の確認は、同期エラーログではなく「同期ステータス」の画面で行います。
確認場所: 管理者 → 統合 → Salesforce → 同期ステータス
ここで「失敗」の件数が増え続けていれば問題ありますが、「処理待ち」件数が多いだけであれば、しばらく待って状況を見ることも選択肢に入ります。
よくある原因の一覧
| 原因 | エラーの出方 | 確認場所 |
|---|---|---|
| 同期ユーザーのパスワード失効 | ジョブレベルエラー | Marketoの通知 / Salesforceのユーザー設定 |
| フィールドの権限設定漏れ | エラーなし、値が更新されない | SalesforceのFLS設定 |
| Salesforceの入力規則 | レコードレベルエラー(VALIDATION_EXCEPTION) | Salesforceの入力規則 |
| 選択リストの値の不一致 | レコードレベルエラー(PICKLIST) | SalesforceとMarketoの選択肢の比較 |
| スマートキャンペーンの条件ミス | エラーなし、リードが流れない | Marketoのスマートキャンペーン |
| 重複レコードの衝突 | レコードレベルエラー(DUPLICATES) | Salesforceの重複ルール |
| 処理キューの渋滞 | エラーなし、遅延 | Marketoの同期ステータス |
原因が特定できない場合
上記を全部確認しても原因がわからない場合、個別レコードの「アクティビティログ」を見ると手がかりが得られることがあります。
MarketoでそのリードのレコードをCRM側画面で開き、「アクティビティログ」タブを確認してください。同期が試みられた記録と、その結果(成功・失敗・スキップ)が時系列で並んでいます。エラーメッセージが詳細に記録されているため、「何が原因でこのレコードだけ失敗しているか」を特定しやすくなります。
まとめ
MarketoとSalesforceの同期トラブルは、一見複雑に見えますが、確認すべき場所は限られています。
まずAdmin画面の「同期エラー」タブでエラーの有無と種類を確認し、エラーメッセージの内容に応じてSalesforceの権限設定・入力規則・スマートキャンペーンのロジックを順番に当たっていくことで、多くのケースは解決できます。
ただし、引き継ぎ後の環境や長年使ってきたインスタンスでは、設定の背景がわからないまま手を入れると別の問題を引き起こすことがあります。現状の設定を記録・整理したうえで対処する、または専門家に相談することも選択肢として持っておいてください。
同期の問題は放置するほど溜まったエラーが複雑になります。気づいた時点で早めに手を打つことをお勧めします。
MAツール活用促進を目指す方へ
・MAに高い投資をしても使いきれない
・付け焼き刃の知識で実装してしまい、属人化や手動作業の発生など、後々運用で苦労する
・営業データと連携できず、成果が見えづらい
MAツールを導入するのであれば、このような状況は回避し、より効果的なマーケティングを実現、そして、マーケティング活動を拡大していくための基盤として整備したいですよね。
弊社さとりファクトリでは、MAツールの導入において重要なSFAのデータ連携やデータ重複の排除、
導入後に自走できるようなテンプレート作成や運用ルールの策定、自動化設計をご支援いたします。
効果的なターゲティングとパーソナライズされたコミュニケーションにより、顧客エンゲージメントと成果を最大化していただけます。
B2B事業での実績を基に、実践的なナレッジをもってサポートいたしますのでお困りの際はぜひご相談くださいね。
コメント