19 сентября 2017, 15:20
5

Прокачай свой счётчик Google Analytics

Добавляем в GA отслеживание трёх важных параметров.

Прокачай свой счётчик Google Analytics

Так уж получилось, что далеко не все возможности Google Analytics доступны по умолчанию и лежат на поверхности. Однако, на мой взгляд, есть несколько обязательных функций, о работе которых нужно задуматься ещё на этапе установки счётчика. Сегодня я хочу вам представить свой вариант кода Google Analytics, который позволит подробнее изучать поведение пользователей на вашем сайте.

Вся суть моего варианта счётчика сводится к тому, что вы получите 3 новых параметра в отчётах для анализа, которых изначально нет, а именно:

1) идентификатор браузера пользователя — ClientID;
2) точное время хита — Hit timestamp;
3) идентификатор сессии — SessionId.

* Хит — любое взаимодействие с сайтом, например: просмотр страницы, транзакция, событие.

Для начала подготовим наш счётчик. Для этого создадим несколько пользовательских показателей.

  • ClientId — на уровне сессии.
  • Hit timestamp — на уровне хита.
  • SessionId — на уровне сессии.

Вы ведь умеете это делать? Ладно, я покажу на одном примере для ClientID, а остальные сделайте по аналогии.

Алгоритм

1. Зайдите в административную панель, там на уровне ресурса ищите пункт «пользовательские определения» → «пользовательские параметры».

2. Нажимайте кнопку «специальный параметр».

3. Указывайте ваш параметр.

4. Сохраняйте.

Повторите всё это для двух оставшихся параметров, только не забудьте указать верную область действия.

А теперь давайте взглянем на наш кастомный код.

<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');
 
    function getTimeStamp() {
    var now = new Date();
    var tzo = -now.getTimezoneOffset();
    var dif = tzo >= 0 ? '+' : '-';
    var pad = function(num) {
        var norm = Math.abs(Math.floor(num));
        return (norm < 10 ? '0' : '') + norm;};
    return now.getFullYear()
        + '-' + pad(now.getMonth()+1)
        + '-' + pad(now.getDate())
        + 'T' + pad(now.getHours())
        + ':' + pad(now.getMinutes())
        + ':' + pad(now.getSeconds())
        + '.' + pad(now.getMilliseconds())
        + dif + pad(tzo / 60)
        + ':' + pad(tzo % 60);}
 
    function getSessionId() 
           {return new  Date().getTime() 
                       + '.' + Math.random().toString(36).substring(5);}
  
    ga('create', 'UA-XXXXXXXX-1', 'auto');
    ga('require', 'displayfeatures');
 
  var timeStamp = getTimeStamp();
  var sessionId = getSessionId();
 
ga(function(tracker) {
tracker.send('pageview', {
  'dimension1' : tracker.get('clientId'),
  'dimension2' : timeStamp,
  'dimension3' : sessionId
})});
</script> 

Вы можете смело копипастить его, только замените UA-XXXXXXXX-1 на свой идентификатор.

После таких несложных процедур вы увидите в отчётах новые параметры.

И ещё один небольшой нюанс. Так как мы хотим записывать точное время не только просмотров страниц, но вообще всех взаимодействий с сайтом, не забывайте назначать пользовательский параметр к этим хитам.

Для события это может выглядеть вот так:

<script>
    ga('send', 'event', 'form', 'submit', {'dimension3' : getTimeStamp()})
</script> 

А для транзакции примерно вот:

<script>
ga('require', 'ecommerce', 'ecommerce.js');
ga('ecommerce:addTransaction', {
 
 'id': '418',       
 'revenue': '20000000000000000000.00'            
});
 
 ga('ecommerce:addItem', {
 'id': '418',            
 'name': 'Большой адронный коллайдер',     
 'category': 'Коллайдеры',          
 'price': '10000000000000000000.00',                  
 'quantity': '2'                         
});
 
ga('set', 'dimension3', getTimeStamp());
ga('ecommerce:send')           
 
</script> 

На этом всё, с вами был Илья Смирнов!

Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.



📰 Чем живёт digital.
Главное — в рассылке: