Javascript jQuery谷歌分析跟踪

Javascript jQuery谷歌分析跟踪,javascript,jquery,google-analytics,Javascript,Jquery,Google Analytics,我正在尝试使用jQuery跟踪网页上的下载和其他事件。调试这个很困难。下面的代码当前不起作用。假设页面加载了jQuery库,并且所有XXXX都替换为正确的信息。有什么想法吗?非常感谢 <script type="text/javascript">     var _gaq = _gaq || [];     _gaq.push(['_setAccount', 'UA-XXXXX']);     _gaq.push(['_setDomainName', 'XXXXX.com']);  

我正在尝试使用jQuery跟踪网页上的下载和其他事件。调试这个很困难。下面的代码当前不起作用。假设页面加载了jQuery库,并且所有XXXX都替换为正确的信息。有什么想法吗?非常感谢

<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-XXXXX']);
    _gaq.push(['_setDomainName', 'XXXXX.com']);
    _gaq.push(['_addIgnoredRef', 'XXXXX.com']);
    _gaq.push(['_trackPageview']);
    if (jQuery) {
        jQuery(document).ready(function () {
            jQuery('a').click(function () {
                var $a = jQuery(this);
                var href = ($a.attr('href')) ? $a.attr('href') : '';
                if ((href.match(/^http/i)) && (!href.match(document.domain))) {
                    var category = 'outgoing - XXXX Landing';
                    var event = 'click - XXXX Landing';
                    _gaq.push(['_trackEvent', category, event, href]);
                } else {
                    if (href.match(/.(doc|pdf|xls|ppt|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)$/i)) {
                        var category = 'download - XXXX Landing';
                        var event = 'click - XXXX Landing';
                        _gaq.push(['_trackEvent', category, event, href]);
                    } else {
                        if (href.match(/^mailto:/i)) {
                            var category = 'mailto - XXXX Landing';
                            var event = 'click - XXXX Landing';
                            _gaq.push(['_trackEvent', category, event, href]);
                        }
                    }
                }
            });
        });
    }

    (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';
        if ('http:' == document.location.protocol) {
            ga.src = 'http://www.google-analytics.com/ga.js';
        } else {
            ga.src = 'https://ssl.google-analytics.com/ga.js';
        }
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ga, s);
    })();
</script>

var _gaq=_gaq | |[];
_gaq.push(['''u setAccount','UA-XXXXX']);
_gaq.push(['''u setDomainName','XXXXX.com']);
_gaq.push(['''u addIgnoredRef','XXXXX.com']);
_gaq.push([''u trackPageview']);
if(jQuery){
jQuery(文档).ready(函数(){
jQuery('a')。单击(函数(){
var$a=jQuery(本);
var href=($a.attr('href'))?$a.attr('href'):“”;
if((href.match(/^http/i))&&(!href.match(document.domain))){
var类别='传出-XXXX着陆';
var事件='点击-XXXX登陆';
_gaq.push([''u trackEvent',category,event,href]);
}其他{
如果(href.match(/(doc | pdf | xls | ppt | zip | txt | vsd | vxd | js | css | rar | exe | wma | mov | avi | wmv | mp3$/i)){
变量类别='下载-XXXX登陆';
var事件='点击-XXXX登陆';
_gaq.push([''u trackEvent',category,event,href]);
}其他{
如果(href.match(/^mailto:/i)){
变量类别='mailto-XXXX登陆';
var事件='点击-XXXX登陆';
_gaq.push([''u trackEvent',category,event,href]);
                        }
                    }
                }
            });
        });
    }
(功能(){
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';
if('http:'==document.location.protocol){
ga.src=http://www.google-analytics.com/ga.js';
}其他{
ga.src=https://ssl.google-analytics.com/ga.js';
        }
var s=document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga,s);
    })();

谷歌分析内置了事件跟踪功能

例如,如果您试图跟踪文件下载,您可以执行以下操作--

HTML:


这是谷歌的官方消息。该指南将为您详细解释所有内容。

我可能会使用$.getScript下载GA代码并将其应用于DOM,而不是它们作为样板文件提供给您的长格式内容。在运行那些设置了跟踪代码、域等的东西之前,您还需要在DOM中使用它,否则gaq将什么都不做

调试起来很困难,部分原因是它的格式太糟糕了。您需要在您的问题中纠正这一点,如果您刚刚复制并粘贴了它,则需要在实际代码中纠正这一点。要首先进行调试,您应该将所有_gaq.push()调用替换为console.log()或alert();-要查看jQuery代码是否正常工作,我已经用
console.log
而不是
\u gaq.push
尝试了您的代码,它工作得很好。可能是
\u gaq.push([''u setDomainName','XXXXX.com'])包含document.domain以外的域(例如,您正在本地主机上测试)。这种不匹配可能会阻止谷歌分析跟踪。
<a href="sample.pdf" class="download">Click to download.</a>
$("a.download").click(function() {
    _gaq.push(['_trackEvent', 'Files', 'Downloaded'])
});