Javascript “如何发送”;“谷歌分析”;及;hotjar“;使用服务器ASP.NET MVC跟踪客户端事件#

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代码): 我真的不想要这个解决方案。 因为这样,我将数据发

我的情况是有人浏览我们的网站,我使用javascript google analytics和hotjar跟踪我的用户

  • 我在跟踪这样的用户:

    ga('send'、'event'、'/RegisterButton'、''); hotjar('send','event')

  • 然而,现在这些人在服务器端发生了一些事件和数据,我也想跟踪这些事件和数据(在分析中)

    例如,我想知道一个人是否多次上传文件

    我该怎么做

    一种方法是这样做(这是一个psuedo代码):

    我真的不想要这个解决方案。 因为这样,我将数据发送到客户端。我通常在我的网页中不需要这些数据。这只会使javascript代码复杂化

    我想要一个解决方案,这样我就可以从服务器端直接将这些数据发送到google analytics。 像这样:

    在javascript(psuedo代码)中:

    在我的服务器端控制器中(这是一个psuedo代码):

    谢谢

    编辑:我也需要这个用于hotjar(类似于google analytics的服务)…

    我使用C#在google analytics中注册事务事件。我发现这段代码对于分析包装类非常有用

    他使用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”,行动},
    };
    
    我使用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将其传递到后端。