私はおそらくleanstartupcircle.comonClick
でjavascriptを台無しにしました。属性でタグ付けしたすべてのアウトバウンドリンクにJavaScriptを使用したリンクトラッキングを追加しようとしています。私がしたことは、機能を妨げ、おそらくイベントをトリガーしないことです。target="_blank"
もう1つの情報target="_blank"
は、これらのサーバーにgoogle analytics initコードを表示していないため、ステージングと開発で正常に機能しています。そのため、JavaScriptが正しくないと思います。
より良い目を使うことができます。私は何が間違っているのですか?
function parseUrl( url ) {
var a = document.createElement('a');
a.href = url;
return a;
};
function getDomain( url ) {
hostname = parseUrl(link).hostname
splitHostname = hostname.split('.');
if (splitHostname.length > 2) {
domain = splitHostname[1] // Most likely the domain
} else {
domain = splitHostname[0]
};
return domain;
};
function trackLinks() {
// Setup outbound link tracking and push events to GA based on link attribute linkTracking
$('a').each(function () {
link = $(this).attr('href');
linkTracking = $(this).attr('linkTracking');
if (linkTracking) {
category = linkTracking.toLowerCase()
action = getDomain(link);
label = link;
$(this).attr('target', '_blank').attr('onClick', '_gaq.push(["_link", "' + link + '"]); return false; ' +
'recordOutboundLink(this, "' + category + '", "' + action + '", "' + label + '"); return false;');
};
});
};
これが私のグーグルアナリティクスコードです。クロスドメイントラッキングを使用するために、グーグルによって提案されたいくつかの変更があります:
var _gaq = _gaq || [];
var pluginUrl =
'//www.google-analytics.com/plugins/ga/inpage_linkid.js';
_gaq.push(['_require', 'inpage_linkid', pluginUrl]); // Enhanced Link Attribution
_gaq.push(['_setAccount', 'UA-30468280-1']);
_gaq.push(['_setDomainName', 'leanstartupcircle.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
// Delay outbound page load in order to record outbound links
function recordOutboundLink(link, category, action) {
try {
var myTracker=_gat._getTrackerByName();
_gaq.push(['myTracker._trackEvent', category , action ]);
setTimeout('document.location = "' + link.href + '"', 100)
}catch(err){}
}