Universal Analytics事件跟踪

时间:2015-07-21 15:46:59

标签: javascript google-analytics

我的JS代码在我的客户端上运行'网站并偶尔向GA报告某些事件,以便客户可以跟踪它们(它们几乎是点击事件)。对于使用通用分析的客户,我使用的代码是:

if (typeof ga != "undefined") ga('send', 'event', category, action,opt_label);

并且通常它可以正常工作(我使用chrome的GA调试器扩展来查看发送的值)但是对于几个客户端,GA调试器扩展会返回错误:

Command ignored. Unknown target: undefined

错误是什么意思?为什么它只在某些网站上发生?

1 个答案:

答案 0 :(得分:2)

在错误消息中:

  

未知目标:未定义

“目标”一词指的是跟踪器对象。如果您正在使用GTM,它会创建自己的命名跟踪器对象,以便不与页面上的任何现有跟踪器冲突。但是如果页面上已经没有默认跟踪器,则任何ga('send', ...)ga('set', ...)命令都将失败,因为它们以默认跟踪器为目标(在这种情况下不存在)。

这通常不是问题,因为大多数analytics.js用户使用默认跟踪器,并且大多数GTM用户在GTM中执行100%的实现配置,并且根本不编写analytics.js代码,但如果您< em> do 需要编写自己的analytics.js代码使用GTM,您需要获取GTM跟踪器对象,因为默认的跟踪器语法不起作用。

您可以通过以下方式获取所有已创建的跟踪器的列表,然后您可以使用synchronous calling syntax发送事件:

ga(function() {
  var allTrackers = ga.getAll();
  var firstTracker = allTrackers[0];

  firstTracker.send('event', category, action, opt_label);
});

显然,如果您有多个跟踪器,则必须确定哪一个是GTM跟踪器。

有关使用命名跟踪器对象和/或使用多个跟踪器的更多信息,请查看此开发人员指南: https://developers.google.com/analytics/devguides/collection/analyticsjs/creating-trackers#working_with_multiple_trackers