バージョン選択

フォーラム

メニュー

オンライン状況

54 人のユーザが現在オンラインです。 (42 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 53
888b1org もっと...

サイト内検索

質問 > その他 > トラッキングコードの埋め込みについて

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bakusan
投稿日時: 2013/11/22 11:18
対応状況: −−−
常連
登録日: 2013/11/22
居住地:
投稿: 36
トラッキングコードの埋め込みについて
はじめまして。ECCUBE初心者です。

いろいろ調べたのですが、行き詰ってしまいましたのでこちらに書かせていただきます。

内容ですが、ヘッダ部分に

・通常ページ用のトラッキングコード
・サンクスページにはECサイト用のトラッキングコードを追加

という仕様でトラッキングコードを埋めたいと考え、下記のURLを参考にカスタマイズしたトラッキングコードを埋めたのですが、動いてくれませんので、教えていただきたくご質問させていただきました。

▼参考記事
http://bandersnatch.jp/tech/418


▼カスタマイズしたトラッキングコード
(/data/Smarty/templates/default/site_frame.tpl)
(ga('create', 'UA-xxxxxxxx', 'ドメイン');はダミーです)

<!--{if $smarty.server.PHP_SELF == "`$smarty.const.ROOT_URLPATH`shopping/complete.php"}-->
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-xxxxxxxx', 'ドメイン');
ga('send', 'pageview');

ga('ecommerce:addTransaction', {
id: '<!--{$arrGAOrder.order_id}-->', // Transaction ID - this is normally generated by your system.
affiliation: '<!--{$arrData.shop_name|escape}-->', // Affiliation or store name
revenue: '<!--{$arrGAOrder.total}-->', // Grand Total
shipping: '<!--{$arrData[1].deliv_fee|number_format}-->' , // Shipping cost
tax: '<!--{$arrInfo.tax_rule}-->' }); // Tax.

ga('ecommerce:addItem', {
id: '<!--{$arrGAOrder.order_id}-->', // Transaction ID.
sku: '<!--{$arrGAOrderDetail[cnt].product_code}-->', // SKU/code.
name: '<!--{$arrGAOrderDetail[cnt].product_name}-->', // Product name.
category: '<!--{$arrGAOrderDetail[cnt].classcategory_name1}-->', // Category or variation.
price: '<!--{$arrGAOrderDetail[cnt].price}-->', // Unit price.
quantity: '<!--{$arrGAOrderDetail[cnt].quantity}-->'}); // Quantity.
ga('ecommerce:send');

FB.Event.subscribe('edge.create', function(<!--{$smarty.const.ROOT_URLPATH}-->) {
ga('send', 'facebook', 'like', <!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.REQUEST_URI|escape}-->);
});

twttr.ready(function (twttr) {
twttr.events.bind('click', function (e) {
ga('send', 'social', 'twitter', 'click', '<!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.REQUEST_URI|escape}-->');
});
twttr.events.bind('tweet', function (e) {
ga('send', 'social', 'twitter', 'tweet', '<!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.REQUEST_URI|escape}-->');
});
});
</script>

<!--{else}-->

<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-xxxxxxxx', 'ドメイン');
ga('send', 'pageview');

FB.Event.subscribe('edge.create', function(<!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.REQUEST_URI|escape}-->) {
ga('send', 'facebook', 'like', <!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.REQUEST_URI|escape}-->);
});

twttr.ready(function (twttr) {
twttr.events.bind('click', function (e) {
ga('send', 'social', 'twitter', 'click', '<!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.REQUEST_URI|escape}-->');
});
twttr.events.bind('tweet', function (e) {
ga('send', 'social', 'twitter', 'tweet', '<!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.REQUEST_URI|escape}-->');
});
});
</script>
<!--{/if}-->


▼LC_Page_Shopping_Complete.php 内の記述

function action() {

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

if ($_SESSION['order_id']) {
$objPurchase = new SC_Helper_Purchase();

// 注文者データの取得
$arrOrder = $objPurchase->getOrder($_SESSION['order_id']);

// 注文商品データの取得
$arrOrderDetail = $objPurchase->getOrderDetail($_SESSION['order_id']);
$this->arrGAOrder = $arrOrder; // Smartyに渡す
$this->arrGAOrderDetail = $arrOrderDetail; // Smartyに渡す
unset($_SESSION["order_id"]);

}

▼結果
・条件分岐はうまくいっている
・サンクスページのソースをみると、肝心の商品ID等の中身が空欄になっている。
(以下のような感じに)

ga('ecommerce:addTransaction', {
id: '', // Transaction ID - this is normally generated by your system.
affiliation: '', // Affiliation or store name
revenue: '', // Grand Total
shipping: '0' , // Shipping cost
tax: '1' }); // Tax.

ga('ecommerce:addItem', {
id: '', // Transaction ID.
sku: '', // SKU/code.
name: '', // Product name.
category: '', // Category or variation.
price: '', // Unit price.
quantity: ''}); // Quantity.
ga('ecommerce:send');

おそらく個人的にはLC_Page_Shopping_Complete.phpで情報が受け取れていないのではと思い、ページ内に

echo "<pre>" . print_r($arrOrder) . "</pre>";

で調べてみたのですが、どういった条件でも内容に「1」しか表示されず、ここからどうすればいいか詰まっております。

個人で調べた結果ですのでいろいろ間違いがあるかと思いますので、どうぞご指摘ください。よろしくお願いします。

EC-CUBEバージョン 2.12.5
PHPバージョン PHP 5.4.8
DBバージョン PostgreSQL 9.2.4
bratech
投稿日時: 2013/11/22 12:44
対応状況: −−−
長老
登録日: 2008/11/28
居住地: 福岡
投稿: 223
Re: トラッキングコードの埋め込みについて
以前同じような内容の投稿がありましたが
その際にはchromeで確認されている事が原因だったようです。
(chromeでソース表示を行うとリロードする仕様のようで、リロードの際にはorder_idが消えてしまっているため空白になる)
もしchromeで確認されているようであれば別のブラウザで確認されてみてはいかがでしょうか?

ご参考まで。


----------------
★売れる通販サイト作ります! ========================
(株)ブラテック EC-CUBEカスタマイズサービス
http://www.bratech.co.jp/lpo/eccube.html
==============================================

miiitaka
投稿日時: 2013/11/22 12:53
対応状況: −−−
一人前
登録日: 2011/10/17
居住地: 宮崎県宮崎市
投稿: 94
Re: トラッキングコードの埋め込みについて
bakusan 様

LC_Page_Shopping_Complete.phpで受注情報を取得しなければいけません。
セッション情報の受注IDを元にSQLで情報を取得すれば可能ですね。


----------------
無料で学べるEC-CUBEノウハウ - EC-CUBEの学校
アラタナ

bakusan
投稿日時: 2013/11/22 15:39
対応状況: −−−
常連
登録日: 2013/11/22
居住地:
投稿: 36
Re: トラッキングコードの埋め込みについて
bratech様

早速のお返事ありがとうございます!
早速IEでも試してみましたがやはり同じ状況でした・・・。
ただ、chromeの件は初めて聞きましたので参考になりました。

ありがとうございました。
bakusan
投稿日時: 2013/11/22 15:49
対応状況: −−−
常連
登録日: 2013/11/22
居住地:
投稿: 36
Re: トラッキングコードの埋め込みについて
miiitaka様

お返事ありがとうございます!

LC_Page_Shopping_Complete.phpで受注情報を取得しなければいけません。

とのことなのですが、
LC_Page_Shopping_Complete.phpのfunction action()内に記載した下記のプログラムでは取れていないということでしょうか?

--------------------------------------------------------
$objPurchase = new SC_Helper_Purchase();

// 注文者データの取得
$arrOrder = $objPurchase->getOrder($_SESSION['order_id']);

// 注文商品データの取得
$arrOrderDetail = $objPurchase->getOrderDetail($_SESSION['order_id']);
$this->arrGAOrder = $arrOrder; // Smartyに渡す
$this->arrGAOrderDetail = $arrOrderDetail; // Smartyに渡す
unset($_SESSION["order_id"]);
--------------------------------------------------------


お手数ですがご指導お願いいたします。
bratech
投稿日時: 2013/11/22 17:02
対応状況: −−−
長老
登録日: 2008/11/28
居住地: 福岡
投稿: 223
Re: トラッキングコードの埋め込みについて
一度unsetする前の


$_SESSION['order_id']


を確認されるのが良いかもしれません。


----------------
★売れる通販サイト作ります! ========================
(株)ブラテック EC-CUBEカスタマイズサービス
http://www.bratech.co.jp/lpo/eccube.html
==============================================

bakusan
投稿日時: 2013/11/22 17:22
対応状況: −−−
常連
登録日: 2013/11/22
居住地:
投稿: 36
Re: トラッキングコードの埋め込みについて
bratech様


ありがとうございます!
その後、var_dumpやprint_rで確認しましたが、

$_SESSION['order_id']

どうも自体が動いていないように考えられます。
下記記事の方(未解決)と同じ状況になりました。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=13803&forum=10

決済システムもJ-paymentを利用しており、同じ状況です。
解決方法も試してみましたがダメでした。

もう少し調べてみますが、アドバイスや何か小さいことでもいいので教えていただければ助かります。

よろしくお願いいたします。
bratech
投稿日時: 2013/11/22 18:14
対応状況: −−−
長老
登録日: 2008/11/28
居住地: 福岡
投稿: 223
Re: トラッキングコードの埋め込みについて
決済モジュールを導入されているのであれば
LC_Page_Shopping_Complete_Ex.php
側も確認した方がよいかもしれません。

決済モジュールによって様々ですが
このあたりのファイルを置き換えるものもございます。
その場合extends側ですでに$_SESSION['order_id']がunsetされている可能性もございます。

ご参考まで。


----------------
★売れる通販サイト作ります! ========================
(株)ブラテック EC-CUBEカスタマイズサービス
http://www.bratech.co.jp/lpo/eccube.html
==============================================

bakusan
投稿日時: 2013/11/22 18:42
対応状況: −−−
常連
登録日: 2013/11/22
居住地:
投稿: 36
Re: トラッキングコードの埋め込みについて
bratech様


何度もご返信いただきありがとうございます!
確認したところ、まさにご指摘の箇所が問題だったようです。

おかげさまでorder_idが取得され、ブラウザのソースにも表示されました。
まだ一部、トラッキングコードに書き出されない変数等もございますが、それはこちらで調べてみます。

本当に助かりました。
ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,089名です
総投稿数は110,033件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
8
red
1570
9
mcontact
1297
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.