2015-05-28 2 views
-1

Когда я положил dataLayer[1].ecommerce.checkout.products[0].metric2 в консоль, он вернет правильное значение.Консоль возвращает значение, но переменная менеджера тегов Google не

Однако, когда я пытаюсь извлечь значение из пользовательской переменной JavaScript («Тест») в Диспетчере тегов Google, он возвращает undefined, когда Диспетчер тегов Google находится в режиме предварительного просмотра.

Код JavaScript:

function(){ 
var basketSize = dataLayer[1].ecommerce.checkout.products[0].metric2; 
return basketSize; 
} 
+1

какой вопрос о? –

+0

Я работаю над клиентом Enhanced Ecommerce, где текущий размер корзины переносится на dataLayer на каждом этапе проверки как «metric2». Что бы я хотел сделать, это сгруппировать эти значения с интервалами в 200 (0-200, 201-400 и т. Д.) Перед обработкой данных в Google Analytics. Однако диспетчер тегов, похоже, не находит правильное значение на основе кода, помещенного в консоль. Насколько я понимаю, они должны читать данные в dataLayer одинаково, хотя я могу ошибаться? – user2966547

+0

Вероятно, к тому времени, когда вы измените пользовательскую переменную javascript, GTM подтолкнуло много материала (gtm.js, gtm.dom и gtm.load между прочим) к файлу данных, чтобы ваш индекс был неправильным. Вы должны получить доступ к dataLayer только через переменные dataLayer, все остальное задает проблемы. –

ответ

1

В случае, если ваши вопросы не ответил еще: Дело в том, вы yon't хотите ссылаться на массив dataLayer внутри переменной dataLayer в ПТМ. Это не имеет смысла, потому что вы уже находитесь в пространстве имен dataLayer. Если вы ссылаетесь на поле, просто напишите ecommerce./*...*/.metric2 и оставив часть dataLayer[1], она будет работать.

Смежные вопросы