6

我在任何地方都找不到如何将hitCallback参数与 google analytics一起使用ecommerce:send。在文档中,它唯一的例子是 with send,pageview

这是我尝试过的代码:

ga('ecommerce:send',
   {'hitCallback': function() {window.location.href="/test.php";}}
);

但它没有工作,虽然跟踪工作。

4

2 回答 2

3

如前所述,hitCallback 不适用于电子商务:发送。疯狂。

但是,我发现(至少今天)它确实适用于 ecommerce:addTransaction 和 ecommerce:addItem (当它们最终被发送时)。因此,您只需要确保来自这些调用的所有 hitCallbacks 都已被击中,然后您就安全了。

于 2014-11-11T21:03:42.697 回答
1

我遇到了同样的问题,并且查看了源代码,没有干净的方法可以做到这一点。

问题ga('ecommerce:send')是它在内部调用 -

  • ga('send', 'transaction', {...})一次用于您的交易,然后
  • ga('send', 'item', {...})每个项目一次

如果您必须等待ecommerce:send完成,您可以执行以下操作之一:

  1. 破解ecommerce.js允许您传入hitCallback函数的自定义,或
  2. <img/>如果数据小于 2KB,Google Analytics 会使用标签发送数据。因此,您可以检查<img/>由 JavaScript 创建的每个标签,如果该src属性包含 www.google-analytics.com,则等待它加载。

我实际上已经成功使用了#2(参见http://jsfiddle.net/zkQXX/),但它确实是一个 hack。

于 2014-02-06T21:55:12.827 回答