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>