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

もし 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年中に廃止される予定です。

WordPress のお問い合わせフォームプラグイン。シンプル、でも柔軟。