Google AnalyticsにはEコマースの利用にも対応した機能があります。ECサイトの構築ではよくEC-CUBEを利用させてもらっているのですが、Google AnalyticsのEコマース機能を活用した方法を探しきれませんでしたので開発しました。
UA-xxxxxx-xの部分はGoogle Analysticsで配布されたIDを使用します。
アフェリエイト、シティー、カテゴリーといった部分は使用していません。EC-CUBEのバージョンは2.4.1です。
=========================================
【STEP1 フッターに基本のアクセス解析タグをはる】
=========================================
<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>
<script type=”text/javascript”>
try {
var pageTracker = _gat._getTracker(“UA-xxxxxx-x”);
pageTracker._initData(); pageTracker._trackPageview();
} catch(err) {}</script>
=========================================
【STEP2 /data/Smarty/templates/default/shopping/complete.tplの最下部に下記を追記する】
=========================================
<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>
<script type=”text/javascript”>
try {
var pageTracker = _gat._getTracker(“UA-1115462-9″);
pageTracker._initData();
pageTracker._trackPageview();
pageTracker._addTrans(
“<!–{$orderId}–>”, // Order ID
“”, // Affiliation
“<!–{$total}–>”, // Total
“<!–{$tax}–>”, // Tax
“<!–{$deliv_fee}–>”, // Shipping
“”, // City
“<!–{$order_pref}–>”, // State
“JP” // Country
);
<!–{section name=cnt loop=$arrItems}–>
pageTracker._addItem(
“<!–{$orderId}–>”, // Order ID
“<!–{$arrItems[cnt].product_code}–>”, // SKU
“<!–{$arrItems[cnt].product_name}–>”, // Product Name
“”, // Category
“<!–{$arrItems[cnt].price}–>”, // Price
“<!–{$arrItems[cnt].quantity}–>” // Quantity
);
<!–{/section}–>
pageTracker._trackTrans();
} catch(err) {}</script>
<!–{$test}–>
<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>
<script type=”text/javascript”>
try {
var pageTracker = _gat._getTracker(“UA-xxxxxx-x“);
pageTracker._initData();
pageTracker._trackPageview();
pageTracker._addTrans(
“<!–{$orderId}–>”, // Order ID
“”, // Affiliation
“<!–{$total}–>”, // Total
“<!–{$tax}–>”, // Tax
“<!–{$deliv_fee}–>”, // Shipping
“”, // City
“<!–{$order_pref}–>”, // State
“JP” // Country
);
<!–{section name=cnt loop=$arrItems}–>
pageTracker._addItem(
“<!–{$orderId}–>”, // Order ID
“<!–{$arrItems[cnt].product_code}–>”, // SKU
“<!–{$arrItems[cnt].product_name}–>”, // Product Name
“”, // Category
“<!–{$arrItems[cnt].price}–>”, // Price
“<!–{$arrItems[cnt].quantity}–>” // Quantity
);
<!–{/section}–>
pageTracker._trackTrans();
} catch(err) {}
</script>
=========================================
【STEP3 /data/class/pages/shopping/LC_Page_Shopping_Complete.phpの132行目に以下のタグを追加する( TradeSafe連携用のあたり)】
=========================================
$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']));