5 интересных расширений Google Analytics
Стандартный функционал Google Analytics предоставляет множество данных для анализа, но порой, этих данных не хватает или хочется представлять их в более удобном виде. Я собрал 5 расширений, позволяющий решать не стандартные задачи.
GAS — Google Analytics on Steroids
Крайне интересное расширение, позволяющее добавить новые функционал в стандартный счетчик.

Установка и настройка описаны на странице расширения и не вызывают каких либо проблем.

В целом, код будет выглядеть так:
<script type="text/javascript">// <![CDATA[
<script type="text/javascript">
var _gas = _gas || [];
_gas.push(['_setAccount', 'UA-YYYYYY-Y']); // REPLACE WITH YOUR GA NUMBER
_gas.push(['_setDomainName', '.mydomain.com']); // REPLACE WITH YOUR DOMAIN
_gas.push(['_trackPageview']);
_gas.push(['_gasTrackForms']);
_gas.push(['_gasTrackOutboundLinks']);
_gas.push(['_gasTrackMaxScroll']);
_gas.push(['_gasTrackDownloads']);
_gas.push(['_gasTrackYoutube', {force: true}]);
_gas.push(['_gasTrackVimeo', {force: true}]);
_gas.push(['_gasTrackMailto']);

(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = '//cdnjs.cloudflare.com/ajax/libs/gas/1.10.1/gas.min.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
// ]]></script>
Среди функций можно выделить:
_gasTrackForms — функция, позволяющая отслеживать факт нажатия кнопки «отправить» или заполнение полей форм. Позволяет как в Яндекс.Метрике, сделать что-то похожее на аналитику форм, правда без вебвизора, но можно строить полезные отчеты.

_gasTrackOutboundLinks — позволяется трекать факт нажатия пользователем внешней ссылки.

_gasTrackDownloads — позволяет трекать факт скачивания файлов с сайта.

_gasTrackYoutube — позволяет трекать факт просмотра встроенного ролика с youtube.
Отслеживание кнопок социальных сетей
Особенно для контентных проектов крайне важно понимать, насколько материалы, содержащиеся на сайте интересны пользователям. Кроме обычных метрик — среднее время пребывания на сайте, количество просмотренных страниц и показатель отказов, хорошие данные дают лайки с соц. сетей.

Данный скрипт, позволяет легко, и не принужденно передавать данные о лайках и share кастомными переменными в Google Analytics:
<script type="text/javascript">// <![CDATA[
var _gaq = _gaq || [];     
_gaq.push(['_setAccount', 'UA-26853310-1']);     
_gaq.push(['_trackPageview']);     
(function() {       
var ga = document.createElement('script');  
ga.type = 'text/javascript';  
ga.async = true;       
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';       
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);    })();  
FB.Event.subscribe('edge.create', function(targetUrl) {     _gaq.push(['_trackSocial', 'facebook', 'like', targetUrl]);   });   FB.Event.subscribe('message.send', function(targetUrl) {     _gaq.push(['_trackSocial', 'facebook', 'send', targetUrl]);   });
// ]]></script>
Аналитика посадочных страниц
Как правило, посадочные страницы — это отдельные страницы без возможности переходов на основной сайт. По умолчанию, единственной метрикой эффективности рекламных кампаний может быть только факт телефонного звонка или заполнения формы заявки. Но, как правило, это 2-10% от общего объема трафика.

Было бы хорошо иметь промежуточную метрику, для оценки качества трафика. Такой метрикой может быть факт просмотра страницы, количество времени, затраченную пользователем для просмотра страницы и факт достижения конца страницы. Именно эту задачу и решает это расширение:
<script type="text/javascript">// <![CDATA[
jQuery(function($) {     // Debug flag     
var debugMode = true;     // Default time delay before checking location     
var callBackTime = 100;     // # px before tracking a reader     
var readerLocation = 150;     // Set some flags for tracking &#038; execution     
var timer = 0;     
var scroller = false;     
var endContent = false;     
var didComplete = false;     // Set some time variables to calculate reading time     
var startTime = new Date();     
var beginning = startTime.getTime();     
var totalTime = 0;     // Track the aticle load     
if (!debugMode) {         
_gaq.push(['_trackEvent', 'Reading', 'ArticleLoaded', '', , true]);     }     // Check the location and track user     
function trackLocation() {         
bottom = $(window).height() + $(window).scrollTop();         
height = $(document).height();         // If user starts to scroll send an event         
if (bottom > readerLocation &#038;&#038; !scroller) {
            currentTime = new Date();
            scrollStart = currentTime.getTime();
            timeToScroll = Math.round((scrollStart - beginning) / 1000);
            if (!debugMode) {
                _gaq.push(['_trackEvent', 'Reading', 'StartReading', '', timeToScroll]);
            } else {
                alert('started reading ' + timeToScroll);
            }
            scroller = true;
        }

        // If user has hit the bottom of the content send an event
        if (bottom >= $('.entry-content').scrollTop() + $('.entry-content').innerHeight() &#038;&#038; !endContent) {
            currentTime = new Date();
            contentScrollEnd = currentTime.getTime();
            timeToContentEnd = Math.round((contentScrollEnd - scrollStart) / 1000);
            if (!debugMode) {
                _gaq.push(['_trackEvent', 'Reading', 'ContentBottom', '', timeToContentEnd]);
            } else {
                alert('end content section '+timeToContentEnd);
            }
            endContent = true;
        }

        // If user has hit the bottom of page send an event
        if (bottom >= height &#038;&#038; !didComplete) {
            currentTime = new Date();
            end = currentTime.getTime();
            totalTime = Math.round((end - scrollStart) / 1000);
            if (!debugMode) {
                if (totalTime < 60) {
                    _gaq.push(['_setCustomVar', 5, 'ReaderType', 'Scanner', 2]);
                } else {
                    _gaq.push(['_setCustomVar', 5, 'ReaderType', 'Reader', 2]);
                }
                _gaq.push(['_trackEvent', 'Reading', 'PageBottom', '', totalTime]);
            } else {
                alert('bottom of page '+totalTime);
            }
            didComplete = true;
        }
    }

    // Track the scrolling and track location
    $(window).scroll(function() {
        if (timer) {
            clearTimeout(timer);
        }

        // Use a buffer so we don't call trackLocation too often.
        timer = setTimeout(trackLocation, callBackTime);
    });
});
// ]]></script>
Более подробно о логике работы кода можно прочитать тут.
Расширение для Chrome
Об этом расширении уже писали в других обзорах, но я думаю, будет не лишним напомнить тем, кто еще не установил.

Table Booster for Google Analytics

Крайне полезная штука, позволяющая визуально дополнить представление данных в стандартных отчетах Google Analytics:
Google Analytics Report
Расширение, которое переводит сухие данные статистики в красивую картинку, используя приемы инфографики.

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

И маленьким бонусом, тем, кто хочет сдать экзамен GAIQ, в помощь будет этот ресурс, на котором собраны все вопросы экзамена и есть возможность пройти тестовый экзамен.
Made on
Tilda