所以现在我正在做类似下面的事情。我想要做的是将数据动态传递给GTM ..我知道我做错了但我需要一些帮助来弄清楚我需要怎么做。再次。我想做的就是将PHP变量中的一些数据发送到Google跟踪代码管理器,以便我可以在GA中查看。
谢谢!
<script>
dataLayer.push({
'transactionId': '<?php echo $order['id']; ?>',
'transactionTotal': '<?php echo number_format($order['subtotal'],2) ?>',
'transactionProducts': [{
'sku': '',
'name': '<?php echo $order['programName']; ?>',
'price': ,
'quantity':
}],
'event' : 'OrderComplete'
});
</script>
&#13;
答案 0 :(得分:0)
您似乎错过了json对象上的'。
dataLayer.push({
'transactionId': '<?php echo $order['id']; ?>',
'transactionTotal': '<?php echo number_format($order['subtotal'],2) ?>',
'transactionProducts': [{
'sku': '',
'name': '<?php echo $order['programName']; ?>',
'price': 'here',
'quantity': 'here'
}],
'event' : 'OrderComplete'
});
其余的都很好。
如果您没有这些字段的值,请通过写一个空字符串''让它们为空。
<?php
function myProducts() {
$result = array();
foreach($products as $product) {
array_push($result, "{
'sku': '" . $product['sku'] . "',
'name': '" . $product['name'] . "',
'price': '" . $product['price'] . "',
'quantity': '" . $product['quantity'] . "'
}");
};
return implode(",", $result);
}
?>
dataLayer.push({
'transactionId': '<?php echo $order['id']; ?>',
'transactionTotal': '<?php echo number_format($order['subtotal'],2) ?>',
'transactionProducts': [<?php echo myProducts()?>],
'event' : 'OrderComplete'
});