GA 增强型电子商务中 checkout_option 的几个选项

Several options for checkout_option in GA Enhanced Ecommerce

使用 GA 增强型电子商务为单个结账步骤注册多个选项的最佳方法是什么?

如文档所述:

// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
  ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': shippingOption
  });

  ga('send', 'event', 'Checkout', 'Option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

问题是我们一步收集运费和付款选项,我们想跟踪这两个选项。这是我们的初步想法:

// Called when user has completed shipping and payment options.
function onStepComplete(stepNumber, shippingOption,paymentOption ) {
  ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': shippingOption
  });

ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': paymentOption
  });

  ga('send', 'event', 'Checkout', 'Option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

这会按预期工作吗?之后我们能正确分割吗?

恐怕选项是排他性的,它们在 GA 的新增强结帐渠道报告中充当维度。如果要分析哪种运输方式效果更好,那么不能将其与付款方式混合在一起,两者必须是不同的维度,因为维度的值是互斥的。

我会将运输和付款分为两个单独的步骤,每个步骤都有自己的维度 shipping/payment,即使您有一步结帐(现在很正常),您也可以根据需要创建任意多个步骤。

看看 Enhanced Ecommerce Demo Store,他们在第 2 步中展示了付款方式,但是当用户点击选择器以选择 Visa/transfer/etc 时,会创建第 3 步。

checkout_option 更改为 checkout - 似乎是 Google 处理两种不同类型的方式事件以及每个事件需要哪些数据才能在增强型电子商务中工作。我自己也遇到了同样的问题,并且已经设法解决了这个问题。

基于您的代码的示例是:

    // Called when user has completed shipping and payment options.
function onStepComplete(stepNumber, shippingOption,paymentOption ) {
  ga('ec:setAction', 'checkout', {
    'step': stepNumber,
    'option': shippingOption
  });

ga('ec:setAction', 'checkout', {
    'step': stepNumber,
    'option': paymentOption
  });

  ga('send', 'event', 'checkout', 'option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

每一步只允许 1 个维度。解决方案是创建子步骤,当你触发 2 个子步骤时,记得发送 2 个事件而不是 1 个,否则最后一个会覆盖。

这里是:

                    async.parallel([
                    function shippingOption(callback) {
                        ga('ec:setAction', 'checkout_option', {
                            'step': 1,
                            'option': shippingOption
                        });
                        ga('send', 'event', 'Checkout', 'Option', {
                            hitCallback: callback(null, true)
                        });

                    },
                    function paymentOption(callback) {
                        ga('ec:setAction', 'checkout_option', {
                            'step': 2,
                            'option': paymentOption
                        });                                                
                        ga('send', 'event', 'Checkout', 'Option', {
                            hitCallback: callback(null, true)                                
                        })
                    }
                ], function(err, hitCallback){
                   // do something like going to next page
                })