$('.buyForm').each(function(index) { productDataForGTM = JSON.parse($(this).attr('data-product')); productsForGTM.push({ 'name': productDataForGTM.name, 'id': productDataForGTM.id, 'price': Number(Math.round(productDataForGTM.definition.basePrice+'e2')+'e-2'), 'list': 'category', 'position': index + 1 }); 9. LogiCommerce – Registrar clicks en productos de categoría Para enviar a través del dataLayer de GTM si el usuario ha hecho clic en alguno de los productos de la lista de productos que está viendo en una categoría, debemos añadir una parte adicional al script anterior: // productClick event $(this).click(function(event) { if($(event.target).is('a[href]') || $(event.target).parents('a[href]').length) { var productDataForGTMevent = JSON.parse($(this).attr('data-product')); dataLayer.push({ 'event': 'productClick', 'ecommerce': { 'currencyCode': 'EUR', 'click': { "actionField": {"list":"category" }, 'products': [{ 'name': productDataForGTMevent.name, 'id': productDataForGTMevent.id, 'price': Number(Math.round(productDataForGTMevent.definition.basePrice+'e2')+'e-2'), 'position': index + 1 }] } } }); } }) }); // productImpressions event dataLayer.push({ 'event': 'productImpressions', 'ecommerce': { 'currencyCode': 'EUR', 'impressions': productsForGTM } });