Украина, Днепр
(095) 478-70-11
Иногда нужно отправить продукты которые попали в видимую область, тоесть пользователь задержал внимание на данных продуктах, нужно отправить в тегменеджер эту информацию, для этого можно воспользовать небольшим скритиком
function inWindow(s){
let scrollTop = $(window).scrollTop();
let windowHeight = $(window).height();
let currentEls = $(s);
let result = [];
currentEls.each(function(){
let el = $(this);
let offset = el.offset();
if(scrollTop <= offset.top && (el.height() + offset.top) < (scrollTop + windowHeight))
result.push(this);
});
return $(result);
}
let idTest =[];
$(document).on('scroll', function () {
let boxesInWindow = inWindow("div.product-layout");
let impressions = [];
if(!boxesInWindow.hasClass("already-send") && boxesInWindow.length!==0){
boxesInWindow.css('border','1px dotted red');
boxesInWindow.each(function(num){
impressions.push({
'name': $(this).find('.product-name a').text(),
'id': $(this).find('.product-model').text(),
'price': $(this).find('[itemprop=priceNumber]').attr('content'),
'brand': $(this).find('[itemprop=manufacturer]').attr('content'),
'category': '=$categoryAll?>',
'list': 'Товары в категории',
'position': num+1
});
});
let dataToLayer = {
'ecommerce': {
'currencyCode': 'UAH',
'impressions': []
},
'event': 'gtm-ee-event',
'gtm-ee-event-category': 'Enhanced Ecommerce',
'gtm-ee-event-action': 'Product Impressions',
'gtm-ee-event-non-interaction': 'True',
}
dataToLayer['ecommerce']['impressions'] = impressions;
window.dataLayer = window.dataLayer || [];
console.log(dataToLayer);
dataLayer.push(dataToLayer);
boxesInWindow.addClass("already-send");
}
});
Copyright © 2012-2026 All rights reserved.
created by WPS.