在脚本中使用PHP来发送数据Google跟踪代码管理器

时间:2016-10-05 16:04:26

标签: javascript php google-tag-manager

所以现在我正在做类似下面的事情。我想要做的是将数据动态传递给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;
&#13;
&#13;

1 个答案:

答案 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'
});