将_trackEvent传递给多个分析跟踪代码

时间:2012-05-21 14:48:03

标签: google-analytics accounts event-tracking

我设置了一个包含多个Google Analytic帐户的域名。该网站有不同的事件,在第一个配置文件中正确跟踪。但是......我希望将事件传递给每个帐户而不为每个配置文件创建一个onclick事件。

<script type="text/javascript">
var _gaq = _gaq || [];

_gaq.push(
    ['_setAccount', 'UA-xxxxxxx30-1'], ['_trackPageview'],  ['_gat._anonymizeIp'],
    ['b._setAccount', 'UA-xxxxxxx33-1'], ['_trackPageview'], ['_gat._anonymizeIp'],
    ['c._setAccount', 'UA-xxxxxxx76-1'], ['_trackPageview'], ['_gat._anonymizeIp']
);


(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);
})();

感谢您的支持 麦克

1 个答案:

答案 0 :(得分:0)

首先,您粘贴的代码段不正确。每个跟踪器后面的_trackPageview调用将仅为第一个跟踪器对象触发_trackPageview。此外,您的_anonymizeIp设置被错误地使用,因为它需要在第一个_trackPageview之前,并且它适用于所有跟踪器对象。

更正语法:

_gaq.push(
    ['_setAccount', 'UA-xxxxxxx30-1'], ['_gat._anonymizeIp'], ['_trackPageview'],
    ['b._setAccount', 'UA-xxxxxxx33-1'], ['b._trackPageview'],
    ['c._setAccount', 'UA-xxxxxxx76-1'], ['c._trackPageview']
);

对于事件跟踪,您可以创建一个函数,在一个函数调用中对所有跟踪器进行事件跟踪调用。类似的东西:

function gaTrackEventAllTrackers(category,action,optLabel,optValue,optInteraction) {
    _gaq.push(
        ['_trackEvent',category,action,optLabel,optValue,optInteraction],
        ['b._trackEvent',category,action,optLabel,optValue,optInteraction],
        ['c._trackEvent',category,action,optLabel,optValue,optInteraction]
    );
}

然后只需在您的代码或onclick中调用此函数。