Я пытаюсь использовать аутентификацию пользователя Analytics асинхронным способом. Я следил за этим документом, поэтому у меня есть эти два кода:
В моем HTML-коде в разделе
<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','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-36705395-2', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['my.website.com'] );
ga('send', 'pageview');
</script>
И в моем внешнем JS, выполненном после pageload
$.ajax({
url: 'https://my.website.com/api/check_key?cid=' + cid,
type: 'GET',
accepts: {
json: 'application/json'
},
success: function (data) {
console.log('send userID to GA ('+ cid +')');
ga('set', 'userId', cid);
}
});
Проблема: ga ('set', 'userId', cid); ничего не посылает в GA, хотя у меня есть трассировка на моей консоли. В GA нет ответа XHR.
Когда я переключаю GA в режим отладки, у меня есть эта трассировка:
Запуск команды: ga ("set", "userId", "123")
Я что-то пропустил? Do ga ('set'...) нужно что-то еще для отправки данных?
Благодарю.
Данные передаются только аналитике при использовании команды "отправить", поэтому после установки идентификатора пользователя вам необходимо записать просмотр страницы, событие или социальное взаимодействие. Документация Google для обработки аутентификации после pageload вводит в заблуждение, поскольку она не упоминает об этом.
В этом случае запись события входа может иметь смысл.
ga('send', 'event', 'account', 'login');