Google analytics 使用Google Analytics跟踪网页上的推文

Google analytics 使用Google Analytics跟踪网页上的推文,google-analytics,twitter,analytics,google-analytics-api,Google Analytics,Twitter,Analytics,Google Analytics Api,据我所知,我应该运行以下代码,在出现tweet时通知GA: twttr.events.bind('tweet', function(event) { if (event) { var targetUrl; if (event.target && event.target.nodeName == 'IFRAME') { targetUrl = extractParamFromUri(event.target.src, 'url'); }

据我所知,我应该运行以下代码,在出现tweet时通知GA:

twttr.events.bind('tweet', function(event) {
  if (event) {
    var targetUrl;
    if (event.target && event.target.nodeName == 'IFRAME') {
      targetUrl = extractParamFromUri(event.target.src, 'url');
    }
    _gaq.push(['_trackSocial', 'twitter', 'tweet', targetUrl]);
  }
});

但是,我得到一个错误,说明未定义
twttr
。如何从我的网站上的tweet按钮获得tweet通知,以便我可以跟踪它?

验证您是否为twitter按钮提供了正确的代码

之后,打开firebug上的控制台,编写twttr并按enter键。它应该返回twttr对象

如果没有,请验证跟踪代码是否在twitter include脚本(实际创建twttr对象的脚本)下面


HTH

如果您对twttr对象的类型进行了检查,则该检查将修复它:

// Twitter API 'Tweet' button tracking
    if (typeof(twttr) != 'undefined') {
        twttr.events.bind('click', function(event) {        
            _gaq.push(['_trackSocial', 'twitter', 'tweet', document.location.href, location.pathname]);

        });     
    }

如果异步加载Twitter API,则需要将
twttr.events
函数包装在以下函数中:

twttr.ready(function(twttr) {

}); 
这样,在尝试访问异步资源之前,它将等待异步资源完成加载。
您可以在此处看到更多信息:


我确实有twitter按钮的正确代码,因为twitter按钮外观和功能正常。但如果我在Firebug或Chrome的控制台中编写twttr,它会说twttr没有定义。奇怪的是,我刚刚检查了一下,事实上我确实找回了一件东西!现在一切都好了,谢谢。我猜是某种缓存问题,但网页可以看到twttr变量,一切正常。您是否定义了
extractParamFromUri
?这是他们提供的自定义函数,不是本地函数。是的,我确实定义了它,我确实以某种方式实现了它。由于某种原因,我得到了一个关于未定义的
twttr
的错误,但是这个错误消失了,现在一切都正常了。。。可能是某种缓存问题。将代码包装为typeof(twttr)!='“未定义”将意味着永远无法访问twttr.events.bind,因为twttr未定义。所以不要这样做。