#javascript #variables #google-tag-manager #preview
Вопрос:
У меня есть ситуация, когда при нажатии CTA в модальном окне мне нужно выбрать идентификатор из баннера за этим модальным. Пользовательский сценарий JS отлично работает в режиме предварительного просмотра, но после публикации ничего не возвращает. Есть идеи, в чем может быть проблема?
Пользовательская переменная JS — Скрипт :
function(){
var returnId = '';
var currentModalId = document.body.dataset.currentModalId; // Get previous ID clicked (from the banner button)
var bannerModalId = google_tag_manager["GTM-XXXXXXX"].dataLayer.get("gtm.element").dataset.modalId; // Get ID from banner button
if (!bannerModalId) {
// This is a get operation not a set
return currentModalId;
}else {
// This is a set operation not a get
document.body.dataset.currentModalId = bannerModalId;
return bannerModalId;
}
}
Комментарии:
1. Обоснованное предположение (следовательно, комментарий вместо ответа), но разница между предварительным просмотром и живым просмотром заключается в том, что предварительный просмотр оценивает все переменные при их вызове, даже в отсутствие событий и т. Д. Поэтому, возможно, в текущей версии у вас в стеке нет ожидаемого элемента gtm., и в этом случае поиск несуществующего атрибута данных приведет к сбою тега. Может быть, вы можете проверить, действительно ли datalayer.get создает элемент, который вы ожидаете?
2. Спасибо. Исправлено сейчас !