使用JS创建GA电子商务“addItem”代码?

时间:2017-01-12 16:27:29

标签: javascript jquery google-analytics

我正在尝试使用jQuery或JS填充GA电子商务代码。我无法访问代码,所以我无法从实际页面填充它们 - 这是背后的痛苦,我知道!

到目前为止,我已经能够获得订单号和订单总数。为了获得购物篮中的每个产品,我一直在尝试获取每一行order-item,然后获取数据以填充每个项目ecommerce:addItem的实例。然后,我需要将其附加到页面,以便我在订单中每个项目ga('ecommerce:addItem', { });

我想知道是否有其他人有更好的想法这样做。到目前为止,这是我的代码,任何改进都将非常感激。我认为更好的选择可能是创建ga('ecommerce:addItem', { });然后将它们返回到页面,但我不知道该怎么做。

<script>
    var order_id = document.getElementsByClassName('order_id')[0].innerText
    var order_total = document.getElementsByClassName('order_total')[0].innerText

    ga('ecommerce:addTransaction', {
      'id': order_id,
      'affiliation': 'Test Store',
      'revenue': order_total,
      'currency': 'GBP'
    });

    $('.order_item').each(function(){
      ga('ecommerce:addItem', {
        'id': order_id,
        'name': $(this).find('.product-name')[0].innerText,
        'sku': $(this).find('.product-sku')[0].innerText,
        'price': $(this).find('.item_price')[0].innerText,
        'quantity': $(this).find('.iitem_qty')[0].innerText
      });

      ga('ecommerce:send');
    });


    ga('ecommerce:clear');
  </script>

1 个答案:

答案 0 :(得分:0)

将send函数移动到每个循环中。

它不起作用的原因是交易项目未被发送到GA