Google跟踪代码管理器

时间:2016-01-13 22:04:19

标签: tags google-tag-manager

我想在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数量值汇总为自定义变量?

1 个答案:

答案 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并返回数量的总和。