Google 跟踪代码管理器中的数组值总和
Sum array values in Google Tag Manager
我想在 Google 跟踪代码管理器中使用自定义 javascript 创建一个自定义变量。此变量将 return 每个产品 sku 数量的总和为总订单数量。因此,在下面的示例数据层中,我想 return 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 函数的 return 行中。我将数量变量命名为 {{sku quantity}}
。如何将总 sku 数量值加总到自定义变量中?
这是一种通过自定义 JS 变量获取总和的可能方法,无需使用自定义变量,但需要您将 dataLayer 修改为 dataLayer.push 并添加事件键,像这样:
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}}
是数据层类型变量。
然后您可以创建一个事件标签,例如,它将调用此自定义 JS 和 return 数量的总和。
我想在 Google 跟踪代码管理器中使用自定义 javascript 创建一个自定义变量。此变量将 return 每个产品 sku 数量的总和为总订单数量。因此,在下面的示例数据层中,我想 return 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 函数的 return 行中。我将数量变量命名为 {{sku quantity}}
。如何将总 sku 数量值加总到自定义变量中?
这是一种通过自定义 JS 变量获取总和的可能方法,无需使用自定义变量,但需要您将 dataLayer 修改为 dataLayer.push 并添加事件键,像这样:
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}}
是数据层类型变量。
然后您可以创建一个事件标签,例如,它将调用此自定义 JS 和 return 数量的总和。