簡體   English   中英

將變量從PHP轉換為Java腳本以進行Google Analytics(分析)電子商務跟蹤代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM