WordPressでサイトを構築していてフォーム送信を付ける際、大抵はContact Form7を使うわけですがその際にGoogle Analyticsでコンバージョン測定したいって場合のお話。

通常のサイトの場合は送信完了の後に転送されるサンクスページに対してコンバージョンを設置します。
が、Contact Form7の場合はその場で「送信完了しました」というダイアログが出てしまいます。
しかし、Contact Form7はその場合の事もちゃんと方法がありまして。

フォーム送信を Google Analytics でトラッキングする

と、公式ブログにもちゃんと方法が載っております。
但しこの方法は2017年中に廃止になる方向だとか。
新しい方法はこちら。

on_sent_ok は廃止されます

サンクスページを用意せずにトラッキングさせる最新の方法はこちらに詳しく載っていました。
https://shuhu-marketing.com/web-marketing/google-analytics/tracking-contactform7/

さてと、こういうのが出来るにも関わらずサンクスページを付けてくれという要望もたまにあります。
その際もこの新しいfunctions.phpに書き込む方法で実装が可能です。

<?php
 
//ここから
add_action( 'wp_footer', 'mycustom_wp_footer' );
 
function mycustom_wp_footer() {
?>
<script type="text/javascript">
  if(jQuery('.wpcf7').length){ //formのclassが存在するか判定
    var wpcf7Elm = document.querySelector( '.wpcf7' );
    wpcf7Elm.addEventListener( 'wpcf7mailsent', function( event ) {
     location.replace('遷移先のURL');
   }, false );
  }
</script>
<?php
}
 
//ここまで
 
?>

固定ページで予め移動させるページを作っておいて、上記の遷移先のURLに絶対パスでのURLを設定すればOKです。

参考にしたサイトはこちら。
http://tips.adrec-dept.com/wordpress/451/