EC-CUBEでGoogle アナリティクスのeコマースを設置する方法をメモ。

eコマースタグを設置することによってより細かいGoogle アナリティクスのアクセス解析ができるようになります。(どの商品が売れたかとかいろいろ)

また、下記に記述する方法は「注文完了ページ」にのみにeコマースのタグを設置する方法です。
(たぶん注文完了ページ以外に設置する必要はないと思います・・?)

LC_Page_Shopping_Complete.phpの修正

まず、
/ec/data/class/pages/shopping/LC_Page_Shopping_Complete.php
の中の

function action() {
	$this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
}

↑この部分(pageのアクションの部分)を

function action() {
	$this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData();

	$objPurchase = new SC_Helper_Purchase();
	// 注文者データの取得  
	$arrOrder = $objPurchase->getOrder($_SESSION['order_id']);  
	// 注文商品データの取得  
	$arrOrderDetail = $objPurchase->getOrderDetail($_SESSION['order_id']); 
  
	$this->arrEOrder = $arrOrder;
	$this->arrEOrderDetail = $arrOrderDetail;
}

のように変更します。

complete.tplの修正

次に、
/ec/data/Smarty/templates/default/shopping/complete.tpl
(管理画面から注文完了ページを修正しても大丈夫)
に↓下記ソースを追加します。

<!-- ▼Googleアナリティクス eコマース -->
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['_addTrans',
    '<!--{$arrEOrder.order_id}-->',           // order ID - required
    '',  // affiliation or store name
    '<!--{$arrEOrder.total}-->',          // total - required
    '',           // tax
    '',              // shipping
    '<!--{$arrPref[$arrEOrder.order_pref]}-->',       // city
    '<!--{$arrEOrder.order_addr01}-->',     // state or province
    '日本'             // 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
<!--{section name=cnt loop=$arrEOrderDetail}--> 
  _gaq.push(['_addItem',
    '<!--{$arrEOrder.order_id}-->',           // order ID - required
    '<!--{$arrEOrderDetail[cnt].product_id}-->',           // SKU/code - required
    '<!--{$arrEOrderDetail[cnt].product_name}-->',        // product name
    '<!--{$arrEOrderDetail[cnt].classcategory_name1}-->',   // category or variation
    '<!--{$arrEOrderDetail[cnt].price}-->',          // unit price - required
    '<!--{$arrEOrderDetail[cnt].quantity}-->'               // quantity - required
  ]);
<!--{/section}-->

  _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>

※「UA-XXXXX-X」の部分は書き換えてください。

後はアナリティクスの設定でeコマースサイトをオンにすればOK

上記のeコマースタグの詳細は
e コマース トラッキング
のサイトを参考にしてください。