Диспетчер тегов Google: как я могу отправить пакеты dataLayer из dataLayerB в dataLayerA?

У меня есть страница, где dataLayer называется "dataLayerA", и GTM настроен на работу с этим dataLayer. Проблема в том, что все толчки dataLayer отправляются другому dataLayer, скажем, "dataLayerB".

Например:

dataLayerB.push({'event':'foo', 'abc':'def'}) вместо dataLayerA.push({'event':'foo', 'abc':'def'})

В результате мой GTM не может прочитать эти события.

Итак, мне нужен способ отправить в dataLayerA все, что передается в dataLayerB каждый раз, когда происходит dataLayerB.push.

Думаю, мне следует добавить в dataLayerB какой-нибудь обработчик событий (в качестве пользовательского тега html для запуска на pageview), который отправляет в dataLayerA те же самые вещи, которые разработчик только что отправил в dataLayerB.

Спасибо за помощь, Джулио


person Giulio    schedule 06.05.2018    source источник


Ответы (1)


Это должно работать:

dataLayerBPush = dataLayerB.push;

dataLayerB.push = function(obj) {
  dataLayerBPush(obj);
  dataLayerA.push(obj);
}
person Max    schedule 06.05.2018