Google Analytics代码 - 将它放入MVC 5应用程序的正确位置?

时间:2014-10-23 23:24:46

标签: asp.net-mvc google-analytics

我有一个MVC 5应用程序。我将Google Analytics代码和跟踪代码放在单独的.js文件中,如下所示:

// Google Analytics code
(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', '-------------', 'auto');
ga('send', 'pageview');

// Google Analytics tracking code
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '-------------']);
_gaq.push(['_trackPageview']);

(function () {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

这个.js文件在我的BundleConfig.cs文件中,如下所示:

    bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                "~/Scripts/Misc/googleAnalytics.js",
                "~/Scripts/modernizr-*"
                ));

在我的_Layout.cshtml文件中,我引用了BundleConfig文件,如下所示:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="no-cache">
    <meta http-equiv="Expires" content="-1">
    <meta http-equiv="Cache-Control" content="no-cache">

    <title></title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>

这看起来是否正确?我想确保它按预期工作。

2 个答案:

答案 0 :(得分:4)

来自谷歌分析documentation

  

将您的代码段(未经更改,完整地)粘贴到每个网页中   你想跟踪。在结束前立即粘贴   </head>代码。如果您使用模板动态生成页面   您的网站(如果您使用PHP,ASP或类似技术),您可以   将跟踪代码段粘贴到自己的文件中,然后将其包含在内   你的页面标题。

所以我认为它应该是你的捆绑包中的最后一个脚本:

 bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                "~/Scripts/modernizr-*",
                "~/Scripts/Misc/googleAnalytics.js"
                ));

答案 1 :(得分:2)

<head>中的任何地方都可以,因此就位置而言,您的状态良好,但您的跟踪代码不正确。您已同时包含旧跟踪代码和新跟踪代码,您应删除旧跟踪代码并仅保留新跟踪代码。删除所有

行之后的所有内容

// Google Analytics跟踪代码

新的(通用)跟踪代码使用谷歌的javascript文件命名为&#34; analytics.js&#34;旧的(经典的)使用名为&#34; ga.js&#34;的javascript文件。因此,如果您看到ga.js,请按照说明进行升级。 https://developers.google.com/analytics/devguides/collection/upgrade/guide