如何在页面加载时将多个事件推送到Google Analytics分析?

问题描述

当我加载电子商务收据页面时,我试图对分析数据层进行两次推送。

我的问题是我只能参加两个事件之一。

我要在收据页面上输出它:

<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 (将#修改为@)