Я использую Google Tag Manager, и он просто перестал работать на целевой странице, на которую перенаправляются клиенты после заполнения формы. Он работает, если вы обновили страницу sh, но не работает с перенаправлениями.
Я знаю, что это пахнет турболинками, поэтому я изменил функцию javascript, как рекомендовали многие статьи:
<script>
document.addEventListener('turbolinks:load', function(event) {
console.log(event, dataLayer)
var url = event.data.url;
dataLayer.push({
'event':'pageView',
'virtualUrl': url
});
});
(function(w,d,s,l,i){
console.log("getting it")
w[l]=w[l]||[];w[l].push({
'gtm.start': new Date().getTime(),event:'gtm.js'
});
var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})
(window,document,'script','dataLayer','GTM-######');
</script>
В моей консоли я вижу console.log(event, dataLayer)
, но нет запроса на: https://www.googletagmanager.com/gtm.js?id=GTM-######
Когда я обновляю sh страницу, я вижу те же вещи, записанные на моей консоли, но есть запрос на https://www.googletagmanager.com/gtm.js?id=GTM-######
.
Кто-нибудь знает, как заставить этот запрос сработать, или понимает, что может пойти не так?