从C#中启动Google Analytics是行不通的
本文关键字:行不通 Analytics Google 启动 | 更新日期: 2023-09-27 18:25:50
我在C#中有以下代码,但在Fiddler2上没有看到任何结果?我在这里和一般情况下看了很多问题,尽管似乎有不同的方法。我需要我的MVC控制器在启动对谷歌分析的跟踪后将用户重定向到第三方页面。
C#代码
var rnd = new Random();
var statsRequest = string.Format("http://www.google-analytics.com/__utm.gif?utmwv=4.6.5&utmn={0}&utmcs=-&utmsc=-&utmul={1}&utmje=-&utmfl=-&utmdt=&utmhid=&utmr=0&utmp=&utmac={2}&utmcc=__utma%3D",
rnd.Next(100000000, 999999999),
languageCode,
accountId);
using (var client = new WebClient())
{
client.DownloadData(statsRequest);
}
有人能帮忙吗?如果我在单元测试中运行此代码,它会起作用(即,我在Fiddler2中看到statsRequest),但当我访问网页时不会起作用。我做错什么了吗?
上面的代码被封装在控制器动作调用的方法中
C#MVC控制器
public class MyController ...
{
public ActionResult Test()
{
SendGoogleTrackingCode();
Response.Redirect(externalUrl);
}
}
非常感谢,
也许运行的代码在重定向之前没有等待GA请求发送它。尝试添加一些异常处理程序来检查引发的问题类型。
但是,你的GA命中率数据有点过时了。
GA命中数据应使用测量协议构建。请查看此处的官方文档:https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide
您可以尝试使用命中生成器在以下位置构建自定义命中:https://ga-dev-tools.appspot.com/hit-builder/
此外,您还可以使用调试器参数检查命中是否有效:https://developers.google.com/analytics/devguides/collection/protocol/v1/validating-hits
除此之外,要从C#中激发它,还有几个方法。首先,看看这个例子:
using (var wb = new WebClient())
{
var data = new NameValueCollection();
data["v"] = "1";
data["tid"] = "UA-XXXXXXXX-1";
data["cid"] = Guid.NewGuid().ToString();
data["t"] = "event";
data["ec"] = "myCategory";
data["ea"] = "myAction";
var url = @"https://ssl.google-analytics.com/collect";
var response = wb.UploadValues(url, data);
var stringResponse = System.Text.Encoding.UTF8.GetString(response);
}
此外,我在以下位置找到了一个有用的包装器:https://gist.github.com/0liver/11229128
我希望它能有所帮助!