如何更改数组中的键名(javascript 和 Google 标签管理器)

问题描述 投票:0回答:0

我正在 Google 跟踪代码管理器中为 GA4 配置电子商务跟踪。我无权访问源代码,但我可以访问 Google 跟踪代码管理器。

该网站正在订单确认页面上填充电子商务变量,但它们使用的是与 GA4 不兼容的旧电子商务模式 (analytics.js)。

我想添加新键名,将这些值设置为等于旧键名的值,然后删除旧键名。

现有数组:

[(
'sku': 'abc123456', 
'name': 'productA', 
'category': 'BrandName', 
'quantity': 1, 
'price': 18.00
)]

我要的数组:

[(
'item_id': 'abc123456', 
'item_name': 'productA', 
'item_category': 'BrandName', 
'quantity': 1, 
'price': 18.00
)]

我正在使用 javascript 变量 {{transactionProducts}} 来获取产品数组。然后我创建了一个自定义 javascript 变量来添加键“item_id”、“item_name”、“item_category”。

我尝试使用删除运算符删除旧密钥,但这导致我创建的新密钥具有未定义的值。

注意:谷歌标签管理器将不接受地图功能。我相信它仅限于 ES5?

function()
{
var products = {{transactionProducts}};
products.forEach(function(obj) {
  obj.item_id = obj.sku;
  obj.item_name = obj.name;
  obj.item_category = obj.category;
  delete obj.sku;
  delete obj.name;
  delete obj.category;
});
return products;
}

问题: 当我在 GTM 的自定义 JS 变量中运行上述函数时,它确实添加了新的键名称,但它们的值变为“未定义”。

javascript javascript-objects google-tag-manager
© www.soinside.com 2019 - 2024. All rights reserved.