按钮:
<button id="btnBuy" onclick="SendData();"
JavaScript函数:
<script>
// Measure a view of product details. This example assumes the detail view occurs on pageload,
// and also tracks a standard pageview of the details page.
var dataLayer = [];
dataLayer.push( {
'ecommerce': {
'detail': {
'actionField': {'list': 'Apparel Gallery'}, // 'detail' actions have an optional list property.
'products': [{
'name': '@GetString("Ecom:Product.Name")', // Name or ID is required.
'id': '@GetValue("Ecom:Product.Number")',
'price': '@GetValue("Ecom:Product.ActualPriceWithVAT")',
'brand': '@GetString("Ecom:Manufacturer.Name")',
'category': 'PRODUCT_CATEGORY'
}]
}
}
});
function SendData()
{
var purchaseData =
dataLayer.push( {
'event': 'addToCart',
'ecommerce': {
'currencyCode': 'SEK',
'add': { // 'add' actionFieldObject measures.
'products': [{ // adding a product to a shopping cart.
'name': '@GetString("Ecom:Product.Name")',
'id': '@GetValue("Ecom:Product.Number")',
'price': '@GetValue("Ecom:Product.ActualPriceWithVAT")',
'brand': '@GetString("Ecom:Manufacturer.Name")',
'category': 'Apparel',
'variant': $j('input[name=radioDim1]:checked').val(),
'quantity': $j( '#QuantitySelector option:selected' ).val(),
'size': $j( 'input[name=radioDim2]:checked' ).closest( 'label' ).text()
}]
}
}
} );
return purchaseData;
}
</script>
标记信息: 追踪:事件 类别:加入购物车 行动:{{Event}} 标签:{{Page Path}}
触发: 事件等于addToCart
我在Chrome中使用预览模式,即使它注册了我的点击事件,也没有说触发器被触发。
答案 0 :(得分:1)
假设您的代码位于GTM容器代码段之后,您在第一行中所做的就是重新定义dataLayer,即
var dataLayer = [];
这会消除dataLayer,因为GTM知道它,并可能会破坏你的标签。
您应该以更安全的方式定义dataLayer,例如:
var dataLayer = dataLayer || [];
如果它已经存在,不要擦除它。
答案 1 :(得分:1)
在左侧,您可以看到实际触发的事件名称,因此“addToCart”肯定会被解雇。
您应该截取“标签”标签,然后点击您要观察的标签,然后会有关于为什么或为什么不会被解雇的信息。