自分のためのメモ

外部のフォームサービスを利用している際のサンクスページの表示制限

WordPressを例にとると、フォームプラグインを使用せず、マーケティングやコンサルの観点から外部サービス提供のフォームを使用する必要がある場合、フォームを表示させる枠として用意したWP側の固定ページにタグやショートコードを埋め込むケースが多いと思う。
(その場合、フォームは大体iframeで読み込まれる)

外部フォーム側の管理画面でサンクスページのURLを指定できると、これもWPの固定ページをフルパス指定するケースが多いと思うが、その場合にネックとなるのが

サンクスページのURLを直打ちすると表示できてしまう

という事。これができてしまうと、CVなどを計測している場合、正確な値がとれない。

リファラーが取得できるという大前提ではあるが、サンクスページ内に

<script>
if(document.referrer.length<1 
|| !(document.referrer.indexOf("フォームサービスドメイン")>=0 || document.referrer.indexOf("制作サイトドメイン")>=0)
){
 window.location.href="リダイレクト先のURL";
}
console.log('ref',document.referrer);
</script>

と記述してやる。
リファラーがない or フォームサービス・制作サイトのドメインがリファラーに含まれない場合は指定URLにリダイレクトをさせ、上記以外の場合はそのままサンクスページを表示させてやる。

特殊なフォームには注意

元々サービス側で定義してあるフォームなどは、リファラーが特定できない仕組みになっている事もあり、そういった場合は上記では対応できない。ギャフン、、