是否有可能不在母版页上显示谷歌分析代码?我的意思是我可以把它放在没人能看到的地方,但仍然可以对应用程序进行所有分析吗?
答案 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的页面上进行分析,但有人想要找到它。