在c#中重定向时触发Google Analytics
本文关键字:Google Analytics 重定向 | 更新日期: 2023-09-27 17:59:50
我有一个简短的申请表,我在其中捕获一些信息,然后将用户重定向到第三方网站,他们在那里完成申请。
我正在使用谷歌分析(和谷歌转换跟踪器)来监控我们网站上的点击量。因此,我必须使用Analytics Javascript和重定向指向"转换页面"。不幸的是,我的javascript没有被调用。
如何确保在重定向发生之前调用Javascript?
<head runat="server">
<title></title></head><body>
<script type="text/javascript" src="/scripts/Analytics.js"></script>
<script type="text/javascript" src="/scripts/Analytics2.js"></script>
<!-- Google Code for Filling out Form Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 964293672;
var google_conversion_language = "en";
var google_conversion_format = "2";
var google_conversion_color = "ffffff";
var google_conversion_label = "H0y7CMi73wIQqOjnywM"; var google_conversion_value = 0;
/* ]]> */
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display: inline;">
<img height="1" width="1" style="border-style: none;" alt="" src="http://www.googleadservices.com/pagead/conversion/964293672/?label=H0y7CMi73wIQqOjnywM&guid=ON&script=0" />
</div>
</noscript>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Page.LoadComplete += new EventHandler(Page_LoadComplete);
}
}
void Page_LoadComplete(object sender, EventArgs e)
{
Response.Redirect("https://anotherwebsite.com/c/transint?uri_b=ia_86894");
}
您可以从Google Analytics获取移动代码,并在重定向前直接调用Google Analytics。
请参阅此处的代码示例。http://code.google.com/mobile/analytics/docs/web/
从您的分析帐户下载ga.aspx文件,并根据您的帐户进行更改,以便使用代码隐藏调用Google Analytics。
这是您需要关注的代码部分。
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 Analytics SDK来查看是否有其他官方方法可以称之为
http://code.google.com/apis/analytics/docs/tracking/home.html
我需要添加第三个跟踪脚本,所以我只在jQuery docReady函数中使用了JavaScript重定向。
我使用了window.location.replace(…),因为它不会将重定向页面放入浏览历史记录中。
感谢您的意见@Aristos。