为什么 Google 跟踪代码管理器的宏无法传递变量的对象内容

Why won't Google Tag Manager's Macro pass object content of a variable

提问人:user68703 提问时间:5/12/2018 最后编辑:Pᴇʜuser68703 更新时间:5/14/2018 访问量:627

问:

所以我在 GTM 中有一个自定义 javascript 变量:

function(){
  var products = {{dlv ecommerce products}};
  var prodinfo = [];

  for(var i = 0; i < products.length; i++){
        prodinfo.push({
          'subTotal': products[i].price,
          'category': products[i].category,
          'sku': products[i].id,
          'quantity': products[i].quantity,
          'name': products[i].name
        });
    }
  return prodinfo;
}

我正在为我的事件event_process运行此代码,并将其推送到数据层,并在该事件中成功填充调试器:

[
  {
    subTotal: '149.99',
    category: 'main-product',
    sku: 'WB36',
    quantity: 1,
    name: 'The Revolutionary Wombo'
  },
  {
    subTotal: '0',
    category: 'accessory',
   sku: 'LL550',
   quantity: 1,
   name: '7-day warranty'
 }]

Google Analytics(分析)代码在调试器中成功显示此信息,但我的自定义 HTML 代码的调试器显示:

"[object, Object],[object Object]"

而且网络似乎没有拾取键值对。标签在正确的事件上触发,而其他标签正在拾取对象数组,所以我只是不明白为什么这个标签不能显示数组中的对象。我唯一能想到的是,自定义 HTML 标签可能没有该功能,但我在网上根本没有看到关于这个问题的讨论。

JavaScript 数组 对象 google-tag-manager

评论

0赞 user1217917 11/30/2021
如果您在带有数据层的屏幕上看到此内容,您应该能够在没有脚本的情况下读取它,您仍然有这个问题吗@peh

答: 暂无答案