Javascript “如何发送”;“谷歌分析”;及;hotjar“;使用服务器ASP.NET MVC跟踪客户端事件#
我的情况是有人浏览我们的网站,我使用javascript google analytics和hotjar跟踪我的用户Javascript “如何发送”;“谷歌分析”;及;hotjar“;使用服务器ASP.NET MVC跟踪客户端事件#,javascript,c#,asp.net-mvc,google-analytics,analytics,Javascript,C#,Asp.net Mvc,Google Analytics,Analytics,我的情况是有人浏览我们的网站,我使用javascript google analytics和hotjar跟踪我的用户 我在跟踪这样的用户: ga('send'、'event'、'/RegisterButton'、''); hotjar('send','event') 然而,现在这些人在服务器端发生了一些事件和数据,我也想跟踪这些事件和数据(在分析中) 例如,我想知道一个人是否多次上传文件 我该怎么做 一种方法是这样做(这是一个psuedo代码): 我真的不想要这个解决方案。 因为这样,我将数据发
var gaCookie = HttpContext.Current.Request.Cookies["_ga"];
var gaSplitValue = gaCookie != null && gaCookie.Value.Split('.').Length == 4 ? gaCookie.Value.Split('.') : null;
var clientId = gaSplitValue != null ? string.Format("{0}.{1}", gaSplitValue[2], gaSplitValue[3]) : "555";
如果您想用javascript获取它,您可能需要使用这个
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
Javascript可能是一个更安全的选择,因为如果Google决定更改cookie的名称,它仍然能够获取cookie,而如果您的C#代码中有cookie,它可能需要代码更新或配置更改
如果在示例代码的postData中添加clientId作为cid键的值。Google Analytics会将此链接到您当前的客户
var postData = new Dictionary<string, string>
{
{ "v", "1" },
{ "tid", "UA-XXXXXX-XX" },
{ "cid", clientId },
{ "t", type.ToString() },
{ "ec", category },
{ "ea", action },
};
var postData=新字典
{
{“v”,“1”},
{“tid”,“UA-XXXXXX-XX”},
{“cid”,clientId},
{“t”,键入.ToString()},
{“ec”,类别},
{“ea”,行动},
};
我使用C#在谷歌分析中注册交易事件。我发现这段代码对于分析包装类非常有用
他使用HttpWebRequest跟踪Google Analytics中的事件。
这对我有用
我还创建了一个控制台应用程序,用于注册Bitbucket上可用的事务
为了获取客户端id,我使用以下代码从cookie中获取它:
var gaCookie = HttpContext.Current.Request.Cookies["_ga"];
var gaSplitValue = gaCookie != null && gaCookie.Value.Split('.').Length == 4 ? gaCookie.Value.Split('.') : null;
var clientId = gaSplitValue != null ? string.Format("{0}.{1}", gaSplitValue[2], gaSplitValue[3]) : "555";
如果您想用javascript获取它,您可能需要使用这个
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
Javascript可能是一个更安全的选择,因为如果Google决定更改cookie的名称,它仍然能够获取cookie,而如果您的C#代码中有cookie,它可能需要代码更新或配置更改
如果在示例代码的postData中添加clientId作为cid键的值。Google Analytics会将此链接到您当前的客户
var postData = new Dictionary<string, string>
{
{ "v", "1" },
{ "tid", "UA-XXXXXX-XX" },
{ "cid", clientId },
{ "t", type.ToString() },
{ "ec", category },
{ "ea", action },
};
var postData=新字典
{
{“v”,“1”},
{“tid”,“UA-XXXXXX-XX”},
{“cid”,clientId},
{“t”,键入.ToString()},
{“ec”,类别},
{“ea”,行动},
};
对不起,朋友,你的问题对我来说没有任何意义,请更新上下文并详细说明。你想知道什么详细信息?谷歌分析通常是从客户端运行的。是客户端向谷歌发送数据,而不是你。如果您从服务器上执行此操作,如何建立正确的用户上下文?你需要从客户那里找到一些方法。对不起,朋友,你的问题对我来说没有任何意义,请更新上下文并详细说明。你想知道什么细节?谷歌分析通常是从客户那里运行的。是客户端向谷歌发送数据,而不是你。如果您从服务器上执行此操作,如何建立正确的用户上下文?您需要从客户端找到一些方法来执行此操作。我找不到从此代码发送到google analytics的客户端会话ID/UUID和/或客户端IP。在没有这些信息的情况下,google analytics server如何提取我的用户位置,并将发送事件的用户连接到事件本身?在本例中,我们使用的是匿名的cid=555。我认为在后端获取当前客户端id的唯一方法是从cookie中获取它或使用javascript将其传递到后端。我找不到客户端会话id/UUID和/或客户端IP,无法从此代码发送到google analytics。在没有这些信息的情况下,google analytics server如何提取我的用户位置,并将发送事件的用户连接到事件本身?在本例中,我们使用的是匿名的cid=555。我认为在后端获取当前客户端id的唯一方法是从cookie中获取它,或者使用javascript将其传递到后端。