Отслеживание идентификатора пользователя Google Analytics работает неправильно - PullRequest
0 голосов
/ 20 мая 2018

Я прошел тонны учебников, ТАК сообщений и даже документов Google.Я до сих пор не могу понять, что я делаю неправильно.

Я пытаюсь отследить все действия пользователя после входа пользователя в наше приложение.Я создал представление с поддержкой User Id в разделе «Администраторы» под названием «Просмотр идентификатора пользователя», и у меня есть еще одно представление под названием «Все данные веб-сайта», которое отслеживается по Client ID.

Я поместил код инициализации трекера GA в файл с именем Footer.js, который отображается на каждой странице приложения.Это позволяет мне отслеживать «просмотры страниц» для всех страниц в приложении.Затем я поместил код отслеживания идентификатора пользователя в файл с именем Login.js, на успешный обратный вызов запроса AJAX, который используется для аутентификации.Это должно позволить мне связывать любые «просмотры страниц» и «события» с конкретным пользователем после его входа в систему. У меня также есть трекеры «событий», разбросанные по всему приложению для отслеживания нажатий кнопок.

Моя проблемачто ПОЧТИ все «просмотры страниц» и «события» отслеживаются в представлении «Все данные веб-сайта» (связанное с Client Id) вместо представления «Представление идентификатора пользователя».Единственное «событие» и «просмотр страницы», правильно отслеживаемые в представлении «Представление идентификатора пользователя», - это те, которые включены в успешный обратный вызов AJAX-вызова аутентификации. Я хочу, чтобы все события после проверки подлинности и просмотры страниц отслеживались в представлении «Просмотр идентификатора пользователя», а этого не происходит.

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

Footer.cshtml:

<script type="text/javascript">
  (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', 'https://www.google-analytics.com/analytics.js', 'ga');

  ga('create', 'UA-XXXXX-Y', 'auto');
  ga('send', 'pageview');
</script>

Login.js

$.ajax({
        data: ko.toJSON(myData), type: 'POST', url: http://www.example.org, 
        success: function (data) {
          window.location.href = data.redirect;
          ga('set', 'userId', data.userId);
          ga('send', 'event', 'authentication', 'User has logged in');
          ga('send', 'pageview');
        },
        error: function (request) { handleSubmitError(request.responseText); }
      });

1 Ответ

0 голосов
/ 27 сентября 2018

Я думаю, что после window.location.href не работает, потому что страница была перенаправлена.

Попробуйте поместить его в setTimeout очередь после ga('send', 'pageview').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...