LPなどはお問い合わせフォームとサンクスページに計測タグを仕込んでCV率など計測することがあると思います。
Snow Monkey Formsでの計測タグを仕込む方法を書いておきます。
Snow Monkey Forms の設定・カスタマイズ方法はこちらにまとめています。
計測未設定・失敗・応答待ちを分けて試す
掲載コードの初期状態では、計測せずに送信完了後の移動だけを行います。
導入先の計測処理を設定した後は、成功時に成果が1件だけ記録されることを利用サービス側で確認します。
計測処理が失敗した場合と応答を返さない場合も試し、送信完了後のページ移動が止まらないことを確認します。
実HTTP通信の隔離検証では、未設定の処理に加え、計測処理だけを失敗・応答待ちへ置き換えた条件でも移動しました。
確認画面とメール処理の失敗時には、元のフォーム画面へ留まりました。
この検証は計測サービスへの送信や成果件数を確認したものではありません。
通常の移動だけで足りる場合は、サンクスページへの転送方法を使います。

Snow Monkey Formsで計測タグを仕込む方法
やりかたは簡単です。
まずはサンクスページを作成しておきましょう。
固定記事(/thanks)を作成するだけです。
下記の記事でも似たようなことをしています。

子テーマのfunctions.phpまたはPHPスニペットのどちらか一方へ追加します。フォームIDとサンクスページのパスを変更してください。送信完了後の転送を別コードでも登録している場合は重複を解消します。
掲載コードは送信完了後の処理順を示す骨組みです。初期状態では計測しません。trackCompletionへ使用サービスの処理を実装すると、成功・失敗・最大1.5秒の待機後に自サイトのサンクスページへ移動します。
サンプルコード
add_action( 'wp_enqueue_scripts', function () {
$thanks = wp_json_encode( home_url( '/thanks/' ) );
$js = <<<JS
(() => {
const bind = () => {
const form = document.getElementById('snow-monkey-form-16'); // 実際のID
if (!form) return;
let handled = false;
form.addEventListener('smf.submit', async event => {
if (event.detail?.status !== 'complete' || handled) return;
handled = true;
let timer;
try {
await Promise.race([
Promise.resolve().then(trackCompletion),
new Promise(resolve => { timer = setTimeout(resolve, 1500); })
]);
} catch (_) {
// 計測の失敗で送信完了後の移動を止めない。
} finally {
clearTimeout(timer);
window.location.assign($thanks);
}
});
};
function trackCompletion() {
// 使用する計測サービスの公式仕様・同意状態に合わせて実装。
// 未設定では計測せず、移動だけを行います。
return Promise.resolve();
}
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', bind, {once:true});
else bind();
})();
JS;
wp_add_inline_script( 'snow-monkey-forms', $js, 'after' );
}, 11 );
計測地点の重複に注意してください。
サンクスページ到達とフォーム送信完了を同じ成果として二重計上しないよう、計測地点を1つ決めます。単なるサンクスページへの直接アクセス・再読込を送信成功と扱わないでください。サービスごとのタグ実装は公式仕様に従います。
以上です。
上記を応用して、ASP や自社計測のスクリプト(計測タグ)を仕込んでみてください。
SMFのcomplete通知だけで処理し、同じページ内の二重通知は無視します。計測がエラー・応答待ちでも転送を止めません。ただし1.5秒以内に計測が完了する保証はなく、失敗時に送信記録を補完する機能もありません。同意状態を確認し、名前・メール本文などを計測パラメーターへ入れないでください。実フォーム・利用サービスでの計測は別途検証が必要です。戻す場合は追加したコードを削除し、キャッシュを消します。



