带有Google Analytics的userID

时间:2014-07-09 16:02:03

标签: javascript google-analytics

我目前正在使用视频ID跟踪视频播放,如下所示:

onPlay: function(event) { _gaq.push(['_trackEvent', 'Features', 'Play', videoID]);

我以为我可以在1st下面添加另一个条目,而不是使用userID,所以我可以为每个用户的id获取一个类别,但是javascript出错了。

onPlay: function(event) { _gaq.push(['_trackEvent', 'Features', 'Play', videoID]);    
onPlay: function(event) { _gaq.push(['_trackEvent', store_user_id, 'Play', videoID]);

我知道可以使用userId,但我不明白如何在我的上下文中使用。 如何在不破坏当前报告方案的情况下添加用户跟踪?我想在不同的类别中进行特定于用户的跟踪。

2 个答案:

答案 0 :(得分:0)

您可以将userId置于命中级自定义维度中,并在每次点击GA时触发它。然后使用自定义细分,例如userId等于123,并查看该特定用户的所有操作,事件,综合浏览量。

修改

我将您的代码误认为是Universal Analytics,如果您正在进行任何新的实施,我会强烈建议迁移,因为您将获得GA提供的所有新的花哨功能。

但为了说明如何在命中级别跟踪userId,您首先需要get the clientId

var clientId = ga.getAll()[0].get('clientId'); 

*注意:如果您有多个跟踪器,则只检索第一个跟踪器,并且您必须等到ga完全加载才能访问ga对象。

接下来,您可以在自定义维度中设置clientId。在页面浏览之前设置它,以便页面上的每个匹配都使用clientId标记。

应该能够在ga('send', 'pageview');命令之前设置它;但是,ga对象可能不可用,然后您不会获得customDimension的值。

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXX-Y', 'auto');

  var clientId = ga.getAll()[0].get('clientId');
  ga('set', 'dimension1', clientId);

  ga('send', 'pageview');

</script>

答案 1 :(得分:0)

使用时没有错误:

events: {
onPlay: function(event) { 
_gaq.push(['_trackEvent', 'Videos', 'Play', videoID]);
_gaq.push(['_trackEvent', store_user_id, 'Play', videoID]);
}

所以,我只使用两次_gaq.push而不是两次使用函数。

我想我们会等着看看我们得到了什么。如果这样可行,我会回来并给出最终答案。