首页 > 解决方案 > 如何使用 Google 跟踪代码管理器发送 ga(...) 事件?

问题描述

我正在为现有网站上的谷歌标签管理器更改谷歌分析。这个网站也使用谷歌电子商务,所以我ga()在一些页面上做了一些与电子商务相关的自定义调用。

问题是因为谷歌分析脚本是异步加载的,ga()当我尝试发送一些电子商务相关数据时不再定义。我在某处找到了解决方法:

window['GoogleAnalyticsObject'] = 'ga';
window['ga'] = window['ga'] || function() {
  (window['ga'].q = window['ga'].q || []).push(arguments)
};

但是,虽然我不再有“ga 未定义”的问题,但它仍然不起作用。

我在谷歌仪表板上看不到任何东西。我也没有在调试消息中看到任何内容(在开发人员控制台中)。

似乎正在发生的事情是,使用 GMT 加载的 GA 脚本没有使用我设置的这些变量,但我不确定如何修复它,或者是否可以继续使用我ga()的 GMT 调用。

我知道我可以做到这一点,dataLayer但我试图避免为此重写一堆工作代码。

标签: google-analyticsgoogle-tag-manager

解决方案


我见过这样的实现:

  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
  ga('create', UA-XXXXXXXXXX, 'auto');
  ga('require', 'ecommerce');

也许这也适合你。

如果您使用增强型电子商务,则“ga('create...”下面的代码必须更改为:

ga('require', 'ecommerce');

至:

ga('require', 'ec');

顺序在这里很重要,事件可以在这些函数之后发送。


推荐阅读