(Photo by digital cat  )BY

wordpressの記事内に自動でリンクにgoogle analyticsイベントトラッキングコードを入れる!(ユニバーサルも対応)

wordpressの記事内に自動でリンクにgoogle analyticsイベントトラッキングコードを入れる!(ユニバーサルも対応)

google analyticsのイベントトラッキングはご存知だろうか?
Web業界の人はガンガン使っているだろうけど、一般の人は全く知らないのではないだろうか?

どこのリンクをクリックしたか、滞在時間、マウスの動きなどなど使いようによってはいろいろな情報が取得できる。極めるにはお勉強していただくとして、コンテンツ内のどこをクリックしたかのイベントを取得できるコードをご紹介。(※個人情報と結びつけるとgoogle analyticsの規約違反になるのでご注意を)

いろいろ方法はあるのだけど、テンプレートフォルダのfunctions.phpに書き込めばOKってのをご紹介。
<旧アナリティクス版>

//onClick eventtracking
function onclick($content){
global $post,$lp_link;
$pattern = array('/<a(.*?)href="(.*?)"/u',
'/<input(.*?)type="submit"/u');
$replace = array('<a$1onclick="_gaq.push([\'_trackEvent\', \'link-click\', \'go-'.$post->post_title.'\',\'$2\']);" href="$2"',
'<input$1type="submit" onclick="_gaq.push([\'_trackEvent\', \'contact-form\', \'push-'.$post->post_title.'\']);" ');
$content = preg_replace($pattern,$replace,$content);
return $content;
}
add_filter('the_content','onclick',99);

これをfunctions.phpの<?php ?>内に書き込めば、コンテンツ(投稿内)のリンクについては、イベントトラッキングコードが設定されるcontactform7の送信ボタンにも対応!!

そして、ユニバーサルアナリティクスはちょっとコードが違ってこちら。

//onclick universal eventtracking
function onclick($content){
global $post;
$pattern = array(
'/<a(.*?)href="(.*?)"/u',
'/<input(.*?)type="submit"/u');
$replace = array(
'<a$1onmousedown="ga(\'send\', \'event\', \'link-click\', \'go-'.$post->post_title.'\',\'$2\');" href="$2"',
'<input$1type="submit" onmousedown="ga(\'send\', \'event\', \'contact-form\', \'push-'.$post->post_title.'\');" ');
$content = preg_replace($pattern,$replace,$content);
return $content;
}
add_filter('the_content','onclick',99);

旧アナリティクスとの違いは、onClickでイベントが取得できなかったこと。結構悩みました。
onmousedownで対応。

イベントを見るには、google analyticsのコンテンツ→イベントで見れます。
google analyticsイベントトラッキング
どこのページのリンクをクリックしたか。どこへ行ったかが分かります。

javascriptで書いた方がスマートかもしれませんが、良ければ使ってみてください。(google アナリティクスの設置をお忘れなく)

Google Analyticsパーフェクトガイド Ver.5対応版

新品価格
¥2,940から
(2013/7/3 20:34時点)

おすすめ

  • Yoast SEO プラグインの設定画面がコンパクトになってる

    「Yoast SEOプラグイン」は多機能なSEOプラグインですが、多機能ゆえに設定項目も多いのです。 制作者もそれを分かっているのか、設定項目数を減らしてコンパクトにしようとしているようです。 ただ、いままで使っていた身 […]
  • wordpress3.8でダッシュボードの4つのエリアを2つにする

    wordpress3.8以降ダッシュボードがウィンドウサイズが1500px以上の場合、4つ区切りになりました。 ここにクライアント様に、ガイドなどを乗せたりしていたのですが、4区切りになり幅が狭くなって見にくい!という意 […]
  • wordpress+nginxにしてみました。

    そこら中でnginxを見るようになったので、そんなに凄いのかよ!ということでwordpress+nginxにしてました。 YSlowやPageRank Status(共にchrome拡張)ではあんまり数字が良くなってない […]
123...5

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload the CAPTCHA.