我想在Google跟踪代码管理器中使用自定义JavaScript创建自定义变量。此变量将返回总订单数量的每个产品sku数量的总和。因此,在下面的示例数据层中,我想返回6.
dataLayer = [{
"pageName":"confirmation",
"pageCategory":"checkout",
"transactionProducts": [{
"sku":"item1",
"price":10,
"quantity":3,
"currency":"USD"
},{
"sku":"item2",
"price":10,
"quantity":2,
"currency":"USD"
},{
"sku":"item3",
"price":10,
"quantity":1,
"currency":"USD"
}]
}];
对于GTM,该值必须位于js函数的返回行中。我已将数量变量{{sku quantity}}
命名为。如何将总sku数量值汇总为自定义变量?
答案 0 :(得分:2)
这是通过Custom JS变量获取总和而不使用自定义变量的一种可能方法,但它需要您将dataLayer修改为dataLayer.push并添加事件键,如下所示: / p>
dataLayer.push({
'event': 'ecomm confirmation',
"pageName":"confirmation",
"pageCategory":"checkout",
"transactionProducts": [{
"sku":"item1",
"price":10,
"quantity":3,
"currency":"USD"
},{
"sku":"item2",
"price":10,
"quantity":2,
"currency":"USD"
},{
"sku":"item3",
"price":10,
"quantity":1,
"currency":"USD"
}]
});
您的自定义JS看起来像这样(更改名称以满足您的需求):
function(){
try{
var sum = 0;
var tp = {{transactionProducts}};
if (tp){
for (i=0; i<tp.length; i++){
sum += tp[i].quantity;
}
}
return sum;
}
catch(e){
}
}
其中{{transactionProducts}}
是数据层类型变量。
然后,您可以创建一个事件标记,例如,它将调用此Custom JS并返回数量的总和。