6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

株式会社ピーアールオー(あったらいいな!を作ります) Advent Calendar 2022 の9日目になります。

今回はQiitaに記事の少ないSalesforceで、最初にやることが多い「Web-to-リード」を題材とします。

前提

利用が多いと思われるWordPressで作成されたLPページ等の問い合わせページに対して
Web-to-リードのフォームを追加していく流れを紹介します。

素直に作ろうとすると

Salesforceの「web-to-リード」機能で発行したHTMLを利用します。
以下のようになります。

媒体 処理の流れ 対応すること
LPページ SalesforceにPOSTする Salesforceで発行したHTMLを埋め込む、JSで入力チェック
Salesforce reCAPTHAキーペアチェック、リード登録、メール送信 リード・メール設定
Thanksページ 設定登録しているURLへリダイレクト Thanksページの作成

ここで考えたいこと
・web-to-リードのメールは商談(行動履歴)のように残したいものでない、Salesforceに寄せる必要がない
・Thanksページを余計に作る必要がない
・SalesforceのWeb-to-リード要求は制限数(500/日)がある
・HTMLから直接SalesforceへPOSTは避けたい(JSの入力チェック作成やHTMLに載せたくない項目(組織ID)がある)
・PHP等でサーバーサイド処理を1から作成するのも大変

解決はプラグイン

なるべく楽な解決として、WordPressのプラグインを選択します。
プラグインの選定基準は「無料・更新日(サポート)が新しい・分かり易い」の3点

以下のプラグインを利用させて貰いました。

プラグイン名 プラグインの内容
ContractForm7 メジャー、確認画面なし、reCAPTCHA(v3)あり、日本語:flag_jp:がうれしいです
Code Snippets codeの差し込みが可能。(PHP、スタイル)

※最近はWordPressで子テーマを利用したノーコード・ローコードの記事を目にしますが
 子テーマのことを考えるのが手間なので、コードを差し込むSnippetsプラグインを選択

だいたいはこのようになります。

媒体 処理の流れ 対応すること
LPページ 自サーバーにPOSTする ContractForm設定(フォーム、チェック、メール)
自サーバー ContractFormの処理+Snippetsの処理 Snippetsでコード追加(SalesforceAPIアクセス、その他追加可能)
LPページ 送信完了メッセージを表示 ContractForm設定のもの

設定手順とポイント

1. reCAPTCHA発行

2. Salesforceの設定

  • 設定>マーケティングにある「Web-to-リード」の設定をする
    有効化とフォームの払い出し
  • 設定>マーケティングにある「リードの設定」の設定をする
    デフォルト作成者やレコードタイプ設定等を必要に応じて

3. WordPressプラグインインストール

  • ContractForm7、Code Snippetsをインストール

4. ContractFormの設定

  • インテグレーションにあるreCAPTCHAのセットアップをする
    Googleで発行したキーを設定する
  • 問い合わせフォームを作成する
    Salesforceで払い出したHTMLの項目(nameなど)に併せて作成する
    hiddenのoidはSnippets側で設定するので含めない
  • メールのテンプレートを設定する

5. Snippetsの設定

  • reCAPTCHAの制御追加
    WordPressのプラグインでreCAPTCHAは見かけますが「更新が古い、有料」など見つける手間の方が高く付くのでコード追加としてます。
対象画面を絞る(除外する)サンプルコード
add_action( 'wp_enqueue_scripts', function() {
    if(is_page(array('LPページ1','LPページ2'))) return;
    wp_deregister_script( 'google-recaptcha' );
}, 100, 0);
  • Salesforceへの登録
    こちらは参考サイトさまのリンクを載せさせて頂き、ポイントの記載とさせていただきます。
    APIエラーによる機会減少を考える場合は、フックするアクションの選択を「wpcf7_mail_sent」にする、非同期処理にするといった対応を検討されるとよいかもしれません。

HTML(問い合わせForm)にSalesforceの組織IDを載せず、追加するアクション内に記載することをオススメします。

チェック処理の追加用途だけではなく、HTTPClientの処理でslack通知を入れるといったカスタマイズを入れることもよいと思います。

参考サイトさま

纏め

ケースにより確認画面が必要な場合はMW WPFormを使用など対応の選択は様々と思われます。
組織IDをhiddenで設定するのは避けた方がよいと思われます。(ごくまれに見かけます:cry:
Salesforceの考え同様に、出来るだけ在るものを利用していきましょう。
という記事でした。
参考になれば幸いです。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?