Mariusz Gąsiewski

SEMcamp 6# – Kod asynchroniczny Google Analytics – zastosowanie i wdrożenie

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


Sama migracja do nowego kodu jest stosunkowo prosta, trzeba jednak przy jej okazji pamiętać o kilku ważnych kwestiach technicznych i organizacyjnych.

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

Jak widać specyfika starego kodu (czyli tzw. „ga.js”) jest zupełnie inna od kodu asynchronicznego.

  • Nowy kod Google Analytics


<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxx-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 asynchroniczny 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 (kod mógł nie zliczać niektórych odstron).

Nowy kod asynchroniczny Google Analytics -po treści strony

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ń.

Nowy kod asynchroniczny Google Analytics - przed treścią

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łady

  • Śledzenie zdarzeń

Podmiana kodu śledzenia zdarzeń sprawi, że kod:
[code lang=”php”]
<a href="http://www.strona.pl/kurs.pdf" onclick="pageTracker._trackPageview(‚/kurs/pdf’);">Kurs PDF</a>
[/code]
zamienimy na
[code]
<a href = "http://www.strona.pl/kurs.pdf" onclick="_gaq.push([‚_trackPageview’,’/kurs/pdf’]);">Kurs PDF</a>
[/code]

  • Zmiana czasu życia ciasteczka konwersyjnego (domyślnie jest 6 miesięcy)

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

pageTracker._setCookieTimeout(„86400");

zamienimy na:

_gaq.push(['_setCampaignCookieTimeout', 86400]);

  • Instalacja modułu Ecommerce

Kodu modułu Ecommerce zmieni się z:

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

pageTracker._addTrans(
"1234",
"Mountain View",
"11.99",
"1.29",
"5",
"San Jose",
"California",
"USA"
);
pageTracker._addItem(
"1234",
"DD44",
"T-Shirt",
"Green Medium",
"11.99",
"1"
);
pageTracker._trackTrans();


na:

_gaq.push(['_setAccount', ' UA-12345-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_addTrans',
'1234',
'Mountain View',
'11.99',
'1.29',
'5',
'San Jose',
'California',
'USA' ]);
_gaq.push(['_addItem',
'1234',
'DD44',
'T-Shirt',
'Green Medium',
 '11.99',
'1']);
_gaq.push(['_trackTrans']);

  • Śledzenie danych do dwóch kont Google Analytics

Kod zmienimy z:
<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">
var firstTracker = _gat._getTracker("UA-XXXXX-1");
firstTracker._trackPageview();
var secondTracker = _gat._getTracker("UA-XXXXX-2");
secondTracker._trackPageview();
</script>


na:

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

W przypadku, kiedy uznasz strone za przydatna dodaj na swojej stronie link do niej.
Po prostu skopiuj i wklej link podany nizej (Ctrl+C to copy)
Wyglad linku po wklejeniu na stronie: SEMcamp 6# – Kod asynchroniczny Google Analytics – zastosowanie i wdrożenie

Dodaj link do:
| | | Y! MyWeb | +Google

5 komentarzy to “SEMcamp 6# – Kod asynchroniczny Google Analytics – zastosowanie i wdrożenie”

  1. Pawel82on 21 cze 2010 at 12:51

    Witam Serdecznie,
    W jaki sposób, mogę wygenerować nowy kod dla istniejących kont, tak aby została zachowana ciągłość wyników?

  2. Mariusz Gąsiewskion 22 cze 2010 at 10:05

    Wystarczy, że skopiujesz nowy kod z ustawień profilu i wstawisz zamiast starego, a dane zachowają ciągłość.

  3. […] Jakiś czas temu w artykule: Jak uniknąć zduplikowanej treści śledząć kampanie reklamowe w Google Analytics ? pisałem o unikaniu duplikowania treści, powodowanej przez śledzenie kampanii reklamowych w Google Analytics. Tamten artykuł był poświęcony poprzedniemu kodowi Google Analytics, tzw. “ga.js”. W dzisiejszym artykule opiszę, w jaki sposób można wprowadzić takie zmiany dla nowego kodu asynchronicznego Google Analytics. […]

  4. […] http://www.ittechnology.us/semcamp-6-kod-asynchroniczny-google-analytics-zastosowanie-i-wdrozenie/ No Comments […]

  5. Con 05 lut 2014 at 15:09

    Dzień dobry,

    A ja mam problem z GA i zdarzeniami-

    Używam Universal (chyba?) kod jest taki (dane zmieniłem)

    (function(i,s,o,g,r,a,m){i[‚GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);

    ga(‚create’, ‚UA-ZZZZZZ’, ‚witryna.pl’);
    ga(‚send’, ‚pageview’);

    Link do ściągania pliku pdf mam taki:

    SCIAGAJ

    Najpierw w ogóle nie widziałem zdarzeń, potem zdarzenia pokazało jeden raz, teraz znów zdarzeń nie widzę. Czy kod jest błędny?

    W Webmasters Tools pokazuje witrynę /xyz.pdf w najpopularniejszych stronach, powiedzmy wyświetleń 1000, kliknięć 20, CTR 2%. Jak liczone są te kliknięcia? Co oznacza CTR w przypadku .pdf?

    Ustawiona konfiguracja- niestandardowa,
    opis- nazwa celu: pdf, typ celu: zdarzenie
    szczegóły- warunki zdarzenia (wszędzie „równa się”- kategoria: plik, działanie: pdf, etykieta: /xyz.pdf
    wartość- pozostawiłem puste (większe niż)
    wartość zdarzeń jako wartość celu podczas konwersji- tak

    Zarówno w ‚celach’ jak i ‚zdarzeniach’ pusto, ale w Webmasters Tools wyswietlenia podstrony pliku pdf rośnie.

    Bardzo dziękuję za odpowiedź i wskazówi!