我正在 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 变量中运行上述函数时,它确实添加了新的键名称,但它们的值变为“未定义”。