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

もしあなたが Google Analytics を使ってサイトのトラフィックを分析しているなら、コンタクトフォーム経由の送信もトラッキングしたいと思うことでしょう。Contact Form 7 はこの種のトラッキングをとても簡単に行うための機能を備えています。この記事ではその方法について紹介します。

_trackEvent()

正常にセットアップされていれば、Contact Form 7 のコンタクトフォームは Ajax アプリケーションとしてふるまい、フォーム送信はひとつの Ajax イベントになります。Google Analytics の _trackEvent() メソッドは実際のページビューやページリダイレクトの発生を伴わない Ajax イベントをトラッキングすることが可能です。

例として次のような場合を考えてみましょう。ページトラッカーオブジェクトの名前が _gaq だとして、そしてフォーム送信をイベントとしてトラッキングしたいとします。これを実現するために、次の JavaScript コードを送信イベント発生時に実行する必要があるでしょう:

_gaq.push(['_trackEvent', 'Contact Form', 'Submit']);

on_sent_ok アクションフックを使う

_trackEvent() を実行させるのに JavaScript のファイルを編集する必要はありません。Contact Form 7 では on_sent_ok という JavaScript アクションフックを用意していて、これを使って、フォーム送信が正常終了した後で実行したい JavaScript のコードを指定することができるのです。

on_sent_ok のフックで _trackEvent() を実行するのは非常に簡単です。コンタクトフォームの管理ページの一番下に「その他の設定」の項目があるので、そこに以下の行を挿入するだけで OK です:

on_sent_ok: "_gaq.push(['_trackEvent', 'Contact Form', 'Submit']);"

適切にコードを引用符で囲んでください。また、コードは1行に収まっている必要があります。

on_sent_ok in Additional Settings

これで、すべて正しく設定できていればですが、誰かがあなたのコンタクトフォームから送信したときに、Google Analytics がそれを Contact Form カテゴリー、Submit アクションのイベントとしてトラッキングするようになります。

これが正常に行われていることを確認するには、送信があった 24-48 時間後に Google Analytics の コンテンツ > イベント > サマリー レポートページをチェックしてみてください。Contact Form のカテゴリー名がレポートに見られるはずです。

Just another contact form plugin for WordPress. Simple but flexible.