MENU
CLOSE
CODESYSTEM Edit : 2021.05.11 Update : 2023.06.14

セールスフォース(salesforce)のPardotとMW WP Formを連携する

実現したいこと

・MW WP FORMで確認画面のあるFORMを作成
・そのフォームにPardotを連携させる

やることをまとめる

・こちらのサイト「Pardotのフォームハンドラーについて&設定方法」の「1.Pardotのフォームについて」に記載がありますが、今回はMW WP FORMで作成したフォームにpardotを連携させたいので、「フォームハンドラー(Form Handlers)」という方法をとる

・Pardotの設定はクライアントが行うため、私のほうでは上記サイトの「3.フォームハンドラーを設定する(フォーム側)」と「2.フォームハンドラーを設定する(Pardot側)」でクライアントが割り当てた「External Field Name」というものをフォーム側のinputのnameに割り当てる
(フォームですでに設定済のnameをpardotに割り当てる方法でも良く、そこはクライアントとの進め方によると思います。)

 

実際の作業

①MW WP Formの編集画面にて、Pardotの「External Field Name」に設定されている値をフォーム側のnameに設定します。

 

Formの項目のnameのすべてをPardotの設定と合わせます。

②確認画面のFormタグのaction先を変更する

・上記参考サイトの「3.フォームハンドラーを設定する(フォーム側)」に記載があるように、formタグのaction先に「Endpoint URL」というものを設定しなくてはいけません。

・そこでやったことは、「do_shortcode_tag」のフックを使って、formタグのURLの書き換えです。
▼functions.phpに記載します。


※$attr[‘key’] ) && ‘912’の「912」というところは、自分が設定したMW WP Formのフォーム番号を入れてください。
※$_SERVER[‘REQUEST_URI’] == ‘/contact/confirm/’というところで、自分のフォームの確認画面のURIを入れてください。(この記述があることで、フォームの入力画面ではaction先はデフォルトのまま、確認画面のaction先のみ変更することができました。)
※$output = からのコードで、元のformタグを書き換える指定をしています。「指定のEndpoint URL」という記載のところに、Pardotで割り振られた「Endpoint URL」を記載します。

これで基本は完了です。
ただ、実際に私が作成したMW WP Formで動きを試してみたところ、最後完了画面に飛ばないという事象が起きました。

解決方法は、こちら「https://quartet-communications.com/info/other-ads/64194#h-20」のページの「成功した場所」の記載でした。
私のほうで作成したフォームの完了画面のURL「https://●●/contact/complete/」を、このpardot側での「成功した場所」という箇所にクライアントに設定してもらったところ、上手く動くようになりました。

自動返信、管理者宛てのメール、また無事パードットから通知受信が来たとクライアントの確認もとれたので、これにてOKだと思います!

Miki Kohinata

就活時代、企業で働きたくないがゆえに将来独立することを決めエンジニアの道へ。IT企業で藤本と運命的に出会いKOHIMOTO設立。目指すのは人の心に寄り添えるエンジニア。人生のテーマソングはWeekend by 5lack。