もし Google Analytics を使ってサイトのトラフィックを確認しているなら、きっとコンタクトフォームの送信もトラッキングしたいと思うでしょう。ここでは Google Analytics でフォーム送信をトラッキングする簡単な方法を紹介します。
この記事で用いられている JavaScript のコードは、記事が書かれている時点で最新の Google Analytics ライブラリ (analytics.js) に基づいたものです。旧式のライブラリ (ga.js) を使用している場合は、Google のガイドに従って文中の JavaScript を置き換える必要があります。
まず最初に、あなたのサイトの HTML ソースを見て、そこに以下のようなコードがあることを確認してください:
<!-- Google Analytics --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXX-Y', 'auto'); ga('send', 'pageview'); </script> <!-- End Google Analytics -->
もしない場合は Google Analytics の基本的なページトラッキングコードがまだインストールされていませんので、それを済ませてから次に進んでください。
イベントトラッキング
フォームの送信はイベントとしてトラッキングできます。Google Analytics にフォーム送信イベントを送るには、次の JavaScript 関数を呼び出します:
ga( 'send', 'event', 'Contact Form', 'submit' );
おそらくメール送信が正常に行われた場合に限ってフォーム送信のトラッキングを行いたいと思うでしょう。Contact Form 7 はメール送信に成功した場合に wpcf7mailsent
のカスタム DOM イベントを発生させます。次のようにイベントハンドラーの中で関数呼び出しを行うようにしてみましょう:
document.addEventListener( 'wpcf7mailsent', function( event ) { ga( 'send', 'event', 'Contact Form', 'submit' ); }, false );
最後の手順はこの JavaScript のコードを各ページの HTML ヘッダー (<head></head>
) に挿入することです。使用しているテーマの header.php テンプレートを編集してもいいですし、wp_head
アクションフックをテーマの functions.php から使う手もあります。
もちろん、スクリプトコードを HTML に埋め込むときには <script></script>
タグで囲む必要があります:
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { ga('send', 'event', 'Contact Form', 'submit'); }, false ); </script>
これで、もしすべて正しく設定が済んでいるなら、Google Analytics はコンタクトフォームを経由した正常なフォーム送信を、イベントカテゴリーが “Contact Form”、イベントアクションが “submit” のイベントとしてトラッキングするでしょう。
これが正しく機能していることを確認するには、フォーム送信があった 24-48 時間後に Google Analytics の行動 > イベント > サマリーページをチェックしてください。そこにトラッキングされたイベントが見つかるはずです。
注意: on_sent_ok
のフックを使用する方法は現在では非推奨になっています。この機能は2017年中に廃止される予定です。