Глобальный и локальный счетчик, счетчик мобильной версии сайта и основной. Как совместить в одном трекинг коде несколько счетчиков при этом не «столкнув их лбами»? Задача оказывается тривиальной и несложной, хотя просто влепить два кода подряд нельзя.
Буду опираться на конкретный пример. Была у меня задача: трекать визиты локального сайта site.ru и записывать их в счетчик UA-XXX-1 и записывать эти же визиты в счетчик глобального сайта UA-XXX-2, параллельно плюсуя визиты с site.com. «Во странные ребята», — подумал я, но задача есть задача и ее нужно решать. Трекинг коды на site.ru и site.com уже стояли и нужно было понять как изощриться со счетчиком site.ru чтоб отправить данные по его трафику в два счетчика.
Вопрос оказался простым и не заставил долго ждать: Google не рекомендует ставить два счетчика на один сайт (исключение обычный Google Analytics tracking code и Universal Google Analytics tracking code). Но делать что-то нужно…
Решение: мы прописываем весь пул запросов от setAccount до trackPageview первого счетчика, после делаем точно такую же процедуру со вторым счетчиком, дополнив синтаксис, например global._setAccount и global._trackPageview.
Пример:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXX-1']);
_gaq.push(['_setDomainName', 'site.ru']);
_gaq.push(['_trackPageview']);
_gaq.push(['global._setAccount', 'UA-XXX-2']);
_gaq.push(['global._setDomainName', 'site.com']);
_gaq.push(['global._trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
Все, что нам нужно — отметить на всех вызовах второго счетчика/событий/виртуальных просмотрах страниц/etc, какую-либо отметку, будь это «global.» или «second.», или «b.». Что угодно. Таким образом, дав понять Google Analytics, что это разные структуры и записывать их нужно отдельно.
0