![](/img/trans.png)
[英]Google Analytics E-commerce tracking is not working With Custom PHP
[英]Converting variables from PHP to Javascript for Google Analytics e-Commerce Tracking code
我正在尝试在网站上安装Google Analytics(分析)电子商务跟踪,并且在正确的位置安装了该工具,但不确定如何使用PHP代码动态创建电子商务交易。 Google提供的示例js代码如下所示:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
_gaq.push(['_trackPageview']);
_gaq.push(['_addTrans',
'1234', // transaction ID - required
'Acme Clothing', // affiliation or store name
'11.99', // total - required
'1.29', // tax
'5', // shipping
'San Jose', // city
'California', // state or province
'USA' // country
]);
// add item might be called for every item in the shopping cart
// where your ecommerce engine loops through each item in the cart and
// prints out _addItem for each
_gaq.push(['_addItem',
'1234', // transaction ID - required
'DD44', // SKU/code - required
'T-Shirt', // product name
'Green Medium', // category or variation
'11.99', // unit price - required
'1' // quantity - required
]);
_gaq.push(['_trackTrans']); //submits transaction to the Analytics servers
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
假设我的交易ID是一个名为$ID
的PHP变量,total是一个名为$amount
的变量,等等。
如何在跟踪代码中使用这些变量将正确的信息动态发送给Google?
如果您的HTML输出中包含Javascript,则可以直接将PHP echo内联(假设您使用的是.php
文件而不是.html
文件:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
_gaq.push(['_trackPageview']);
_gaq.push(['_addTrans',
<?php echo $ID; ?>, // transaction ID - required
'Acme Clothing', // affiliation or store name
'11.99', // total - required
'1.29', // tax
'5', // shipping
'San Jose', // city
'California', // state or province
'USA' // country
]);
// add item might be called for every item in the shopping cart
// where your ecommerce engine loops through each item in the cart and
// prints out _addItem for each
_gaq.push(['_addItem',
<?php echo $ID; ?>, // transaction ID - required
'DD44', // SKU/code - required
'T-Shirt', // product name
'Green Medium', // category or variation
'11.99', // unit price - required
'1' // quantity - required
]);
_gaq.push(['_trackTrans']); //submits transaction to the Analytics servers
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
或者,如果您的JavaScript位于脚本文件中,则可以在加载javascript文件之前将javascript变量写入html页面,然后使用此新变量(在transactionID
下方的示例中):
<script>
var transactionID = <?php echo $ID; ?>;
</script>
<script src="js/myscript.js"></script>
<?php
$order = Mage::getModel('sales/order')->load(Mage::getSingleton('checkout/session')->getLastOrderId());
$subtotal = $order->getSubtotal();
$order_id = $order->getId(); //the id of the order
//$order->getIncrementId();//the increment id of the order
$gtotal = $order->getGrandTotal();//grand total of the order
$address = $order->getBillingAddress()->getData();
$city = $address['city'];
$state = $address['region'];
$country = $address['country_id'];
$shippingVal=$order->getShippingAmount();
$taxAmount=$order->getTaxAmount();
?>
<script type="text/javascript">
ga('require', 'ecommerce');
ga('ecommerce:addTransaction', {
'id': '<?php echo $order_id; ?>', // Transaction ID. Required.
'affiliation': '', // Affiliation or store name.
'revenue': '<?php echo $gtotal;?>', // Grand Total.
'shipping': '<?php echo $shippingVal;?>', // Shipping.
'tax': '<?php echo $taxAmount;?>' // Tax.
});
<?php
$items = $order->getAllItems();
$itemcount=count($items);
$name=array();
$unitPrice=array();
$sku=array();
$ids=array();
$qty=array();
foreach ($items as $itemId => $item)
{
$product = Mage::getModel('catalog/product')->load($_item['product_id']);
$cats = $product->getCategoryIds();
foreach ($cats as $category_id) {
$_cat = Mage::getModel('catalog/category')->setStoreId(Mage::app()->getStore()->getId())->load($category_id);
$category = $_cat->getName();
}
?>
ga('ecommerce:addItem', {
'id': '<?php echo $order_id; ?>', // Transaction ID. Required.
'name': '<?php echo $item->getName(); ?>', // Product name. Required.
'sku': '<?php echo $item->getSku(); ?>', // SKU/code.
'category': '<?php echo $category; ?>', // Category or variation.
'price': '<?php echo $item->getPrice(); ?>', // Unit price.
'quantity': '<?php echo $item->getQtyToInvoice(); ?>' // Quantity.
});
<?php
}
?>
ga('ecommerce:send');
</script>
参加聚会的时间太晚了,但这应该在活动模板的success.phtml文件上进行。 请注意,您必须具有Universal Analytics才能使此语法正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.