Google Universal Analytics не работает для отслеживания электронной коммерции

Я много раз использовал предыдущую версию аналитики для настройки отслеживания электронной торговли, но не получал работу новой универсальной версии аналитики.

У меня это пока что на странице квитанции (все переменные заполняются правильно, когда я запускаю тестовую транзакцию, я просто вставил переменные-заполнители для примера ниже), но ни один пиксель не запускается, похоже для транзакции:

<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-########-#', 'secure.example.com');
  ga('require', 'ecommerce', 'ecommerce.js'); 
  ga('send', 'pageview');

  ga('ecommerce:addTransaction', {
        'id': '[id]',           
        'affiliation': '[storename]',  
        'revenue':'[total]',            
        'shipping':'[shipping]',        
        'tax': '[tax]'              
    });

 #foreach ($item in $order.getItems())
    ga('ecommerce:addItem', {
      'id': '[id]',                                                                                
      'name': '[product]',
      'sku': '[sku]',
     'category': '',
     'price': '[unitprice]',
      'quantity': '[quantity]'                                                           
    });
    #end

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

Запуск просмотра страниц сначала работал для меня в предыдущей версии аналитики; это неправильный способ структурировать это для фрагмента универсальной аналитики?

2 ответа

Следующий фрагмент кода взят из нашего тестового домена, который вы можете сравнить, и он точно отправляет правильные данные в GA.

<script type="text/javascript">
//<![CDATA[
(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-X', 'auto');

ga('send', 'pageview');

ga('require', 'ecommerce', 'ecommerce.js');

ga('set', 'currencyCode', 'GBP');

ga('ecommerce:addTransaction', { 
  'id': '100000001', 
  'affiliation': '', 
  'revenue': '143.3000', 
  'shipping': '88.3000', 
  'tax': '0.0000'});

ga('ecommerce:addItem', {
 'id': '100000001', 
 'name': 'Blue Horizons Bracelets', 
 'sku': 'acj0006s',
 'category': 'Bracelets', 
 'price': '55.0000', 
 'quantity': '1.0000'});

ga('ecommerce:send');
//]]>
</script>

Если вы не против потратить несколько долларов, то следующий модуль может сделать эту работу за вас.

Для Magento 1

https://www.scommerce-mage.com/magento-google-enhanced-ecommerce-tracking.html

Для Magento 2

https://www.scommerce-mage.com/magento2-google-enhanced-ecommerce-tracking.html

Итак, с помощью обычного фрагмента Universal Analytics в заголовке, выполняющего просмотр страницы, это работает в теле страницы квитанции:

<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('require', 'ecommerce', 'ecommerce.js');   

ga('ecommerce:addTransaction', {
    'id': '[id]',           
    'affiliation': '[storename]',  
    'revenue':'[total]',            
    'shipping':'[shipping]',        
    'tax': '[tax]'              
});

 #foreach ($item in $order.getItems())
  ga('ecommerce:addItem', {
  'id': '[id]',                                                                                
  'name': '[product]',
  'sku': '[sku]',
 'category': '',
 'price': '[unitprice]',
  'quantity': '[quantity]'                                                           
});
#end

ga('ecommerce:send');
</script>    
Другие вопросы по тегам