Необходимы несколько настроек:
Отключить хранение файлов cookie
Файлы cookie не могут использоваться, так как в действии нет домена, поэтому мы должны предотвратить попытки GA использовать их.Это можно сделать, установив 'storage': 'none'
в конфигурации создания ( документация ).
Отключить проверку файлового протокола
По умолчанию GA прерывает работу, если протокол (в нашем случае *)1012 *) не является http
или https
.Отключите эту проверку, используя соответствующую задачу : ga('set', 'checkProtocolTask', null)
Установить активную страницу вручную
Поскольку домена нет, GA не может найти путь, обозначающий активную страницу.Его можно настроить вручную с помощью функции изменения URL-адреса страницы : ga('set', 'page', 'foobar')
Последующий ga('send', 'pageview')
будет отображаться в данных как посещение /foobar
.
Отслеживание личности пользователя с помощью localStorage (необязательно)
При отключенных файлах cookie пользователи не отслеживаются при загрузке страницы, поэтому каждое обновление будет запускать обнаружение другого уникального посетителя.Однако мы можем предоставить пользовательские идентификаторы клиентов при создании, установив 'clientId': localStorage.getItem(someKey)
, который ищет ранее сохраненные идентификаторы клиентов.
Хранение идентификаторов выполняется с помощью
ga(function(tracker) {
localStorage.setItem(someKey, tracker.get('clientId'));
})
Все вместе
Объединяя все вышеперечисленные шаги, мы получаем что-то вроде следующего:
(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-XXXXXXXX-Y', {
'storage': 'none',
'clientId': localStorage.getItem('ga:clientId')
});
ga(function(tracker) {
localStorage.setItem('ga:clientId', tracker.get('clientId'));
});
ga('set', 'checkProtocolTask', null);
ga('set', 'page', 'myPage');
ga('send', 'pageview');