LoginSignup
0
0

Account Engagement(Pardot)とMW WP Formを連携

Posted at

やりたいこと

既存のMW WP Formで作成したフォームに登録された情報を自動でAccount Engagementのプロスペクトとして登録したい

参考

https://kohimoto.com/labo/study/system/6483/
https://webmemolog.com/web/20230506_1027

詰まるまでにやったこと

上記の記事を参考にAccount Engagementでフォームハンドラーを作成。
このときの注意点としては、

  • フォームのname属性を正確にAccount Engagementの名前属性に転記する
  • Account Engagmementで必須項目でないものが必須項目チェックされていないか確認する

プロスペクト作成時のエラーは通知されないとのサポート回答もあり。特に上記2点は引っ掛かりやすい。

詰まったところ

フォームに実際入力すると、完了ページに遷移せず入力画面に戻される。
URLの遷移を見て、エラー発生場所はなんとなく把握。

WPフォーム確認画面

Account Engagementへの情報送信
▽ ←どうもここの遷移が上手く動かず、MW WP Formがリダイレクトを繰り返しフォーム入力画面に戻されているようだった。
WPフォーム完了画面

このエラーが起きた時はプロスペクトだけ作成され、WordPressのデータベースには登録されていない。MW WP Formからの自動返答メールも発出されていない。
シークレットモードでは問題なくフォーム入力完了・プロスペクト作成・自動返答メール受信ができる。

解決

先例も少なくどうにも詰まっていたが、function.phpの記述を変更することで解決した。
詰まっていた時、function.phpには下記コードを記述していた。

elseif ( 'mwform_formkey' == $tag && isset( $attr['key'] ) && 'フォームID' == $attr['key'] && $_SERVER['REQUEST_URI'] == '確認画面URI' ) {
		$output = str_replace(
			'<form method="post" action="" enctype="multipart/form-data">',
			'<form action="https://go.pardot.com/l/XXX/XXXX/XXX" method="post">',
			$output
		);
	}

この時の<form action="https://go.pardot.com/l/XXX/XXXX/XXX" method="post">内にあるURLのドメインを、汎用のgo.pardot.comドメインからカスタムしたトラッカードメインに変更したところ解決。
何故これで解決するのか、理由まではわからなかった。

仮説

トラッカードメインがWEBサイトドメインの子ドメインだったためエラーが起きなくなったのだろうか?

0
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
0
0