1

e コマース サイトの領収書ページを設定して、e コマース データを Google アナリティクスにプッシュしようとしています。購入した各アイテムの sku、名前、価格、および数量を _addItem() メソッドに入力することに行き詰まっています。

領収書の各項目について、次のものが必要です。

_addItem(transactionId, sku, name, price, quantity)

私の領収書ページは、製品データを使用して以下のテーブルを生成します。Javascript または jQuery を使用してこのテーブルをループし、各項目に対して次の値を返すにはどうすればよいですか? 領収書に記載できるアイテムの数に制限はありません。

<div id="receipt_detail">
   <table class="list_container" width="98%" cellspacing="0" cellpadding="4" >
     <tr class="list_heading">
        <td align="left"  nowrap >SKU</td>
        <td align="left"  nowrap >Description</td>
        <td align="left"  nowrap >Qty</td>
        <td align="right"  nowrap >Price</td>
        <td align="right"  nowrap >Extended</td>
     </tr>
     <tr class="list">
        <td align="left"  nowrap >1234</td>
        <td align="left"  nowrap >Widget 1</td>
        <td align="left"  nowrap >1</td>
        <td align="right"  nowrap > $            0.25</td>
        <td align="right"  nowrap > $            0.25</td>
     </tr>
     <tr class="listodd">
        <td align="left"  nowrap >5678</td>
        <td align="left"  nowrap >Widget 2</td>
        <td align="left"  nowrap >1</td>
        <td align="right"  nowrap > $            0.10</td>
        <td align="right"  nowrap > $            0.10</td>
     </tr>
   </table>
</div>

transcationId をカバーしました (簡単です)。残りは私を困惑させました。私はJavascriptを初めて使用するので、すべてのヘルプが大歓迎です。

e コマース トラッキング コードに関する Google の開発者向けドキュメントはこちらです。

4

1 に答える 1

3

いくつかの空白を埋める必要がありますが、テーブルから値を取得して GA コードに入力するコードを次に示します。

<script language="JavaScript" type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-11111-1']); // your account # here

(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);
})();

/* you proved no details or examples of where to get any of this, so this is
   the GA manual example */
_gaq.push(['_addTrans',
  '1234',           // transaction ID - required
  'Womens Apparel', // affiliation or store name
  '28.28',          // total - required
  '1.29',           // tax
  '15.00',          // shipping
  'San Jose',       // city
  'California',     // state or province
  'USA'             // country
]);

/* scrape the html you provided and add values to _addItem */
$(document).ready(function() {
  $('div#receipt_detail tr.list,.listodd').each(function() {
    var info = [];
    $(this).find('td').each(function() {
      info.push($(this).html().replace(/^\s*\$\s*/,''));      
    });
    _gaq.push(['_addItem',
      '1234',                // transaction ID 
      info[0]||'no sku',     // SKU/code - required
      info[1]||'no product', // product name
      'category',            // category or variation
      info[3]||'0',          // unit price - required
      info[2]||'1'           // quantity - required
    ]);
  });
  _gaq.push(['_trackTrans']);
});

</script>

注:これは、トランザクションを追跡するための良い方法ではありません。システムが明らかにすでに動的に出力している値のためにページをスクレイピングしようとする代わりに、代わりにサーバー側のコードを使用して、必要な値を js に直接公開する必要があります。

于 2013-02-04T00:15:32.637 に答える