1

У меня уже была установка 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.

Это, очевидно, дает неправильные результаты просмотра страниц и показатель отказов. Как правильно настроить это?

+0

Я могу предложить использовать Angulartics https://luisfarzati.github.io/angulartics/ –

ответ

0

Удалите эту строку из сценария:

ga("send", "pageview"); 
+0

Основываясь на последнем [Google Analytics] (https: // разработчиков. google.com/analytics/devguides/collection/analyticsjs/single-page-applications). Я бы предложил установить ga ('set', 'page', '$ location.url()') ' –