JS
外部のフォームサービスを利用している際のサンクスページの表示制限
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にリダイレクトをさせ、上記以外の場合はそのままサンクスページを表示させてやる。
特殊なフォームには注意
元々サービス側で定義してあるフォームなどは、リファラーが特定できない仕組みになっている事もあり、そういった場合は上記では対応できない。ギャフン、、