隐藏谷歌分析代码

时间:2011-11-27 21:20:32

标签: asp.net google-analytics master-pages

是否有可能不在母版页上显示谷歌分析代码?我的意思是我可以把它放在没人能看到的地方,但仍然可以对应用程序进行所有分析吗?

3 个答案:

答案 0 :(得分:1)

您可以使用谷歌分析的移动代码来提出您的要求。

http://code.google.com/mobile/analytics/docs/web/

这是如何运作的。这个谷歌modile代码可以在你的服务器上调用谷歌分析,而不是使用javascript从客户端页面调用。因此,您可以完全隐藏来自客户的此来电,所有数据都会发送到Google解析,就像页面加载一样。

首先在您的Google解析详细信息页面上,获取asp.net的移动设备代码,然后查看您需要关注和更改的代码,这样您就可以创建一个在页面加载上使用的全局函数。为了避免可能的延迟,我还建议对谷歌分析进行新的线程调用,直到asp.net 4.5在WebRequest上出现包含该选项的内容。

string utmGifLocation = "http://www.google-analytics.com/__utm.gif";

        // Construct the gif hit url.
        string utmUrl = utmGifLocation + "?" +
            "utmwv=" + Version +
            "&utmn=" + GetRandomNumber() +
            "&utmhn=" + HttpUtility.UrlEncode(domainName) +
            "&utmr=" + HttpUtility.UrlEncode(documentReferer) +
            "&utmp=" + HttpUtility.UrlEncode(documentPath) +
            "&utmac=" + account +
            "&utmcc=__utma%3D999.999.999.999.999.1%3B" +
            "&utmvid=" + visitorId +
            "&utmip=" + GetIP(GlobalContext.Request.ServerVariables["REMOTE_ADDR"]);

        SendRequestToGoogleAnalytics(utmUrl);



    private void SendRequestToGoogleAnalytics(string utmUrl)
    {
        try
        {
            WebRequest connection = WebRequest.Create(utmUrl);

            ((HttpWebRequest)connection).UserAgent = GlobalContext.Request.UserAgent;
            connection.Headers.Add("Accepts-Language",
                GlobalContext.Request.Headers.Get("Accepts-Language"));

            using (WebResponse resp = connection.GetResponse())
            {
                // Ignore response
            }
        }
        catch (Exception ex)
        {
            if (GlobalContext.Request.QueryString.Get("utmdebug") != null)
            {
                throw new Exception("Error contacting Google Analytics", ex);
            }
        }
    }

所有这些都是谷歌分析移动代码的一点点破解,但一般的想法适用于您的情况。在此处获取Google Analytic SDK。 http://code.google.com/apis/analytics/docs/tracking/home.html

谷歌在这里尝试存档的内容。谷歌表示没有理由在手机上使用有限且昂贵的带宽来进行谷歌分析。因此谷歌只需打开一个页面就可以通过谷歌分析调用代码。从移动设备的一部分来看,他只需要阅读一个很小的图像,并且在这个图像调用后面的代码正在向谷歌进行重新调用。在您身边,您不需要放置图像,您可以通过稍微更改谷歌提供的功能来直接调用谷歌分析。

希望得到这个帮助。

答案 1 :(得分:0)

因为你必须将它放在分析脚本的标题中,所以没有简单的方法。你想要隐藏你的ID#?可能有一种方法可以为您的ID#引用变量,但如果没有一堆额外的编码,就没办法了。

答案 2 :(得分:0)

如果它在那里,人们可以看到它,如果他们寻找它。如果不存在,则无法进行分析。

你可能会有点偷偷摸摸,并在一个被加载到一个看不见的iframe的页面上进行分析,但有人想要找到它。