GTM не запускает триггеры DOM и Window Loaded - PullRequest
0 голосов
/ 04 июня 2019

Недавно я добавил dataLayer на наш продукт и страницы оформления заказа для расширенной электронной торговли Google Analytics, следуя соглашениям, найденным в блоге Simo.Однако с добавлением dataLayer произошло нечто странное - вызовы gtm.load и gtm.dom больше не запускаются.

Если я выполняю жесткое обновление, очистите мои куки и пройдите через потоквремя, кажется, все срабатывает правильно.Однако, как только я возвращаюсь на домашнюю страницу или какую-то другую часть сайта, я вижу только запуск gtm.js, и ни один из моих триггеров не работает.

Например, поток навигации - это домашняя страница ->список продуктов -> информация о продукте.Сайт представляет собой одностраничное приложение React, поэтому у меня есть триггер истории событий для запуска тегов GA.Если я новый пользователь и пройду эти 3 страницы, я увижу следующий пожар в слое данных (как и ожидалось): gtm.js, gtm.dom, gtm.load, gtm.history.Однако, если я вернусь на домашнюю страницу и снова пройду поток, объекты gtm.dom и gtm.load dataLayer исчезнут, и в результате мои триггеры GTM никогда не сработают.См. Изображения ниже для примеров того, как выглядит dataLayer на странице сведений о продукте для вышеуказанного потока.

Я в растерянности, поскольку я никогда не видел, чтобы gtm.load не срабатывал

dataLayer before - working

dataLayer after - not working

Код уровня данных на странице с перечнем продуктов: var window.dataLayer = window.dataLayer ||[]

dataLayer.push({
   'ecommerce': {
     'currencyCode':'CAD',
     'impressions': [    //the array of products present within the listing
      {  'id':'123456',    // Product SKU
         'name':'GOOD FOOD',    // Product Name
         'price':'7.20',   // Display price - use only xxxx.xx formatting
         'brand':'No Name', // Product Brand
         'category':'Food', 
         'position':0,    // Product position within the list
         'list':'Products page'    // leave as is    
      }, {   //second product
         'id':'456890',
         'name':'ABC Nuts',
         'price':'8.50',
         'brand':'ABC',
         'category':'Food',
         'position':1,
         'list':'Products  page'
      },

     ...

      {
         'id':'1001010',
         'name':'Fish Oil',
         'price':'95.00',
         'brand':'Zenn',
         'category':'Oil',
         'position':21,
         'list':'Products page'
      }
    ]
  }
}); </script>

dataLayer на странице сведений о продукте:

<script>
var window.dataLayer = window.dataLayer || []

dataLayer.push({
    'event': 'detail',
        'ecommerce' : { 'detail' : 
           { 'products' : [{
                 'name': 'Product ABC',      // Full product name
                 'id': '123456',   // Product SKU
                 'price': '15.25',  // Price
                 'brand': 'Noname',  // Brand of product
                 'category': 'Food', // Product category: Oil, Capsule, Flower or Accessory
                 'variant': '5g' // Size
            }]              
           }
         }
});
</script>

1 Ответ

0 голосов
/ 04 июня 2019

Поскольку вы находитесь в SPA, gtm.load и gtm.dom произойдут только один раз, вы должны основывать свои триггеры на чем-то другом.

...