jQueryでイベントトラッキングを自動設定(ユニバーサルアナリティクス版)
ユニバーサルアナリティクスのアウトバウンド リンクを自動で設定
jQueryでアウトバウンド リンクを自動設定のユニバーサルアナリティクス対応版。
jQuery
$(function () {
$('a').click(function(e) {
var url = $(this).attr('href');
var category = 'Undefined';
if (url) {
// 外部リンク、ドメイン不一致
if (url.match(/^https?:\/\//) && ! url.match(document.domain)) {
category = 'Outbound Links';
// ダウンロード
} else if (url.match(/(.*)\.(pdf|zip|exe|gz|lzh|csv|docx?|xlsx?|pptx?)$/i)) {
category = 'Download Links';
}
if (category != 'Undefined') {
if ($(this).attr('target') != '_blank') {
e.preventDefault();
// 同一窓
ga('send', 'event', category, true, {
hitCallback: function() {
document.location.href = url;
}
});
} else {
// 別窓
ga('send', 'event', category, url);
}
}
}
});
});
ユニバーサルアナリティクス対応するにあたり、旧版と比較し、以下を変更。
・jQueryによるonclickの自動記述からclick時の自動判別
・window.openから通常のtarget="_blank"による別窓遷移
・setTimeoutからhitCallback関数を使った時間差処理