もしあなたが Google Analytics を使ってサイトのトラフィックを分析しているなら、コンタクトフォーム経由の送信もトラッキングしたいと思うことでしょう。Contact Form 7 はこの種のトラッキングをとても簡単に行うための機能を備えています。この記事ではその方法について紹介します。
_trackPageview()
正常にセットアップされていれば、Contact Form 7 のコンタクトフォームは Ajax アプリケーションとしてふるまい、フォーム送信はひとつの Ajax イベントになります。Google Analytics の _trackPageview() JavaScript 関数は実際のページビューやページリダイレクトの発生を伴わない Ajax イベントをトラッキングすることが可能です。
例として次のような場合を考えてみましょう。ページトラッカーオブジェクトの名前が pageTracker だとして、そしてフォーム送信を仮想 URL /mysite/thank-you.html への仮想ページビューとしてトラッキングしたいとします。これを実現するために、次の JavaScript コードを送信イベント発生時に実行する必要があるでしょう。
pageTracker._trackPageview('/mysite/thank-you.html');
ここで /mysite/thank-you.html が実在の URL である必要はないことに注意してください。この値は何でもよく、これが Analytics のレポートにページのファイル名として表示されます。
on_sent_ok アクションフックを使う
_trackPageview() を実行させるのに JavaScript のファイルを編集する必要はありません。Contact Form 7 では on_sent_ok という JavaScript アクションフックを用意していて、これを使って、フォーム送信が正常終了した後で実行したい JavaScript のコードを指定することができるのです。
on_sent_ok のフックで _trackPageview() を実行するのは非常に簡単です。コンタクトフォームの管理ページの一番下に「その他の設定」の項目があるので、そこに以下の行を挿入するだけで OK です。
on_sent_ok: "pageTracker._trackPageview('/mysite/thank-you.html');"
適切にコードを引用符で囲んでください。また、コードは1行に収まっている必要があります。

これで、すべて正しく設定できていればですが、誰かがあなたのコンタクトフォームから送信したときに、Google Analytics がそれを /mysite/thank-you.html へのアクセスとしてトラッキングするようになります。
これが正常に行われていることを確認するには、送信があった 24-48 時間後に Top Content レポートをチェックしてみてください。割り当てられたページ名 (/mysite/thank-you.html) がレポートに見られるはずです。
日本語
英語 
Comments are closed.