Contact Form 7でGoogle アナリティクスのイベントトラッキングが動作しなかった理由

WordPressで、問い合わせフォームなんかを作る場合に便利なプラグイン「Contact Form 7」。このブログにも導入しています。

その「Contact Form 7」で作成したフォームから、問い合わせが送信されたときに「Google アナリティクス」の「イベントトラッキング」が記録されるように設定したのですが、動作しませんでした。

設定は間違っていないはずなのに…。

でも、しばらく悩んだところ、原因が判明し、無事、動作するようになりました!

header.phpの記述が原因

<?php wp_deregister_script('jquery'); ?>

header.phpに上記コードを書いていました。これはWordPressのjQueryを読み込まないようにするためです。

どうやらこれが原因だったようです!このコードのせいで、Contact Form 7で使うjQueryが読み込まれなかったのです。

ということで、問い合わせページでのみ、上記コードが動かないように設定しました。

条件分岐で対応

<?php
  if(!is_page('5')){
    wp_deregister_script('jquery');
  }
?>

問い合わせページのIDを調べ(今回は5)、問い合わせページではwp_deregister_script('jquery');が実行されないようにしました。

ちょっと雑な感じの対応策ですが、これにて一旦落着!


なお、wp_head();wp_footer();の書き忘れで、イベントトラキングが動作しないこともあるようです。この場合も、WordPressのjQueryが読み込まれないのが原因です。