在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&amp;guid=ON&amp;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");
}

在c#中重定向时触发Google Analytics

您可以从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。