2015-02-24 83 views
1

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

目前我有在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)。如果任何人有在页面上使用会话变量或隐藏变量的示例,我将不胜感激您的帮助。

感谢,

约翰

回答

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); 
}?> 
+0

是的,但这个例子是在PHP中。我不能使用它。 - 约翰 – 2015-02-24 19:38:04

+1

然后,你应该在你的原始文章中指定。如果你想回答你的问题,你必须给人们他们需要的信息来帮助你。 FWIW,PHP示例中的概念应该可以转换为几乎任何语言。 – 2015-02-24 19:48:10

+0

在我原来的文章中,我提到我不能使用PHP。另外我同意PHP示例中的“概念”应该是可转移的,但获得实际的代码来实现“概念”是,我相信你会同意的,这往往是另一个问题。 – 2015-02-25 14:45:53

1

我有了答案:

我添加了一个隐藏的变量母版页称为“hidUserColleagueID”

<asp:HiddenField ID="hidUserColleagueID" runat="server" Value="UnknownUser" /> 

在主页的后面的代码,如果然后用户登录我设置“hidUserColleageID”,其被包含在会话变量的登录用户名(我使用VB)

hidUserColleagueID.Value = Session("USERNAME") 

在主页面的底部,我添加了Google分析代码。 var USER_ID被设置为hidUserColleagueID字段的值。如果它等于“UnknownUser”下,然后将信息发送到Google Analytics没有通过是谁登录。如果hidUserColleagueID场不等于“UnknownUser”下发送信息到Google Analytics与谁是登录。

<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> 

约翰