Да, възможно е.

Не, не става с просто copy-paste и на двата кода един до друг.

Четете нататък, ако искате да разберете решението, което открих експериментирайки! :-)

* * *

Наскоро ми се наложи да си поиграя доста с GoogleAnalytics. Имах идеята освен това, за удобство, да инсталирам един общ за целия домейн GoogleAnalytics брояч, и по един отделен брояч за някои от секциите. Така статистиката за целия сайт и отделните му секции би могла да бъде следена по-лесно, все едно следиш статистиката за отделни сайтове, като в същото време имаш и общ поглед върху трафика.

Речено – сторено.

Създадох отделни профили в Google Analytics (един профил за целия сайт и няколко профила за секциите в него), копирах кодовете от GoogleAnalytics на всяка страница, един под друг, и зачаках резултатите. След около 24 часа се оказа:

1) Общият брояч работи (винаги е първи в кода на страниците).
2) Броячите за секции не работят (отчитат нулев трафик), въпреки че самият Google Analytics твърди, че кодът е вмъкнат правилно и работи (кодът на GA за всяка секция винаги е след кода на брояча за целия домейн).

Нещата в този момент изглеждаха така:

<!-- GoogleAnalytics code for the whole domain -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-XXXXXXX-X";
urchinTracker();
</script>
<!-- GoogleAnalytics code for a specific site section -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-XXXXXXX-X";
urchinTracker();
</script>

Явно copy-paste не вършеше работа в случая… След известно почесване по главата и търсене в Google открих следното решение:

Поставя се кодът за първия брояч, след това се добавя:

_uff = false; // Reset for second account

И след това се поставя кодът за следващия брояч. Ако е необходимо да вмъкнете код не за 2, а за 3 Google Analytics брояча, след втория отново поставяте:

_uff = false; // Reset for third account

И така нататък, за колкото броячи са ви необходими:-)

В моя случай (два брояча в една страница), целият код изглежда така:

<!-- GoogleAnalytics code -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-XXXXXXX-X"; // GoogleAnalytics code for the whole domain
(typeof(urchinTracker) == "function") urchinTracker();
_uff = false; // Reset for second account
_uacct = "UA-XXXXXXX-X"; // GoogleAnalytics code for a specific site section
if (typeof(urchinTracker) == "function") urchinTracker();
</script>

Съществува и опростен вариант на горния пример.

В случая използвах: if (typeof(urchinTracker) == "function") urchinTracker();
…защото така беше препоръчано (някои видове AdBlock софтуери блокират зареждането на urchin.js, тогава urchinTracker се оказва недефинирана функция и дава грешка, така че първо се прави проверка, и само ако urchinTracker съществува, тя се извиква).

(Не съм добър в JavaScript, ако някой има повече insight по въпроса, ще се радвам да чуя мнението му!:-)

…Та нека се върнем на съкратения запис на горния пример. Ето го:

<!-- GoogleAnalytics code -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-XXXXXXX-X"; // GoogleAnalytics code for the whole domain
urchinTracker();
_uff = 0; // Reset for second account 
_uacct = "UA-XXXXXXX-X"; // GoogleAnalytics code for a specific site section
urchinTracker();
</script>

И двата вършат абсолютно същата работа, просто първият вариант е малко по-bulletproof от втория:)

Сега тествах, всички Google Analytics броячи отчитат нормално – имам обща статистика за целия домейн, и отделни GA профили за всяка отделна секция в сайта.

Надявам се тези кратки GoogleAnalytics tips & tricks да бъдат полезни и на други ентусиасти, решили да ‘хакват’ кода на GA за специфичните си нужди:)

Leave a Reply

Your email address will not be published. Required fields are marked *