【问题标题】:How to track ASP.Net MVC web app using Google Analytics when multiple subdomains are used使用多个子域时如何使用 Google Analytics 跟踪 ASP.Net MVC Web 应用程序
【发布时间】:2018-04-20 18:17:45
【问题描述】:

我从事的 ASP.Net MVC 5 webapp 简介

  • 这个 ONE Webapp 服务于许多不同的网站(种类)。我的意思是代码只是一个,但它为我们的 100 位客户运行,他们都以不同的方式看待他们的网站(好像他们都有自己的独立网站)
  • 但在后端,它全部由一个代码处理。我们有点读取子域,并在此基础上加载网站/客户特定的 BLOB 并加载特定客户的网站。
  • 长话短说,如果我为我的独立 web 应用停止 IIS,所有网站都将停止。

网站的 URL 如下所示:

例子:

  1. A.abc.xyx.com - 客户 1 的网站
  2. B.abc.xyz.com - 客户 2 的网站
  3. C.abc.xyz.com - 客户 3 的网站

现在我的一位客户要求将谷歌分析添加到他们的网站。所以我去了谷歌分析并添加了 A.abc.xyx.com 网站。它生成了一个 JS Tag。

我得到了代码并将其添加到我的 Head Tag 中。并发布了网站。

问题:该标签现在出现在所有客户的网站中。

例如:

如果 A.abc.xyz.com - 打开 5 次

如果 B.abc.xyz.com - 打开 3 次

如果 C.abc.xyz.com - 打开 2 次​​p>

谷歌分析显示 活动连接 = 10。

  • 我知道所有网站都有相同的代码,因此都有相同的 Google Analytics 跟踪代码。

  • 我的假设是因为我为 A.abc.xyz.com 创建了标签,它只会跟踪它。但它跟踪所有网站。 为什么会这样???

解决方法:

我可以尝试读取在浏览器中打开的子域,并且仅在与特定子域匹配时有条件地添加跟踪脚本。但是明天如果其他客户要求他们提供独立的 Analytics,我将如何管理它。

问题:如何确保只有 A.abc.xyx.com 被跟踪

【问题讨论】:

    标签: .net asp.net-mvc google-analytics


    【解决方案1】:

    您可以为每个域创建一个子文件夹,例如

    /自定义/A /自定义/B

    等等。然后在里面放一个局部视图用于分析,例如

    /custom/A/analytics.cshtml

    然后在你的布局页面中:

    string domain = "logic to get domain here";
    if (File.Exists(Server.MapPath(string.Format("/custom/{0}/analytics.cshtml", domain))))
    {
        Html.RenderPartial(string.Format("/custom/{0}/analytics.cshtml", domain));
    }
    

    这样,如果有该客户的文件,则将其包含在内,否则不会。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-03
      • 2012-01-16
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 2014-05-16
      相关资源
      最近更新 更多