如何通过Google Analytics在我的网站上跟踪Facebook?

时间:2011-03-19 17:07:23

标签: javascript facebook facebook-graph-api google-analytics

在这个问题上忘记了。

我的电子商务商店里有Facebook喜欢的按钮。我已经使用XFBML和JAvascript SDK设置它们。我正在使用正确的Meta OG属性..一切都适用于Facebook。

现在这就出错了:我试图遵循这个指南:http://www.websharedesign.com/blog/how-do-i-track-that-little-facebook-like-button-in-google-analytics.html但它对我不起作用,因为有一些区别。首先我使用Async版本的Google分析...其次,我的facebook喜欢按钮自动获取URL(在本文中用户已手动输入href ...)所以我更改了代码以添加到gaq.push改为方法;

我尝试过添加:

    FB.Event.subscribe('edge.create', function(href, widget) {
    _gaq.push(['_trackEvent', 'facebook', 'like', href]);
}); 

进入主要的Async Facebook脚本,我已经尝试将其置于页面底部。我甚至尝试将其添加为onclick = on the fb:like。

我唯一一次注册任何东西是因为我在我的主要Google分析中意外添加了该代码,然后它为每个页面视图生成了一个报告作为事件......

请帮助!!

编辑这是我的所有代码:我的页面顶部有GA ...

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'xxxxxxxxxxxxxxx']);
  _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);
  })();

</script>

然后在这个FB的下方定义了身体:

<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'xxxxxxxxxxxxxxxxx', status: true, cookie: true,
             xfbml: true});  
   FB.Event.subscribe('edge.create', function(href, widget) {
    alert('Facebook Like');
    _gaq.push(['_trackEvent', 'facebook', 'Facebook like', 'test']);
   });                 
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>
  • 你看我把gaq.push放在上面的facebook代码中 - 带有警报。现在这个警报在我点击时被触发,但是trackEvent没有被发送到谷歌? (另外,理想情况下,它表示'测试'我希望页面的URL ...)

1 个答案:

答案 0 :(得分:0)

谢谢大家... 7个小时后我弄清楚了问题是什么...我的Google隐藏了我的IP,因为我没有通过我的测试访问来搞乱常规网页浏览的统计数据。所以我学会了它也很难从跟踪事件中隐藏你的IP地址!作为参考,我之前提供的代码完美运行..我唯一改变的是将'test'更改为url以获取页面的href,所以我的最终Facebook代码是:

<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'xxxxxxxxxxxxxxxxx', status: true, cookie: true,
             xfbml: true});  
   FB.Event.subscribe('edge.create', function(href, widget) {
    alert('Facebook Like');
    _gaq.push(['_trackEvent', 'facebook', 'Facebook like', href]);
   });                 
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

真是个布偶!谢谢你的帮助!