c# - 在 C# 中触发 Google Analytics 重定向

标签 c# asp.net

我有一个简短的申请表,我在其中捕获了一些信息,然后将用户重定向到他们完成申请的第三方网站。

我正在使用 Google Analytics(和 Google 转化跟踪器)来监控我们网站上的点击率。因此,我必须使用 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");
}

最佳答案

您可以从 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 hack,我不知道。另一种方法是使用Google Analytics SDK 看看有没有其他官方方法调用它

http://code.google.com/apis/analytics/docs/tracking/home.html

关于c# - 在 C# 中触发 Google Analytics 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6417257/

相关文章:

asp.net - 可以从 jQuery 触发 asp.net 验证吗?

c# - Owin 重启后重新连接 SignalR 客户端,但未发布消息

javascript - 将对象数组从 JavaScript 发送到 C# Controller

c# - 在 C# 中使用外部 C++ 库

c# - 如何提高 Mono 中 winforms 应用程序的性能?

asp.net - 您如何在 ASP.NET 解决方案中调用物理上分离的 UI/BL 代码?

asp.net - 如何使用 asp.net mvc razor 在 Telerik 网格中显示加载图像

c# - 从 EnterpriseLibraryContainer 初始化 RetryManager 不起作用

c# - LiteralControl 出现意外标记 "}"错误

.net - 适用于 Linux 的 ASP.NET 页面设计器