C# C语言中的谷歌分析电子商务跟踪
与第三方开发人员合作,与Paypal一起实施Google Analytics服务器端电子商务跟踪。参考代码项目上的源代码,我们已经在登台上实现了以下Google Analytics代码,但它没有触发任何事务:C# C语言中的谷歌分析电子商务跟踪,c#,paypal,google-analytics,e-commerce,paypal-pdt,C#,Paypal,Google Analytics,E Commerce,Paypal Pdt,与第三方开发人员合作,与Paypal一起实施Google Analytics服务器端电子商务跟踪。参考代码项目上的源代码,我们已经在登台上实现了以下Google Analytics代码,但它没有触发任何事务: private void GoogleAnalytics(Order order) { var wrapper = new HttpRequestWrapper(Request); try {
private void GoogleAnalytics(Order order)
{
var wrapper = new HttpRequestWrapper(Request);
try
{
GoogleRequest request = new GoogleRequest("UA-3820067-1", wrapper);
request.Culture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
request.HostName = System.Web.HttpContext.Current.Request.Url.ToString();
request.PageTitle = "ShoppingCart";
Transaction trans = new Transaction(Convert.ToInt32(order.OrderId), string.IsNullOrEmpty(order.Billing_City) ? (string.IsNullOrEmpty(order.Shipping_City) ? "" : order.Shipping_City) : order.Billing_City, string.IsNullOrEmpty(order.Shipping_Country) ? "" : order.Shipping_Country,
Convert.ToString(order.RegionId), "store", string.IsNullOrEmpty(order.Shipping_Additional) ? 0 : Convert.ToDecimal(order.Shipping_Additional), Convert.ToDecimal(order.Total), Convert.ToDecimal(order.TaxAmount));
foreach (OrderItem orderItem in order.Items)
{
//ProductCode or SKU, ProductName, ItemPrice, Quantity, GroupName
TransactionItem item = new TransactionItem(Convert.ToString(orderItem.SurveyId), orderItem.SurveyName, Convert.ToDecimal(orderItem.Price), orderItem.Quantity, "Survey");
trans.AddTransactionItem(item);
}
//Now just make a request for this transaction object
request.SendRequest(trans);
}
catch (Exception ex)
{
log.Error("Exception occured while Google Analytics process ", ex);
}
}
我们还实现了Paypal PDT以接收交易信息,目前该功能正常运行。以下是我们在PDT响应成功时所调用的内容
if (strResponse.StartsWith("SUCCESS"))
{
PDTHolder pdt = PDTHolder.Parse(strResponse);
strCustom = pdt.Custom;
strCustom = HttpUtility.UrlDecode(strCustom);
if (strCustom.Contains("&"))
{
string[] arrCustom = strCustom.Split('&');
cc = arrCustom[0].Split('=')[1];
pp = arrCustom[1].Split('=')[1];
orderID = Convert.ToInt32(arrCustom[2].Split('=')[1]);
cartID = arrCustom[3].Split('=')[1];
}
order.OrderId = Convert.ToInt32(orderID);
order.LoadByOrderId(Config.SurveyDsn);
this.GoogleAnalytics(order);
}
else
{
log.Debug("PDT failure");
}
非常感谢您提供的任何帮助,因为我一直在思考下一步如何从Paypal接收信息并发送到Google Analytics服务器。您是如何设置分析帐户的?从文档判断,该库仅适用于经典分析,默认为通用分析。感谢您的评论。我们仍在使用经典分析。您将遇到问题,因为PDT不是记录交易的可靠方法。用户不必总是在下单后返回页面-查看express checkout以解决此问题。您好David-感谢您的回复。PDT实现已启动并正在运行,但我理解您对PDT不可靠的担忧。您是否能够提供任何关于谷歌分析代码为何不触发交易的见解?正在成功传递所有PDT变量。谢谢