Snow Monkey Formsのフォームを入力した時に、変化が少ないので、送信できたかわからないことがあります。
そういった時にサンクスページにリダイレクトする方がUXとしてもよかったりします。
本記事ではSnow Monkey Formsでサンクスページにリダイレクトする方法を記載しました。
Snow Monkey Forms の設定・カスタマイズ方法はこちらにまとめています。
送信完了と入力エラーを分けて確認する
公開したサンクスページを先に開き、追加コードの移動先と一致することを確認します。
必須項目を空にして確認ボタンを押し、入力エラー時に元のフォームへ留まることを確認します。
正しい値で確認画面へ進み、「戻る」で入力画面へ戻ってもサンクスページへ移動しないことを確認します。
最後の送信操作後、SMFからcompleteが通知されたときにだけサンクスページへ移動します。
隔離環境の実HTTP通信では、1280px・375px相当の幅で完了後の移動を確認できました。
メール処理を失敗させた検証ではシステムエラー画面に留まり、サンクスページへ移動しませんでした。
検証では実メールの配送を止めているため、導入先では管理者メールと自動返信メールの受信も別に確認してください。
計測処理を先に実行する場合は、送信完了イベントと計測処理の順序を参照してください。

Snow Monkey Formsでサンクスページにリダイレクトする方法
やり方は簡単です。
サンクスページの作成
固定記事を新しく作成(/thanks)して、内容を入力します。

文章例
お問い合わせありがとうございます。
内容を確認後、担当者より追ってご連絡いたしますので、しばらくお待ちください。
自動返信メールを設定している場合は、受信状況もご確認ください。functions.phpにコードを挿入
検証からお問い合わせフォームのID(例:snow-monkey-form-24501)を調べて、下記のコードをfunctions.phpに入れるだけです。
フォームIDと home_url の /thanks/ を変更してください。遷移先は自分のWordPressの公開URLから生成するため、掲載元サイトへ転送しません。事前にサンクスページの公開URLを確認します。
add_action( 'wp_enqueue_scripts', function () {
$target = wp_json_encode( home_url( '/thanks/' ) );
$script = <<<JS
(() => {
const bind = () => {
const form = document.getElementById('snow-monkey-form-24501'); // 実際のフォームID
if (!form) return;
form.addEventListener('smf.submit', event => {
if (event.detail && event.detail.status === 'complete') {
window.location.assign($target);
}
});
};
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', bind, { once: true });
} else {
bind();
}
})();
JS;
wp_add_inline_script( 'snow-monkey-forms', $script, 'after' );
}, 11 );子テーマのfunctions.phpへ追加し、同じ完了イベントの処理を重複登録しないでください。確認画面・入力エラー・送信エラーでは移動せず、completeの通知時だけ移動する構成です。SMF本体のスクリプトを除外したページでは動きません。実フォームで成功時と失敗時を確認し、戻す場合は追加コードを削除してキャッシュを消してください。メールの受信や計測タグの発火は別途確認が必要です。
よくある質問:Snow Monkey Formsで送信完了後にサンクスページへリダイレクトする方法
なぜ、送信後にサンクスページへ移動させるのですか?
記事では、Snow Monkey Formsのフォームを入力した時に変化が少なく、送信できたかわからないことがあるため、サンクスページにリダイレクトするほうがUXとしてもよい場合があります。計測するためのページとしても使えます。
どのタイミングで、サンクスページに移動しますか?
記事では、最後の送信操作後、SMFからcompleteが通知されたときにだけサンクスページへ移動します。確認画面・入力エラー・送信エラーでは移動しません。
コードは、どこに追加しますか?
子テーマのfunctions.phpへ追加し、同じ完了イベントの処理を重複登録しないでください。記事では、エラーが怖い場合はCode Snippetsのプラグインから挿入します。SMF本体のスクリプトを除外したページでは動きません。
設置後は、何を確認しますか?
記事では、公開したサンクスページを先に開き、追加コードの移動先と一致することを確認します。必須項目を空にして確認ボタンを押し、入力エラー時に元のフォームへ留まること、正しい値で確認画面へ進み「戻る」で入力画面へ戻ってもサンクスページへ移動しないことを確認します。
メールの送信に失敗したときは、どうなりますか?
記事の検証では、メール処理を失敗させた場合はシステムエラー画面に留まり、サンクスページへ移動しませんでした。検証では実メールの配送を止めているため、導入先では管理者メールと自動返信メールの受信も別に確認してください。
計測もしたいときは、どうしますか?
記事では、応用として計測タグを仕込んで、お問い合わせフォームとサンクスページにタグを仕込むことでCV率などを計測できます。計測処理を先に実行する場合は、送信完了イベントと計測処理の順序について記事内で案内している記事を参照してください。メールの受信や計測タグの発火は別途確認が必要です。
元に戻すには、どうしますか? 確認の範囲は?
戻す場合は追加コードを削除し、キャッシュを消してください。記事では、隔離環境の実HTTP通信で、1280px・375px相当の幅で完了後の移動を確認できました(2026年10月2日、WordPress 7.1.2・SWELL 2.19.0・Snow Monkey Forms 13.0.0)。最新は公式で確認してください。



