SEMcamp 6# – Zastosowanie i wdrażanie asynchronicznego kodu w Google Analytics

Od kilku dni asynchroniczny kod Google Analytics jest domyślnym kodem Google Analytics pokazywanym w interfejsie. Co więcej wszystkie nowe dokumenty pomocy będą rozwijane przede wszystkim dla nowego kodu.

Prezentacja z 6 spotkania SEMcampu

Mariusz Gąsiewski – Marketing w Internecie

Jak wygląda różnica w nowym kodzie?

  • Nowy kod Google Analytics


<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_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);
})();
</script>


  • Stary kod Google Analytics


<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}</script>

Na czym polega przewaga kodu asynchronicznego?

Nowy kod wywołuje się w kodzie strony równolegle z innymi elementami podstrony, na której jest osadzony. W ten sposób nie ma de facto znaczenia, w której części witryny go osadzimy. CO więcej zmniejsza on również prawdopodobieństwo błędnego wywołania kodu.

Nowy kod Google Analytics

Poprzedni kod Google Analytics najczęściej był osadzony na końcu strony, poprzez co wywoływał się na końcu ładowania podstrony. W ten sposób nie powodował on błędów w ładowaniu plików javascript lub też obrazków na stronie. Jednocześnie jednak mogło powodować to nieraz brak załadowania się kodu Google Analytics przed przejściem użytkownika do następnej podstrony (mógł nie zliczać niektórych odstron).

W przypadku, kiedy stary kod Google Analytics był umieszczany na początku kodu, błąd w wywołaniu kodu uniemożliwiał poprawne wyświetlenie podstrony. Szczególnie problematyczne to było w sytuacji, kiedy wykorzystywaliśmy niestandardowe funkcjonalności Google Analytics takie jak śledzenie zdarzeń.

W takim przypadku funkcje śledzenia zdarzeń wymuszały niemal umieszczanie starego kodu Google Analytics przed kodem śledzenia zdarzeń, co najczęściej sprowadzało się do umieszczenia starego kodu Google Analytics na początku kodu źródłowego witryny.

Jak podmienić istniejący stary kod Google Analytics?

W tej sytuacji wystarczy w miejsce starego kodu wrzucić nowy. Dane ze statystyk oczywiście zachowają ciągłość.

To, o czym należy pamiętać przy okazji podmiany kodu to to, że jego podmiana wymaga podmiany kodu wszystkich niestandardowych instalacji takich jak np. funkcje śledzenia zdarzeń, funkcje skracające domyślny czas życia ciasteczka konwersyjnego i itp.

Przykład
Podmiana kodu śledzenia zdarzeń sprawi, że kod:

<a href="http://www.strona.pl/kurs.pdf" onclick="pageTracker._trackPageview('/kurs/pdf’);">Kurs PDF</a>

zamienimy na

<a href = "http://www.strona.pl/kurs.pdf" onclick="_gaq.push(['_trackPageview','/kurs/pdf']);">Kurs PDF</a>


Przykład 2

Kod zmiany czasu życia ciasteczka konwersyjnego z 6 miesięcy na miesiąc zmienimy z

var pageTracker = _gat._getTracker("UA-12345-1");
pageTracker._setCookieTimeout(„86400");
pageTracker._trackPageview();

zamienimy na

var _gaq = _gaq || [];
_gaq.push([&#039;_setAccount&#039;, &#039;UA-1065712-2&#039;]);
_gaq.push([&#039;_setCampaignCookieTimeout&#039;, 86400]);
_gaq.push([&#039;_trackPageview&#039;]);


Comments

  1. Przygotowuje się do wdrożenia asynchronicznego kodu GA na jednej ze stron. Czy jest jakaś możliwość jednoczesnego asynchronicznego ładowania kodu Gemiusa?

  2. Fes pisze:

    A ja mam pewien problem, po przejściu na nowy kod. Strona ładuje się dłużej, bardzo możliwe że jest to związane z wtyczką do ff która „blokuje” google analytics. Czas pełnego załadowania strony jest w granicach 10-15 sekund.

Comments are closed.