EC-CUBE 2.4.4 で Google Analytics の eコマース機能を使ってみる


できましたーー!

注文完了ページのhtmlで確認しました
ec-cube_ga_05

まだ Google Analytics の管理画面で確認取れてませんが
とりあえず報告です

長かったなー やり始めてから なんだかんだで 2週間くらいかかったもんな

これで気持よくGWを迎えられそうです

後々
詳細をアップしていきます

【続報】

Google Analytics の 管理画面で データを確認できました
ec-cube_02

さらに
商品ごとのデータもちゃんと取れていました
ec-cube_03

では設定方法を

Google Analyticsのトラッキングコードの設置箇所

「/data/Smarty/templates/default/shopping/complete.tpl」を編集します

ec-cube-ga_01

下の画像のようにトラッキングコードを設置しました

ec-cube_ga_03

追加コード


<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-******-**']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['_addTrans',
    '<!--{$orderId}-->', // 注文番号 - 必須
    '<!--{$affiliate}-->', // 代理店やショップの名前
    '<!--{$total}-->', // 合計収益 - 必須
    '<!--{$tax}-->', // 税金
    '<!--{$deliv_fee}-->', // 送料
    '', // 都市
    '<!--{$order_pref}-->', // 地域
    ''  // 国
  ]);

<!--{section name=cnt loop=$arrItems}-->
  _gaq.push(['_addItem',
    '<!--{$orderId}-->', // 注文番号(_addTransと同じ) - 必須
    '<!--{$arrItems[cnt].product_code}-->', // 商品のID - 必須
    '<!--{$arrItems[cnt].product_name}-->', // 商品名
    '', // カテゴリー
    '<!--{$arrItems[cnt].price}-->', // 商品単価 - 必須
    '<!--{$arrItems[cnt].quantity}-->'  // 個数 - 必須
  ]);
<!--{/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-*******-**」は適宜変更してください

商品情報を取得するのに必要なコードの追加

「/data/class/pages/shopping/LC_Page_Shopping_Complete.php」を編集します

ec-cube_ga_02

下の画像のようにトラッキングコードを設置しました

ec-cube_ga_04

追加コード


            //Google Analytics Ecommerce Start
            $sql_item = "SELECT product_name,product_code,price,quantity FROM dtb_order_detail WHERE order_id = ?";
            $arrItems = $objQuery->getall($sql_item, array($order_id));
            $this->arrItems = $arrItems;
            $sql_order = "SELECT total,tax,deliv_fee,order_pref FROM dtb_order WHERE order_id = ?";
            $arrOrder = array_shift($objQuery->getall($sql_order, array($order_id)));

            $this->orderId = $order_id;
            $this->total = $arrOrder['total'];
            $this->tax = $arrOrder['tax'];
            $this->deliv_fee = $arrOrder['deliv_fee'];
            $this->order_pref = $objQuery->get("mtb_pref", "pref_name", "pref_id = ? ", array($arrOrder['order_pref']));
            //Google Analytics Ecommerce End

これで 注文確定ページ「/shopping/complete.php」でデータが取れるようになりました

ec-cube_ga_06

ec-cube_ga_05

同じように困っている人の参考になれば光栄です

Google Analyticsの設定

コンバージョンの設定はGoogle Analytics コンバージョン&eコマースセッティング表が参考になります

参考ページ

俺でもできた!EC-CUBEでGoogle Analyticsのeコマース機能設定