Javascript 谷歌标签管理器:如何将数据层puhes从dataLayerB发送到dataLayerA?

Javascript 谷歌标签管理器:如何将数据层puhes从dataLayerB发送到dataLayerA?,javascript,google-tag-manager,event-listener,google-datalayer,Javascript,Google Tag Manager,Event Listener,Google Datalayer,我有一个页面,其中数据层被命名为“dataLayerA”,GTM被设置为使用该数据层。问题是所有的数据层都将send推送到另一个数据层,比如“dataLayerB” 例如: dataLayerB.push({'event':'foo','abc':'def})而不是 dataLayerA.push({'event':'foo','abc':'def'}) 结果是我的GTM无法读取此事件 因此,我需要一种方法,每次发生dataLayerB.push时,都可以推送到dataLayerA所有推送到da

我有一个页面,其中
数据层
被命名为
“dataLayerA”
,GTM被设置为使用该
数据层
。问题是所有的
数据层
都将send推送到另一个
数据层
,比如
“dataLayerB”

例如:

dataLayerB.push({'event':'foo','abc':'def})
而不是
dataLayerA.push({'event':'foo','abc':'def'})

结果是我的GTM无法读取此事件

因此,我需要一种方法,每次发生
dataLayerB.push
时,都可以推送到
dataLayerA
所有推送到
dataLayerB
的东西

我想我应该在
dataLayerB
中添加某种事件监听器(作为自定义
html
标记,在
pageview
上启动),它可以推送到
dataLayerA
,与开发人员刚才推送到
dataLayerB
的内容相同

谢谢你的帮助, 朱利奥

这应该是可行的:

dataLayerBPush = dataLayerB.push;

dataLayerB.push = function(obj) {
  dataLayerBPush(obj);
  dataLayerA.push(obj);
}