有没有一种安全的方法可以将eventCallback与GTM DataLayer一起使用?

时间:2016-05-18 12:24:29

标签: google-analytics google-tag-manager google-datalayer

当有人点击"购买"我的网站上的按钮,我尝试使用dataLayer和dataLayer.push通过Google跟踪代码管理器跟踪此事件。

它的外观如下:



dataLayer.push({
  'event': 'service',
  'category': 'purchase',
  'action': 'product selected',
  'label': product
});




问题是,每次用户点击按钮时,服务都会立即重定向到购物车,因此在某些情况下,事件没有足够的时间触发,Google Analytics中的数据也不完整。

我知道" eventCallback"您可以使用dataLayer的选项,如下所示



dataLayer.push({
  'event': 'service',
  'category': 'purchase',
  'action': 'product selected',
  'label': product,
  'eventCallback': function () {
    //redirect to the shopping cart
  }
});

});




但是这个选项存在问题,它会产生依赖性,并且有些情况下用户没有被重定向到购物车,因为谷歌标签管理器的一些蠢事(这对我们来说是一个巨大的问题) )。

是否有更流畅有效的方法来处理此问题,以便我们可以收集尽可能多的数据而不会破坏我们的服务(例如,在用户浏览器中启用跟踪保护时)

1 个答案:

答案 0 :(得分:0)

有一个属性eventTimeout,您可以使用它忽略GTM并以任何方式重定向用户。但是,浏览器还可能会完全阻止GTM,因此您还需要检查脚本是否已正确加载到您的应用程序中,如果未正确加载,则只需调用该回调即可,而不是推送到数据层