Я использую следующую документацию для переименования моего dataLayer: https://developers.google.com/tag-manager/devguide#renaming
Мой код выглядит так:
fsData = [{ 'pageName' : 'test' }]
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-NV9MP5D" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><script>
(function(w,d,s,l,i){
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='//www.googletagmanager.com/gtm.js?id='+i+dl;
f.parentNode.insertBefore(j,f);
})(window,document,'script','fsData','GTM-NV9MP5D');
</script>
Затем я иду в GTM и добавляю новую переменную dataLayer и настраиваю ее на значение «pageInfo». Я создаю простой тег, который выводит эту переменную, и в качестве триггера выбираю «Все страницы» по умолчанию, который настроен на запуск, как только GTM получает событие gtm.js из приведенного выше фрагмента кода.
Проблема в том, что мой тег никогда не срабатывает, и когда я использую отладчик, я замечаю, что мой объект fsData содержит мои данные, событие gtm.js, но отладчик GTM показывает, что GTM отправляет все свои объекты и события в " dataLayer ", а не" fsData ".
Теперь у меня есть:
window.dataLayer
0: {event: "gtm.dom", gtm.uniqueEventId: 0}
1: {event: "gtm.load", gtm.uniqueEventId: 4}
window.fsData
0: {pageInfo: test}
1: {gtm.start: 1524823378118, event: "gtm.js"}
Так что я подозреваю, что GTM все еще ожидает, что я буду использовать имя «dataLayer», но я не понимаю почему, потому что я выполнил шаги из документации.
Кто-нибудь знает, что мне не хватает?
Спасибо