<script>
for(X=0;X<OrderDetails.length;X++) {
var transactionProducts = [
{
'sku': OrderDetails[X][2],
'name': OrderDetails[X][3],
'category': 'none',
'price': OrderDetails[X][5],
'quantity': OrderDetails[X][6]
}];
}
dataLayer.push({'transactionProducts': transactionProducts});
</script>
此代码未正确执行。另外,如果我将它放在GTM中的自定义HTML标记上,它会显示identifier expected
。你能让我知道我在这里做错了吗?
答案 0 :(得分:1)
您要小心所有这些值始终存在或者至少将每个推送包装在try / catch中。但是你的代码的直接问题是JS中没有数组理解,所以你的代码应该是:
//<![CDATA[
var transactionProducts = [];
for(X=0;X<OrderDetails.length;X++) {
transactionProducts.push({
'sku': OrderDetails[X][2],
'name': OrderDetails[X][3],
'category': 'none',
'price': OrderDetails[X][5],
'quantity': OrderDetails[X][6]
});
}
dataLayer.push({'transactionProducts': transactionProducts});
//]]>