У меня уже была установка GA в моем приложении с угловой одностраничной страницей. В нижней части главного index.html У меня есть код отслеживания GA:Google Analytics в Angular SPA
<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-56056824-2", "auto");
ga("send", "pageview");
</script>
Затем, чтобы убедиться, что новый просмотр страницы обжигают в Google каждый раз, когда пользователь вводит новый вид, я добавил слушатель для viewContentLoaded
, чтобы затем запустить новый просмотр страницы в GA.
app.run(["$rootScope", "$location", "$window", function($rootScope, $location, $window){
$rootScope.$on("$viewContentLoaded", function(event){
$window.ga("send", "pageview", { page: $location.url() });
});
}]);
Все это отлично работает, но я заметил чрезвычайно низкий показатель отказов (3%). Теперь я понял, что происходит. Пользователь приходит на домашнюю страницу, и сценарий GA запускается, отправляя просмотр страницы на главной странице. Затем, когда javascript выполняет и загружает представление, второй просмотр страницы отправляется с использованием вышеперечисленного javascript.
Это, очевидно, дает неправильные результаты просмотра страниц и показатель отказов. Как правильно настроить это?
Я могу предложить использовать Angulartics https://luisfarzati.github.io/angulartics/ –