JSFiddle - React, Tailwind, and code Playground
HTML
<div class="products">
<div class="row">
<div class="col-md-3">
<div class="ibox">
...
<a href="#" onClick="metricasEC.productClick(this)" data-name="CANECA MINI DC COMICS WONDER WOMAN BODY" data-id="12345" data-price="10.00" data-brand="DC Comics" data-category="Canecas" data-variant="Branca" data-list="Mais visitados" data-position="1" class="btn btn-xs btn-outline btn-primary">COMPRAR AGORA! <i class="fa fa-long-arrow-right"></i> </a>
</div>
</div>
<div class="col-md-3">
<div class="ibox">
...
<a href="#" onClick="metricasEC.productClick(this)" data-name="CANECA HERMIONE" data-id="67890" data-price="19.90" data-brand="Warner" data-category="Canecas" data-variant="Branca" data-list="Mais visitados" data-position="2" class="btn btn-xs btn-outline btn-primary">COMPRAR AGORA! <i class="fa fa-long-arrow-right"></i> </a>
</div>
</div>
</div>
</div>
JavaScript
metricasEC = (function(){
productClick = function(e){
dataLayer.push({
'event': 'productClick',
'ecommerce': {
'click': {
'actionField': {'list': e.getAttribute("data-list")},
'products': [{
'name': e.getAttribute("data-name"),
'id': e.getAttribute("data-id"),
'price': e.getAttribute("data-price"),
'brand': e.getAttribute("data-brand"),
'category': e.getAttribute("data-category"),
'variant': e.getAttribute("data-variant"),
'position': e.getAttribute("data-position")
}]
}
},
});
}
return {
productClick: productClick
}
})();