为什么 Google 标签管理器的宏不会传递变量的对象内容

use*_*703 6 javascript arrays object google-tag-manager

所以我在 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;
}
Run Code Online (Sandbox Code Playgroud)

我正在为我的事件 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'
 }]
Run Code Online (Sandbox Code Playgroud)

Google Analytics 标签在调试器中成功显示了此信息,但在我的自定义 HTML 标签的调试器中:

"[object, Object],[object Object]"
Run Code Online (Sandbox Code Playgroud)

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