Ответ 1
Каждый раз, когда вы вызываете ga('send', 'pageview')
, новое сообщение будет отправлено в GA. Если вы хотите отправить больше данных, вы также можете отправить событие, чтобы избежать отслеживания двойного просмотра.
Я пытаюсь перенести наш сайт в Universal Analytics, а также в службы расширенной электронной торговли. После некоторых экспериментов с использованием отладчика GA, вы должны вызвать ga('send', 'pageview')
после того, как вы вызвали методы ga('ec:addProduct')
и ga('ec:setAction')
для фактической отправки данных.
При просмотре документа (https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce)
некоторые примеры показывают, что они дважды звонят ga('send', 'pageview')
, один раз в начале и второй раз после установки данных продукта, а в других примерах ga('send', 'pageview')
присутствует только в конце.
ga('create', 'UA-XXXXX-Y');
ga('send', 'pageview'); /*FIRST PAGE VIEW CALLED HERE */
ga('require', 'ec', 'ec.js');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
'price': '29.20',
'quantity': 1
});
// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
'id': 'T12345',
'affiliation': 'Google Store - Online',
'revenue': '37.39',
'tax': '2.85',
'shipping': '5.34',
'coupon': 'SUMMER2013' // User added a coupon at checkout.
});
ga('send', 'pageview'); // Send transaction data with initial pageview. /*BUT WE ALREADY CALLED IT AT THE TOP */
Будет ли приведенный выше код приводить к дваждыму просмотру страницы?
Мы также хотим отслеживать продвижение наших клиентов через проверку, используя ga('ec:setAction', 'checkout', {'step' : step});
и указывая номер шага, который мы определили в нашей учетной записи аналитики. Похоже, нам нужно еще раз вызвать send pageview для отправки этих данных. Я попытался отправить все данные в виде одной страницы, но, похоже, вы можете установить только одно действие (ga('ec.setAction')
) на просмотр страницы, чтобы мы не могли отправлять как данные транзакции продукта, так и данные шага проверки на одной странице Посмотреть. Будет ли вызов ga('send', 'pageview')
несколько раз регистрировать несколько просмотров страниц в аналитике или Google обнаруживает, что ваша простая отправка дополнительных данных и не регистрирует дополнительные просмотры страниц?
Я обнаружил, что при использовании обычного отслеживания электронной коммерции вы можете использовать ga('ecommerce:send');
, является ли это эквивалентом в расширенном отслеживании электронной торговли?
Каждый раз, когда вы вызываете ga('send', 'pageview')
, новое сообщение будет отправлено в GA. Если вы хотите отправить больше данных, вы также можете отправить событие, чтобы избежать отслеживания двойного просмотра.
Похоже, вы должны отправить событие как nonInteractive
:
ga('send', 'event', 'ecommerce', 'purchase', {'nonInteraction': true});
Это взято и немного изменено из @Blexy здесь:
Отслеживание показов товаров каталога - Расширенная электронная торговля Google Analytics
Google предлагает это в своем примере, однако мне приходится распространять этот код на странице:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview');
Я заменил приведенный выше код следующим:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('send', 'pageview');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'event')
У меня та же проблема.
Код analytics.js(включая ссылку трекера) должен быть загружен на каждую страницу до того, как может быть запущено событие ec. Поэтому, если вы запускаете стандартный пиксель аналитики на каждой странице и запускаете несколько дополнительных событий, вы, вероятно, удвоите количество просмотров страницы, а показатель отказов не рассчитан правильно
Решением может быть только запуск "нормального" кода страницы аналитики на каждой странице, за исключением тех, которые вы хотели бы обогатить информацией.
<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-XXXX-Y', 'auto'); // Replace with your property ID.
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview');
</script>
Любые лучшие идеи?