所以我创建了一个dataLayer,在Chrome中使用控制台时效果很好:
在Google跟踪代码管理器中,此dataLayer不存在。为什么呢?
我使用的代码如下:
<script>
<?php
global $woocommerce;
$items = $woocommerce->cart->get_cart();
$dataLayer = [];
foreach($items as $item => $values) {
$_product = $values['data']->post;
?>
<?php
$dataLayer[] = [
'itemUnitID' => $_product->ID,
'itemUnitPrice' => get_post_meta($values['product_id'] , '_price', true),
'itemQuantity' => $values[quantity]
];
};
?>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push(<?php echo json_encode($dataLayer); ?>);
</script>
所以基本上代码是射击dataLayer,但我不能在Google跟踪代码管理器中使用任何这些值,因为GTM首先甚至不识别dataLayer。那是为什么?