我有一个添加到购物车事件,该事件将购物车发送到数据层。一个购物车项目包括SKU,数量和价格。在GTM中,我需要将sku转换为产品网址和图片网址。
我希望使用查找列表,但是我不确定这是否可能,如果可以的话,输入变量是什么?创建该功能的javascript函数是我唯一的选择,还是我可以某种方式利用GTM变量?
[{
sku: "SU-LG",
quantity: 1,
price: 100.00},
{
sku: "RS-SM",
quantity: 1,
price: 50.00}]
答案 0 :(得分:0)
这最好用一个函数来完成,因为查找表将在该dataLayer.push上输出一个变量,而不是数组中每个skus的变量。
您可以使用保存在GTM变量中的JSON,然后在函数中引用GTM变量:
var array = [
{
sku: "SU-LG",
quantity: 1,
price: 100.00
},
{
sku: "RS-SM",
quantity: 1,
price: 50.00
}
]
var gtmJsonProduct = {
"SU-LG": "su-lg-product.png",
"RS-SM": "rs-sm-product.png"
};
var gtmJsonImage = {
"SU-LG": "su-lg-image.png",
"RS-SM": "rs-sm-image.png"
};
// Set these as a GTM variable instead?
// var gtmJsonProduct = {{gtmJsonProduct}};
// var gtmJsonImage = {{gtmJsonImage}};
for (var i = 0; i < array.length; i++) {
var sku = array[i]['sku'];
var productUrl = gtmJsonProduct[sku];
var imageUrl = gtmJsonImage[sku];
console.log(`product url for ${sku} = ${productUrl}`);
console.log(`image url for ${sku} = ${imageUrl}`);
}