当前致力于在我们的移动应用中从使用GA旧版SDK切换到Firebase SDK。总体来说进展不错,只是看起来增强型电子商务似乎无法立即使用。
我正在使用“ ecommerce_purchase”事件,但无法将实际购买的商品传递给GA,只能获取商品数。这是我正在使用的代码,因为我们使用Xamarin,所以它在C#中:
public void LogTransaction(OrderStatus order, Basket basket)
{
if (_firebaseAnalytics == null)
return;
var products = new List<IParcelable>();
foreach (var product in basket.Products)
{
products.Add(CreateProductBundle(product));
}
var transactionBundle = new Bundle();
transactionBundle.PutParcelableArrayList("items", products.ToArray());
transactionBundle.PutString(FirebaseAnalytics.Param.TransactionId, order.Id);
transactionBundle.PutDouble(FirebaseAnalytics.Param.Value, (double)order.Total);
transactionBundle.PutDouble(FirebaseAnalytics.Param.Tax, (double)basket.SalesTax);
transactionBundle.PutString(FirebaseAnalytics.Param.Currency, "USD");
transactionBundle.PutString(FirebaseAnalytics.Param.Coupon, basket.Coupon?.CouponCode);
_firebaseAnalytics.LogEvent(FirebaseAnalytics.Event.EcommercePurchase, transactionBundle);
}
private Bundle CreateProductBundle(BasketProduct basketProduct)
{
var product = new Bundle();
product.PutString(FirebaseAnalytics.Param.ItemId, basketProduct.ProductId.ToString());
product.PutString(FirebaseAnalytics.Param.ItemName, basketProduct.Name);
product.PutString(FirebaseAnalytics.Param.ItemCategory, string.Empty);
product.PutDouble(FirebaseAnalytics.Param.Price, (double)basketProduct.BaseCost);
product.PutString(FirebaseAnalytics.Param.Currency, "USD");
product.PutLong(FirebaseAnalytics.Param.Quantity, basketProduct.Quantity);
return product;
}
看看这个google doc,我可以使用GTM来完成。但是,关于如何为Google Analytics(分析)(Firebase)设置GTM标签,这里有0个文档。
关于如何针对Google Analytics-Universal Analytics进行操作的信息很多,但是由于我无法访问Google Analytics(分析)Tracking ID,因此不再是移动应用程序的选择。
有人找到解决这种混乱的方法吗?或者更具体地说,没有人有指向优秀教程的链接,该链接将帮助我在GTM中设置“ ecommerce_purchase”标签。