Да, възможно е.
Не, не става с просто 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 за специфичните си нужди:)