gaq 未定义 opencart 2.0

gaq is not defined opencart 2.0

我正在尝试跟踪 OpenCart 中的交易,但我收到了这条消息:

Uncaught ReferenceError: _gaq is not defined(anonymous function)

这就是我在

中尝试进行跟踪的方式
catalog/view/theme/default/template/common/success.tpl`


      <!--THIS IS THE START OF THE TRACKING MOD-->
  <?php if($order_tracker){ 
        echo "SUCESSO";
        $tracking_info = '<script type="text/javascript">';

        //ADD TOP LEVEL TRACKING INFO
    $tracking_info .= "_gaq.push(['_addTrans', '" . $order_tracker['order_id'] . "', '" . $order_tracker['store_name'] . "', '" . $order_tracker['total'] . "', '" . $order_tracker['tax'] . "', '" . $order_tracker['shipping'] . "', '" . $order_tracker['city'] . "', '" . $order_tracker['state'] . "', '" . $order_tracker['country'] . "']);";

        //ADD INFO FOR EACH PRODUCT
        foreach($order_tracker['products'] as $product){
          $tracking_info .= "_gaq.push(['_addItem', '" . $product['order_id'] . "', '" . $product['model'] . "', '" . $product['name'] . "', '', '" . $product['price'] . "', '" . $product['quantity'] . "']);";
        }

        //ADD THE CURRENCY OF THE TRANSACTION
        $tracking_info .= "_gaq.push(['_set', 'currencyCode', '" . $order_tracker['currency'] . "']);";

        $tracking_info .= '</script>';

        print $tracking_info;

  } ?>
    <!--THIS IS THE END OF THE TRACKING MOD-->

这就是它在 Chrome 控制台中的解释方式

   <!--THIS IS THE START OF THE TRACKING MOD-->
  <script type="text/javascript">_gaq.push(['_addTrans', '17', 'Zelulares', '805.0000', '', '5.0000', 'Sao Paulo', 'São Paulo', 'Brazil']);_gaq.push(['_addItem', '17', 'Product 16', 'MacBook', '', '500.00', '1']);_gaq.push(['_addItem', '17', 'Product 14', 'iMac', '', '100.00', '3']);_gaq.push(['_set', 'currencyCode', 'USD']);</script>    <!--THIS IS THE END OF THE TRACKING MOD-->

编辑:

这是我在 opencart admin 中包含的 analytics.js 代码:

<script>
  (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-XXXXXXX-X', 'auto');
  ga('send', 'pageview');

</script>

正如 MisterPhillip 指出的那样,您的交易代码使用的版本与您用来创建跟踪器的代码不同(旧),需要更新。您需要 "require" 电子商务库(在创建跟踪器之后但在添加交易或产品之前)并将跟踪代码转换为新版本。您正在寻找如下所示的输出(完整示例):

<script>
  (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-XXXXXXX-X', 'auto');
    ga('require', 'ecommerce');

    ga('ecommerce:addTransaction', {
      'id': '17',                     // Transaction ID. Required.
      'affiliation': 'Zelulares',   // Affiliation or store name.
      'revenue': '805.0000',               // Grand Total.
      'shipping': '',                  // Shipping.
      'tax': '5.0000'                     // Tax.
    });

    ga('ecommerce:addItem', {
      'id': '17',                     // Transaction ID. Required.
      'name': 'MacBook',    // Product name. Required.
      'sku': 'Product 16',                 // SKU/code.
      'price': '500',                 // Unit price.
      'quantity': '1'                   // Quantity.
    });

    ga('ecommerce:send');

    ga('send', 'pageview');

</script>

请注意,交易中的地理信息不再存在于 Universal Analytics 中,您需要重新创建此自定义维度。此外,这是假设标准的电子商务跟踪(还有一个 "enhanced" 版本,设置起来要复杂得多)。