【问题标题】:Is there a way to use a lookup list inside a loop in GTM?有没有办法在 GTM 的循环中使用查找列表?
【发布时间】:2019-12-27 17:27:32
【问题描述】:

我有一个将购物车发送到数据层的添加到购物车事件。购物车项目包括 sku、数量和价格。在 GTM 中,我需要将 sku 转换为产品 url 和图像 url。

我希望使用查找列表,但我不确定这是否可能,如果可以,输入变量会是什么?是我唯一的选择是创建一个执行此操作的 javascript 函数,还是我可以以某种方式利用 GTM 变量?

[{ 
   sku: "SU-LG",
   quantity: 1,
   price: 100.00},
 { 
   sku: "RS-SM",
   quantity: 1,
   price: 50.00}]


【问题讨论】:

    标签: javascript google-tag-manager


    【解决方案1】:

    这可能最好使用函数来完成,因为查找表将在该 dataLayer.push 上输出一个变量,而不是数组中每个 sku 的变量。

    您可以使用保存在 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}`);
    }
    
    

    JSFiddle

    【讨论】:

      猜你喜欢
      • 2012-09-13
      • 1970-01-01
      • 2021-12-16
      • 2020-07-23
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      相关资源
      最近更新 更多