Розширений код Google Analytics

Підприємці, аналітики, маркетологи та SEO-спеціалісти завжди хотіли б бачити позитивну динаміку свого проєкту в Google Analytics. Для цього необхідно уважно стежити за поведінкою користувачів на сайті та отримувати більше важливих даних і сигналів.

Сьогодні ми допоможемо вам у цьому — просто використовуйте готовий розширений код Universal Analytics і позбавте себе необхідності виконувати безліч ручних налаштувань і втручань у код вашого сайту.

Одного разу нам набридло виконувати одну й ту саму роботу з налаштування GA на багатьох проєктах, що й призвело до рішення зібрати код, який вирішує найбільш типові завдання.

Отже, ця збірка коду Google Analytics включає:

1. Демографічні звіти та звіти за категоріями інтересів

Ви отримаєте доступ до демографічних даних відвідувачів (вік і стать) та даних про їхні інтереси — сайти якої тематики вони відвідують і які покупки здійснюють у мережі Інтернет. Не забуваємо увімкнути їх використання в самому інтерфейсі: для цього заходимо в "Адміністратор" -> "Налаштування ресурсу" -> "Функції для рекламодавців":

00002. Розшифровка міток _openstat від Яндекс Директ

Автоматичне позначення кампаній у Яндекс Директ буде коректно інтерпретуватися в Google Analytics. Більше не потрібно витрачати час на UTM-мітки.

Автоматичне відстеження подій без втручання в код сайту

3. Відстеження кліків по всіх вихідних посиланнях вашого сайту

Кожен клік по вихідному посиланню відобразиться у вигляді події, а ярликом цієї події буде той сайт, на який перейшов користувач. Ось як це виглядатиме у звіті про події (для перевірки працездатності коду ми рекомендуємо самому згенерувати кілька подій після встановлення коду та перевірити їх відображення у звіті "У режимі реального часу"):

1

Ярлик = цільовий URL переходу:

2

Ця функція дуже актуальна для блогерів, які заробляють розміщенням оглядів і втомилися вислуховувати казки на кшталт "з вашого блогу дуже мало переходів на наш сайт".

4. Відстеження завантажень документів

Будь-яке завантаження документа формату zip|exe|dmg|pdf|doc|docx|xls|xlsx|ppt|mp3|txt|rar|wma|mov|avi|wmv|flv|wav

з вашого сайту відобразиться у вигляді події "Завантаження", ярликом цієї події буде шлях до завантаженого документа:

22225. Відстеження натискань на e-mail із посиланням "mailto:"

Подія так і називатиметься — email, ярлик покаже, на які саме адреси натискають користувачі:

33336. Відстеження натискань на телефони з посиланням "tel:"

В аналітиці відобразиться подія "Телефон", її ярликом буде безпосередньо сам номер телефону:

44444

Хочете, щоб усе це працювало за замовчуванням у вашому Google Analytics?

Крок 1. Візьміть цей фрагмент коду і вставте перед закриваючим тегом у шапці вашого сайту: (зручно використовувати кнопку Copy у правому верхньому куті блоку з кодом)


  (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-XXXXXX-X', 'auto');
  ga('require', 'displayfeatures');
  var OpenStatParser =   {  
        _params:   {    }  ,
        _parsed: false,
        _decode64: function(data)   {  
            if (typeof window['atob'] === 'function')   {  
                return atob(data);
              }  
            var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
            var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
                ac = 0,
                dec = "",
                tmp_arr = [];
            if (!data)   {  
                return data;
              }  
            data += '';
            do   {  
                h1 = b64.indexOf(data.charAt(i++));
                h2 = b64.indexOf(data.charAt(i++));
                h3 = b64.indexOf(data.charAt(i++));
                h4 = b64.indexOf(data.charAt(i++));
                bits = h1 << 18 | h2 << 12 | h3 << 6 | h4; o1 = bits >> 16 & 0xff;
                o2 = bits >> 8 & 0xff;
                o3 = bits & 0xff;
                if (h3 == 64)   {  
                    tmp_arr[ac++] = String.fromCharCode(o1);
                  }   else if (h4 == 64)   {  
                    tmp_arr[ac++] = String.fromCharCode(o1, o2);
                  }   else   {  
                    tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
                  }  
              }   while (i < data.length);
            dec = tmp_arr.join('');
            return dec;
          }  ,
        _parse: function()   {  
            var prmstr = window.location.search.substr(1);
            var prmarr = prmstr.split('&');
            this._params =   {    }  ;
            for (var i = 0; i < prmarr.length; i++)   {  
                var tmparr = prmarr[i].split('=');
                this._params[tmparr[0]] = tmparr[1];
              }  
            this._parsed = true;
          }  ,
        hasMarker: function()   {  
            if (!this._parsed)   {  
                this._parse();
              }  
            return (typeof this._params['_openstat'] !== 'undefined') ? true : false;
          }  ,
        buildCampaignParams: function()   {  
            if (!this.hasMarker())   {  
                return false;
              }  
            var openstat = this._decode64(this._params['_openstat']);
            var statarr = openstat.split(';');
            utmcampaign = statarr[1];
            utmsource = statarr[0];
            utmcontent = statarr[2];
          }  
      }  
    if (OpenStatParser.hasMarker())   {  
        var campaignParams = OpenStatParser.buildCampaignParams();
        if (campaignParams !== false)   {  
            ga('set',   {  'campaignName': utmcampaign, 'campaignSource': utmsource, 'campaignMedium': 'cpc', 'campaignContent': utmcontent  }  );
          }  
      }  
ga('send', 'pageview');

Крок 2. Замініть UA-XXXXX-X на ідентифікатор вашого сайту
Крок 3. Візьміть цей фрагмент коду і вставте у футер вашого сайту:


if (typeof jQuery != 'undefined')   {  
    var filetypes = /\.(zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');
    var hrefRedirect = '';
     jQuery('body').on('click', 'a', function(event)   {  
        var el = jQuery(this);
        var track = true;
        var href = (typeof(el.attr('href')) != 'undefined' ) ? el.attr('href') : '';
        var isThisDomain = href.match(document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]);
        if (!href.match(/^javascript:/i))   {  
            var elEv = []; elEv.value=0, elEv.non_i=false;
            if (href.match(/^mailto\:/i))   {  
                elEv.category = 'email';
                elEv.action = 'click';
                elEv.label = href.replace(/^mailto\:/i, '');
                elEv.loc = href;
              }  
            else if (href.match(filetypes))   {  
                var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
                elEv.category = 'завантаження';
                elEv.action = 'click-' + extension[0];
                elEv.label = href.replace(/ /g,'-');
                elEv.loc = baseHref + href;
              }  
            else if (href.match(/^https?\:/i) && !isThisDomain)   {  
                elEv.category = 'вихідні';
                elEv.action = 'click';
                elEv.label = href.replace(/^https?\:\/\//i, '');
                elEv.non_i = true;
                elEv.loc = href;
              }  
            else if (href.match(/^tel\:/i))   {  
                elEv.category = 'телефон';
                elEv.action = 'click';
                elEv.label = href.replace(/^tel\:/i, '');
                elEv.loc = href;
              }  
            else track = false;
             if (track)   {  
                var ret = true;
                 if((elEv.category == 'вихідні' || elEv.category == 'завантаження') && (el.attr('target') == undefined || el.attr('target').toLowerCase() != '_blank') )   {  
                    hrefRedirect = elEv.loc;
                     ga('send','event', elEv.category.toLowerCase(),elEv.action.toLowerCase(),elEv.label.toLowerCase(),elEv.value,  {  
                        'nonInteraction': elEv.non_i ,
                        'hitCallback':gaHitCallbackHandler
                      }  );
                     ret = false;
                  }  
                else   {  
                    ga('send','event', elEv.category.toLowerCase(),elEv.action.toLowerCase(),elEv.label.toLowerCase(),elEv.value,  {  
                        'nonInteraction': elEv.non_i
                      }  );
                  }  
                 return ret;
              }  
          }  
      }  );
     gaHitCallbackHandler = function()   {  
        window.location.href = hrefRedirect;
      }  
  }  

Крок 4. Аналізуйте отримані дані
Сподіваємося, що цей код полегшить вам життя під час роботи з Google Analytics, а отримані дані сприятимуть покращенню ресурсу та зростанню бізнесу!

(5/5 - голосів 1)

Рекомендовані статті

Читайте також: