Google Analytics - 从会话变量设置USER_ID

时间:2015-02-24 17:13:00

标签: google-analytics

我想将Google Analytics中的USER_ID设置为会话变量的值。这甚至可能吗?如果不是,我可以在页面上使用隐藏变量。我去了网页https://developers.google.com/analytics/devguides/collection/analyticsjs/user-id,但它没有关于如何从会话变量设置USER_ID的示例,它唯一的示例是使用PHP而我从一个框运行(IIS 7.5)PHP没有设置。

目前,我在ASPX页面底部的脚本标签中有以下代码:

(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-59964433-1', 'auto'); 
ga('send', 'pageview');
ga('set', '&uid', {{USER_ID}}); // Set the user ID using signed-in user_id.

我想将 {{USER_ID}} 更改为会话变量或页面上的隐藏变量(可能使用getElementById)。如果有人在页面上使用会话变量或隐藏变量的例子,我将非常感谢你的帮助。

谢谢,

约翰

2 个答案:

答案 0 :(得分:1)

您在问题中链接到的页面上有一个示例:

<?php
// New Google Analytics code to set User ID.
// $userId is a unique, persistent, and non-personally identifiable string ID.
if (isset($userId)) {
  $gacode = "ga('create', 'UA-XXXX-Y', { 'userId': '%s' });";
  echo sprintf($gacode, $userId);
} else {
  $gacode = "ga('create', 'UA-XXXX-Y');";
  echo sprintf($gacode);
}?>

答案 1 :(得分:1)

我有答案:

我在主页上添加了一个名为&#34; hidUserColleagueID&#34;

的隐藏变量
<asp:HiddenField ID="hidUserColleagueID" runat="server" Value="UnknownUser" />

在母版页后面的代码中,如果用户登录,那么我设置&#34; hidUserColleageID&#34;到登录用户的名称,该名称包含在会话变量中(我使用VB)

hidUserColleagueID.Value = Session("USERNAME")

在母版页的底部,我添加了Google分析代码。 var USER_ID设置为hidUserColleagueID字段的值。如果等于&#34; UnknownUser&#34;然后将信息发送到谷歌分析而不传递登录的人。如果hidUserColleagueID字段不等于&#34; UnknownUser&#34;它会向登录的人发送信息给谷歌分析。

<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');

var USER_ID = document.getElementById('<%=hidUserColleagueID.ClientID%>').value;
if (USER_ID == "UnknownUser") 
      ga('create', 'UA-99998765-1', 'auto'); // don't set the user id as it is unknown
  else
      ga('create', 'UA-99998765-1', { 'userId': USER_ID });  // set the userID = USER_ID which is the username of the logged in user
</script>

约翰