ADVERTISEMENT

【Salesforce】Web-to-リードで困った時の本番反映前の切り分け

【Salesforce】Web-to-リードで困った時の本番反映前の切り分け
🛡️ 超解決

SalesforceのWeb-to-リード機能は、Webサイトから見込み客情報を自動的にリードとして取り込む便利な仕組みです。しかし、設定を本番環境に反映する前に、思わぬトラブルでリードが取得できないケースが少なくありません。特に、開発組織(Sandbox)と本番組織の差異や、HTMLフォームの記述ミスが原因となることが多いです。この記事では、本番反映前に押さえるべき切り分けのポイントを、具体的な手順や失敗パターンとともに解説します。

【要点】この記事で確認すること

  • 最初に見る場所: HTMLフォームのaction属性に指定したURL(組織IDとエンドポイント)、および各input要素のname属性がSalesforceの項目API名と一致しているか。
  • 切り分けの軸: ①フォーム送信の問題(URL・パラメーター) ②Salesforce側の設定(Web-to-リード有効化・必須フィールド・割り当てルール) ③ネットワークやブラウザの制限(CORS・HTTPS・キャプチャ)
  • 注意点: 本番組織のIDをSandbox環境のフォームで使わないこと。また、本番環境に影響を与える前に、必ずSandboxで動作確認を実施してください。管理者権限がない設定変更は、必ず管理者に相談しましょう。

ADVERTISEMENT

1. Web-to-リードの基本とよくある問題

Web-to-リードは、HTMLフォームからSalesforceへ直接リードを作成する機能です。設定自体は比較的シンプルですが、以下のような問題が頻繁に発生します。

  • フォームを送信してもリードが作成されない
  • エラーページが表示される(例:”Your request was unsuccessful”)
  • リードが作成されるが、項目が正しくマッピングされない
  • 特定のブラウザや環境でのみ動作しない

これらの問題は、本番反映前に適切な切り分けを行うことで、ほとんどが予防可能です。次の章では、具体的な切り分け手順をステップバイステップで説明します。

2. 本番反映前の切り分け手順

以下の手順を順番に実行することで、原因を特定できます。手順は、Sandbox環境でテストすることを前提としています。

  1. 組織IDとエンドポイントの確認:Web-to-リードのHTMLコードに含まれるaction URLが正しいか確認します。URLの形式は https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8 ですが、組織IDが埋め込まれている場合は https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8&orgId=00Dxxxxxxxxxxxx となります。組織IDはSandboxと本番で異なります。Sandbox用のコードを本番にデプロイしないように注意してください。
  2. 必須フィールドの漏れをチェック:SalesforceのWeb-to-リード設定で「必須」に指定されている項目が、HTMLフォームに全て含まれているか確認します。特に「姓」と「会社名」はデフォルトで必須です。必須フィールドが欠けていると、送信時にエラーになります。
  3. フィールド名(API名)の一致:HTMLのinput要素のname属性が、Salesforceの項目API名と完全に一致しているか確認します。大文字小文字も区別されます。例えば「Company」と「company」は別物として扱われます。また、カスタム項目の場合は「Custom__c」のような__cサフィックスが必要です。
  4. キャプチャ設定の確認:reCAPTCHAなどのスパム対策を有効にしている場合、正しいサイトキーとシークレットキーが設定されているか、またフォームにreCAPTCHAウィジェットが正しく埋め込まれているか確認します。テスト時には一時的に無効にして動作を確認するのも有効です。
  5. フォーム送信テストと結果の確認:実際にSandbox環境でフォームを送信し、Salesforceのリード一覧にレコードが作成されているか確認します。作成されたリードの項目値を確認し、マッピングが正しいか検証します。また、リード作成後の自動ルール(割り当てルール、自動レスポンスなど)が正常に動作するかも併せてテストします。
  6. ネットワークとセキュリティの確認:ブラウザの開発者ツールでNetworkタブを開き、フォーム送信時のリクエストを確認します。ステータスコード200が返ってくることを確認し、CORSエラーやHTTPS関連の問題がないかチェックします。社内ネットワークでSalesforceへのアクセスが制限されていないかも確認しましょう。

3. 設定ミスの具体例と修正方法

実際に発生しやすい設定ミスと、その修正方法をいくつか紹介します。

失敗パターン 原因 修正方法
送信後、「Your request was unsuccessful」が表示される 必須フィールドが不足している、または組織IDが間違っている SalesforceのWeb-to-リード設定ページで必須項目を確認し、HTMLに追加する。組織IDを再確認する。
リードは作成されるが、特定の項目に値が入らない inputのname属性がAPI名と一致していない Salesforceの項目API名を正確にコピーしてHTMLに反映する。カスタム項目の__cを忘れずに。
同じメールアドレスで何度もリードが作成される 重複ルールやアクティビティ履歴の設定が不足している リードの重複ルールを有効にするか、Web-to-リード設定で「重複を許可しない」オプションを検討する。
フォームが表示されない、または送信ボタンが反応しない JavaScriptエラーやキャプチャ設定の不備、CORSポリシー ブラウザコンソールでエラーを確認。reCAPTCHAのドメイン許可や、SalesforceのCORS設定を確認する。

4. 開発組織と本番組織の比較

Sandbox(開発組織)と本番組織では、組織IDだけでなく、いくつかの設定が異なる場合があります。以下の比較表を参考に、本番反映前に差分を確認してください。

項目 Sandbox 本番組織
組織ID 00Dから始まるSandbox用ID 00Dから始まる本番用ID(Sandboxとは異なる)
Web-to-リードの有効化 設定が無効の場合がある(有効化が必要) 通常は有効だが、念のため確認
カスタム項目 Sandboxで作成したカスタム項目が存在 本番にも同じAPI名で存在する必要あり
割り当てルール Sandbox用のルールが設定されている場合あり 本番用ルールが適切に設定されているか確認
自動レスポンス テストメールアドレスが設定されている可能性 顧客向けのメールテンプレートが正しいか確認

5. 管理者に確認すべきポイント

切り分けの過程で、自分では変更できない設定が原因である場合、管理者に以下の情報を伝えるとスムーズです。

  • Web-to-リードが有効かどうか:システム管理者 > Web-to-リードの設定で有効化されているか確認を依頼します。
  • 必須フィールドの一覧:設定画面に表示される必須項目のリストを共有し、HTML側で対応できているか確認します。
  • 組織IDの正誤:Sandboxと本番の組織IDを間違えていないか、URLに埋め込まれているIDと実際の組織IDが一致しているかを検証します。
  • 割り当てルールと自動レスポンス:リード作成後に適用されるルールが原因でリードがキューに入らない、またはメールが送信されない場合があるため、ルールの詳細を確認します。
  • CORS設定(該当する場合):外部サイトからSalesforceへのHTTPリクエストを許可するCORS設定が正しく構成されているか確認します。特に、フォームを別ドメインに設置する場合は必須です。

6. よくある質問

Web-to-リードに関するよくある質問と、その回答をまとめました。

Q1. Send Test ボタンでテストメールは送信できるが、実際のフォームからはリードが作成されない

回答:Salesforceの設定は正しい可能性が高いですが、HTMLフォーム側に問題があります。まず、フォームのaction URLに組織IDが正しく含まれているか、またフィールド名がAPI名と一致しているかを再確認してください。特に、hiddenフィールドで組織IDを渡している場合、その値がSandbox用になっていないか注意が必要です。

Q2. リードは作成されるが、自動返信メールが届かない

回答:自動レスポンスルールが正しく設定されているか確認してください。ルールがアクティブになっていない、またはメールテンプレートが正しく関連付けられていない可能性があります。また、送信者アドレスがシステム管理者によって承認されている必要があります。

Q3. スマートフォンからフォームを送信するとエラーになる

回答:モバイルブラウザによっては、一部のJavaScriptやキャプチャが正常に動作しない場合があります。HTMLがモバイル対応しているか、またreCAPTCHAがモバイルで正しく表示されるか確認してください。また、HTTPSが必須であるため、HTTPでフォームをホスティングしていないかもチェックします。

Q4. カスタム項目の値がマッピングされない

回答:カスタム項目のAPI名が正確か確認します。特に、Sandboxで作成したカスタム項目が本番にデプロイされていない場合、その項目は認識されません。また、項目のデータ型が一致しているか(テキスト、数値など)も確認してください。

まとめ

Web-to-リードのトラブルは、本番反映前に適切な切り分けを行うことで、大半が未然に防げます。まずはSandbox環境で上記の手順に沿ってテストし、問題がなければ本番に反映しましょう。組織IDやAPI名の違い、必須フィールドの漏れといった単純ミスが原因であることが多いので、チェックリストを活用するのも効果的です。管理者との連携を密にし、本番移行後に慌てることのないよう準備を整えてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT