问题描述
当我加载电子商务收据页面时,我试图对分析数据层进行两次推送。
我的问题是我只能参加两个事件之一。
我要在收据页面上输出它:
<script>
function trackEcommerce() {
dataLayer.push({
'event': 'checkout','ecommerce': {
'checkout': {
'actionField': { 'step': 2 }
}
}
});
}
dataLayer.push({
'event' : 'purchaseEvent','ecommerce': {
'purchase': {
'actionField': {
'id': '@orderId','affiliation': 'Eldorado','revenue': '@OrderTotal.ToString("F",System.Globalization.CultureInfo.GetCultureInfo("en-GB"))','tax':'@VatTotal.ToString("F",'shipping': '@ShippingFee.ToString("F",System.Globalization.CultureInfo.GetCultureInfo("en-GB"))'
},'products': [
@foreach (var item in GetLoop("OrderLines"))
{
string productName = item.GetString("Ecom:Product.Name").Replace("\"","").Trim();
string productNumber = item.GetString("Ecom:Product.Number");
double orderLineUnitPrice = item.GetDouble("Ecom:Order:OrderLine.UnitPrice.PriceWithoutVAT.Value");
int orderLineQuantity = item.GetInteger("Ecom:Order:OrderLine.Quantity");
string brand = item.GetString("Ecom:Product:Field.Brands.Value");
var DwProduct = ProductService.GetProductById(item.GetString("Ecom:Order:OrderLine.ProductID"),item.GetString("Ecom:Order:OrderLine.ProductVariantID"),item.GetString("Ecom:Product.LanguageID"));
string category = DwProduct.DefaultGroup == null ? "" : DwProduct.DefaultGroup.Name;
<text>{
'name': '@productName','id': '@productNumber','price': '@orderLineUnitPrice.ToString("F",'brand': '@brand','category': '@category','quantity': @orderLineQuantity
},</text>
}
]
}
},'eventCallback': trackEcommerce()
});
</script>
我尝试过以各种不同的方式格式化此代码。我已经使回调函数直接像下面那样调用第二个dataLayer push:
'eventCallback': function () {
dataLayer.push({
'event': 'checkout','ecommerce': {
}
});
}
我还尝试仅连续输出两个dataLayer推送,而两次推送之间没有eventCallback或其他关系。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)