繁体   English   中英

GA发送事件,不使用自定义维度

[英]GA send event, not working with custom dimensions

我在发送GA点击事件时尝试包含自定义维度列表。

此代码有效:

ga('send', 'event', category, action, label, {
  'hitCallback': function () {
    //some code goes here
  }
});

但是在添加自定义尺寸时:

ga('send', 'event', category, action, label, customDimensions.dimensionsToSend, {
   hitCallback': function () {
      //some code
   },
   'hitCallbackFail': function () {
      alert("Unable to send Google Analytics data");
   }
});

hitCallback和hitCallbackFail都没有被触发。 我在几个地方( 比如这里 )读到我应该能够为GA发送事件功能添加自定义维度,但也许我做错了。

第二个代码块的问题是没有正确设置自定义维度。 您不能将自定义维度作为主要ga()函数的进一步参数传递。 相反,您需要通过fieldsObject传递它们(作为您作为最后一个参数发送的对象的一部分),如下所示:

ga('send', 'event', category, action, label, {
   'dimension1': 'Some value', // Custom Dimension 1
   'dimension2': 'Some value 2', // Custom Dimension 2
   'hitCallback': function () {
      //some code
   }
});

这是以下的简写:

ga('send', {
   'hitType': 'event', 
   'eventCategory': category, 
   'eventAction': action, 
   'eventLabel': label,
   'dimension1': 'Some value', // Custom Dimension 1
   'dimension2': 'Some value 2', // Custom Dimension 2
   'hitCallback': function () {
      //some code
   }
});

请参阅ga()命令队列引用

另请注意, hitCallbackFail不是有效字段; 在失败时不会被召唤。

请参阅可用字段列表

实际上,无论您发送的hitCallback是成功还是Google Analytics拒绝了该hitCallback ,您为hitCallback提供的功能都将被执行。 唯一不会执行的是Google Analytics库未加载,或者服务器连接失败。

如果您希望执行代码,即使服务器出现故障,也可以使用超时。 从上面的页面看到这个例子:

// Use a timeout to ensure the execution of critical application code.
ga('send', 'pageview', {'hitCallback': criticalCode});
setTimeout(criticalCode, 2000);

// Only run the critical code once.
var alreadyCalled = false;
function criticalCode() {
  if (alreadyCalled) return;
  alreadyCalled = true;

  // Run critical code here...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM