質問 > その他 > トラッキングコードの埋め込みについて |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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で確認されているようであれば別のブラウザで確認されてみてはいかがでしょうか? ご参考まで。
|
miiitaka |
投稿日時: 2013/11/22 12:53
対応状況: −−−
|
一人前 登録日: 2011/10/17 居住地: 宮崎県宮崎市 投稿: 94 |
Re: トラッキングコードの埋め込みについて bakusan 様
LC_Page_Shopping_Complete.phpで受注情報を取得しなければいけません。 セッション情報の受注IDを元にSQLで情報を取得すれば可能ですね。
|
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する前の
を確認されるのが良いかもしれません。
|
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されている可能性もございます。 ご参考まで。
|
bakusan |
投稿日時: 2013/11/22 18:42
対応状況: −−−
|
常連 登録日: 2013/11/22 居住地: 投稿: 36 |
Re: トラッキングコードの埋め込みについて bratech様
何度もご返信いただきありがとうございます! 確認したところ、まさにご指摘の箇所が問題だったようです。 おかげさまでorder_idが取得され、ブラウザのソースにも表示されました。 まだ一部、トラッキングコードに書き出されない変数等もございますが、それはこちらで調べてみます。 本当に助かりました。 ありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |