Tags Google标记管理器中的数组值总和
我想在Google标记管理器中使用自定义javascript创建一个自定义变量。此变量将返回总订单数量的每个产品sku数量之和。因此,在下面的示例数据层中,我想返回6Tags Google标记管理器中的数组值总和,tags,google-tag-manager,Tags,Google Tag Manager,我想在Google标记管理器中使用自定义javascript创建一个自定义变量。此变量将返回总订单数量的每个产品sku数量之和。因此,在下面的示例数据层中,我想返回6 dataLayer = [{ "pageName":"confirmation", "pageCategory":"checkout", "transactionProducts": [{ "sku":"item1", "price":10, "quantit
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数量值求和到自定义变量中?这是一种通过自定义JS变量获取总和的可能方法,无需使用自定义变量,但需要将数据层修改为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(){
试一试{
var总和=0;
var tp={{transactionProducts}};
如果(tp){
对于(i=0;i这是通过自定义JS变量获取总和的一种可能方式,无需使用自定义变量,但需要将数据层修改为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(){
试一试{
var总和=0;
var tp={{transactionProducts}};
如果(tp){
对于(i=0;iNyuens的答案确实是通常的做法。我仍然想指出,最好让您的服务器汇总数量并将结果推送到数据层。您对数组进行的切片和切割越多,您的站点将变得越慢。选择一些自定义js变量并不是问题,但这已经足够了nd您的站点将因自定义脚本的负载而陷入困境,因此这是您应该关注的问题。Nyuen的答案确实是通常的做法。我仍然想指出,最好让您的服务器汇总数量并将结果推送到数据层。您越是需要切分和遍历数据层rrays会让你的网站变得越慢。选择一些自定义js变量不是问题,但是如果这些变量足够多,你的网站就会因为自定义脚本的负载而陷入困境,所以这是你应该注意的。