如果某些元素有印象,我该如何通过GTM跟踪?假设我想知道这个元素已经看到了多少次? <div class="box"><div> class"text"><span>Text</span</div</div>
您可以创建一个自定义JavaScript变量,以检查是否存在 .box
类的元素。
类似:
if(document.getElementsByClassName("box")){
return true;
} else {
return false;
}
然后,您可以在触发器中使用它(例如,您的自定义变量> equals> true(。
您可以使用一个自定义HTML标签和自定义事件触发器跟踪印象。您需要将事件侦听器附加到检查页面上是否可见元素的函数:
<script>
var hasDeals = document.getElementsByClassName('box').length;
var element = document.getElementsByClassName('box')[0];
var elVisible = false;
var eventPushed = false;
if(hasDeals>0) {
document.addEventListener("scroll", function() {{isScrolledIntoView(element);}} );
}
function isScrolledIntoView(el) {
if(!elVisible) {
var elemTop = el.getBoundingClientRect().top;
var elemBottom = el.getBoundingClientRect().bottom;
var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight);
elVisible = isVisible;
return isVisible;
} else if(!eventPushed) {
dataLayer.push({'event': 'dealVisible'});
eventPushed = true;
}
}
</script>
从那里您只需要创建触发器并根据需要使用它。您可以在此处找到有关此脚本如何工作的更多说明以及如何在其他情况下编辑它:使用Google Tag Manager跟踪元素印象