Dodatkowe opcje Google Analytics - zdarzenia, zmienne użytkowników, ecommerce

Google Analytics dla wielu osób pracujących ze stronami internetowymi powinien być znany jako system statystyk serwisów www. Mierzy ilość odsłon, ilość unikalnych użytkowników i wiele innych parametrów. Narzędzie Googla potrafi jednak znacznie więcej niż proste liczenie odwiedzin. Statystyki możemy wzbogacić o zdarzenia generowane przez użytkowników, czy też nadawać zmienne użytkownikom (np. czy jest zalogowany, albo jaki poziom usługi wykupił). Można także integrować sklepy z modułem eCommerce Analyticsa. Wykorzystanie tych elementów Analyticsa to zadanie dla programistów.

Struktura Google Analytics

Na początek warto zobaczyć jak zorganizowany jest system Analytics. Może to być ważne gdy zarządzamy dużą ilością stron - prywatnych i stron klientów.

Do kont Analytics (możemy mieć ich wiele) logujemy się poprzez nasze konto użytkownika Google (konto odpowiedzialne m.in. za GMail/Google Plus i inne usługi Googla.). Możemy mieć dostęp do wielu kont Analytics - tych stworzonych przez nas lub udostępnionych nam przez innych. Każde konto ma swój unikalny numer identyfikacyjny

W koncie Analytics możemy tworzyć "usługi internetowe" (web property), np. by śledzić ruch na mójblog.pl tworzymy "usługę" mójblog.pl. Jeżeli mamy kilka oddzielnych serwisów do dla każdego możemy założyć taką usługę. Każda usługa ma swój unikalny numer identyfikacyjny.

Każda usługa ma profile. Domyślnie tworzony jest główny profil i to on prezentuje dane zebrane ze śledzonego serwisu. Można tworzyć dodatkowe profile np. prezentujące fragment danych, bądź też dane dotyczące fragmentu serwisu (temat rzeka).

Kod śledzący i identyfikator usługi

Kod śledzący daną stronę zawiera identyfikator usługi w postaci UA-XXXXXX-XX. Pierwsza liczba to identyfikator kont analytics, druga to identyfikator usługi. Identyfikator, jak i cały kod śledzący do wklejenia na stronę podaje Analytics (Administrator -> wybieramy usługę -> Kod śledzenia). Będzie wyglądał mniej więcej tak:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXX-XX']);
  _gaq.push(['_setDomainName', 'domenaserwisu.pl']);
  _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>

Od strony programistycznej tablica _gaq będzie wykorzystywana do wysyłania zdarzeń, czy ustawiania zmiennych użytkownika. O tym za chwilę.

Tak jak zaprezentowano to w opisie Analyticsa kont Analytics może być wiele. Konta analytics można (powinno) wykorzystać do podziału serwisów do śledzenia - np. prywatne na jednym koncie, firmowe na kolejnym, a serwisy klientów powinny mieć po swoim własnym koncie. Ułatwia to zarządzanie dostępem do poszczególnych kont/śledzonych serwisów (np. klient może mieć dostęp administratora do analyticsa swojego serwisu - i tylko tego serwisu).

Google Analytics dla programistów

W serwisie można umieścić np. zdarzenia wysyłane gdy użytkownik kliknie w dany link. Potrzeby mogą być różne. Analytics oferuje zdarzenia, zmienne użytkowników, czy obsługę ecommerce. Można wykorzystać te komponenty do zbierania dodatkowych informacji o tym jak użytkownicy korzystają z serwisu. W późniejszych analizach danych może to być przydatne w ulepszaniu serwisu, usług itp.

Debugowanie zbierania danych przez Analyticsa

Dobrze jest widzieć czy i co jest wysyłane do Google Analytics. By śledzić przesył danych do Analyticsa można posłużyć się wtyczkami do Firefoksa - GA Debugger, czy Chrome - Google Analytics Debugger. Pokazują one jakie żądania są wysyłane do Analytics oraz jakie dane zostały przesłane, np. dla żądań ecommerce może wyglądać to tak:
GA Debugger - żądanie ecommerce wysłane do Analyticsa
Dzięki tym wtyczkom możemy testować nasz kod.

Obsługa zdarzeń

Zdarzenia generowane przez użytkowników mogą nam powiedzieć jak korzystają oni z serwisu, np. z jakich elementów korzystają, a z jakich nie (np. różne formy nawigacji). Najprostsze użycie to wstawienie kodu zdarzenia w linku:
<a href="#" onClick="_gaq.push(['_trackEvent', 'Kategoria', 'Akcja', 'Etykieta']);">Link</a>
Można także wygenerować zdarzenie z poziomu kodu JavaScript:
_gaq.push(['_trackEvent', 'Kategoria', 'Akcja', 'Etykieta']);

Zmienne użytkowników

Zmienne użytkowników można nadawać dla użytkowników przeglądających stronę. Można ich użyć do charakteryzowania użytkowników i wyciągania z zebranych danych co np. dana grupa użytkowników robi (zalogowany, niezalogowany, taki co obejrzał materiał promocyjny itp.).

Zmienna użytkownika musi być ustawiona przed wywołaniem "_trackEvent" lub "_trackPageview" (zazwyczaj we wklejce z kodem Analyticsa). Wstawianie jest podobne do zdarzeń:
_gaq.push(['_setCustomVar',
      1,                   // Index.  Required parameter.
      'Items Removed',     // Name.  Required parameter.
      'Yes',               // Value.  Required parameter.
      2                    // Scope; Sets the scope to session-level.  Optional parameter.
   ]);
Indeks to numer zmiennej (od 1 do 5). Następnie mamy nazwę i wartość parametru. Na koniec opcjonalny - zasięg zmiennej. 1 oznacza poziom użytkownika, 2 poziom sesji, 3 poziom strony. Jako zmienne o zasięgu strony możemy ustawiać dane zależne od danej strony np kategorię do jakiej przypisany jest dany artykuł (z czego później dowiemy się jakie kategorie są najczęściej czytane). Na poziomie "sesji" możemy wykorzystać do oznaczania czynności wykonanych przez użytkownika w danej wizycie na stronie np. czy użytkownik jest zalogowany, czy nie (lub np. czy w czasie danej wizyty wykonał jakąś czynność np. dodał coś do koszyka). Poziom 1 - poziom użytkownika można wykorzystać do np. rozróżniania użytkowników (konto darmowe, płatne, premium).

eCommerce

Komponent do obsługi ecommerce pozwala dodawać do zbieranych danych transakcje użytkowników. Opisano to na blogu analyticsa. Użytkownik dokonuje zakupu i sklep wyświetla stronę potwierdzającą. Dodanie integracji z Analytics polega na dodaniu do takiej strony kodu JS z odpowiednimi danymi, np.:
_gaq.push(['_addTrans',
    '1234',           // order ID - required
    'Acme Clothing',  // affiliation or store name
    '11.99',          // total - required
    '1.29',           // tax
    '5',              // shipping
    'San Jose',       // city
    'California',     // state or province
    'USA'             // country
  ]);

   // add item might be called for every item in the shopping cart
   // where your ecommerce engine loops through each item in the cart and
   // prints out _addItem for each
  _gaq.push(['_addItem',
    '1234',           // order ID - required
    'DD44',           // SKU/code - required
    'T-Shirt',        // product name
    'Green Medium',   // category or variation
    '11.99',          // unit price - required
    '1'               // quantity - required
  ]);
  _gaq.push(['_trackTrans']); //submits transaction to the Analytics servers

Cały kod składa się z opisu transacji (_addTrans) oraz jednego lub wielu przedmiotów (_addItem). Całość jest wysyłana za pomocą "_trackTrans". Żeby dane eCommerce były zbierane musimy włączyć ten komponent w Google Analytics. Wchodzimy do "Administrator" - wybieramy śledzoną usługę (nasz sklep), wchodzimy do edycji profili - "Ustawienia Profilu" i potwierdzamy "Śledzenie e-commerce".

Nie wszystkie argumenty transakcji i przedmiotu nie są wymagane. Jeżeli podajemy tylko część to musimy zachować ich pozycję - gdyż po pozycji są rozpoznawane:
_addItem("54321", "12345", "", "", "55.95", "1");

Według wpisu na blogu Analyticsa - w nowszej odsłonie tego komponentu to Analytics próbuje geolokalizować użytkownika po jego IP. Starsza wersja używała lokalizacji podanych w _addTrans. Obecnie dane te są zapisywane, ale nie są używane (można je jednak użyć w filtrach profili - jeżeli jest to Ci do czegoś potrzebne). Zmienna "affiliate" została usunięta z raportów ecommerce.

Kod eCommerce musi pojawić się po wywołaniu "_trackPageview".

RkBlog

Podstawy tworzenia stron www, 10 June 2012

Comment article
Comment article RkBlog main page Search RSS Contact