GDG DevFest 2015

28 listopada 2015 r. miałem przyjemność wystąpienia na GDG DevFest 2015 – dorocznym spotkaniu developerów skupionych wokół technologii Google.

Temat prezentacji: Poznaj lepiej użytkowników Twojego serwisu z Google Analytics

 


 

Spotkanie cieszyło się dużym zainteresowaniem uczestników, czego dowodem było wiele ciekawych pytań m.in. o strukturę konta i poziomy uprawnień w Google Analytics oraz wykorzystania Google Tag Manager do szybkiego wdrażania kodów analitycznych na stronę www.

 

 

Więcej informacji na stronie konferencji: http://devfest.pl/

Import JSON do Arkuszy Google w 5 minut

Korzystając z różnych narzędzi, które udostępniają API, wyniki otrzymujemy w pliku JSON. Nie jest on zbyt przyjazny dla mniej technicznych osób 🙂

Na przykład, chcąc pobrać dane o warunkach pogodowych panujących w Krakowie korzystając z Open Weather Map, wpisujemy link:

http://api.openweathermap.org/data/2.5/weather?q=Krakow,pl

I otrzymujemy wyniki:

{"coord":{"lon":19.92,"lat":50.08},"sys":{"message":0.0415,"country":"PL","sunrise":1423461660,"sunset":1423496883},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"cmc stations","main":{"temp":272.238,"temp_min":272.238,"temp_max":272.238,"pressure":985.07,"sea_level":1026.33,"grnd_level":985.07,"humidity":94},"wind":{"speed":4.94,"deg":285.5},"clouds":{"all":92},"dt":1423492206,"id":3094802,"name":"Krakow","cod":200}

Czyli w Krakowie mamy aktualnie zachmurzone niebo (Clouds) , temperatura to 272.238 F, zachód słońca o 15:48.

Jak przedstawić dane z JSON w formie bardziej czytelnej?

Z pomocą przyjdą Arkusze Google. Dane z pliku JSON zaimportujemy do tabeli. Wykorzystałem do tego celu Google Apps Script (importJSON oraz skrypt).

Utwórz nowy dokument w Arkuszach Google
Tworzenie nowego Arkusza Google

Tworzenie nowego Arkusza Google

Następnie wybierz Narzędzia -> Edytor skryptów.
Wybierz: Pusty projekt.

Edytor skryptów - Arkusze Google

Edytor skryptów – Arkusze Google

 Usuń domyślnie umieszczoną treść i wklej ten skrypt

Zmień nazwę skryptu na ImportJSON.gs

import JSON

import JSON

Gotowe.

Teraz możesz wrócić do arkusza i pobrać dane z pliku JSON do tabeli w Google Docs.

=ImportJSON("http://api.openweathermap.org/data/2.5/weather?q=Krakow,pl";"/weather/main";"noHeaders, noInherit, noTruncate")

Zwrócony wynik to Clouds (pochmurna pogoda w chwli pisania tego postu):

Wynik import JSON

Wynik import JSON

Więcej o parametrach funkcji Import JSON do Google Spreadsheet można przeczytać tutaj.

Wykrywanie i filtrowanie botów w Google Analytics

Kilka miesięcy temu  w Google Analytics pojawiła się możliwość filtrowania ruchu generowanego przez boty. Boty to skrypty psujące nasze dane w Google Analytics, generując sztuczny ruch na stronie, który rejestrowany w statystykach przez Google Analytics.

Skrypty te mogą być tworzone w różnych celach – np. automatycznego pobieranie treści strony (scrapery), indeksowania zawartości strony przez wyszukiwarki (crawlery) czy też oprogramowanie monitorujące działanie strony, które w określonych odstępach czasu wczytuje jej kod.

Kilka lat wstecz roboty sieciowe pobierały kod strony, ale nie wykonywały kodu Java Script zawartego na stronie – takich wizyt na stronie nie widzieliśmy w raportach Google Analytics. Od pewnego czasu jednak sytuacja uległa zmianie i coraz więcej botów wykonuje ten kod, symulując zachowanie rzeczywistego użytkownika. W efekcie wizyta bota trafia do raportów Google Analytics.

Jak wygląda to aktualnie?

Ruch generowany przez roboty sieciiowe (Źródło: Incapsula)

Ruch generowany przez roboty sieciowe w 2014 r. (Źródło: Incapsula)

W 2014 r. roboty sieciowe generowały 56% ruchu w całym Internecie.

Dla większości serwisów internetowych udział ruchu generowanego przez boty to od 63% do 80%.

Źródło: Incapsula

Nie jest to sytuacja pożądana – zaciemnia nam obraz prawdziwej sytuacji, ponieważ analizujemy ruch prawdziwych użytkowników i użytkowników-robotów. W końcu użytkownik-robot nie dokona konwersji w naszym serwisie 🙂

Zachowanie robota sieciowego w Google Analytics

Zachowanie robota sieciowego w Google Analytics.

Co zrobić, aby ustrzec się przed botami i poprawić jakość zbieranych danych?

1) Możemy włączyć wykluczenie ruchu generowanego przez boty z poziomu Google Analytics

Z poziomu Google Analytics przejdź do zakładki Administracja -> Ustawienia widoku

Ustawienia widoku w Google Analytics

Ustawienia widoku w Google Analytics

i zaznacz opcję:

Wykluczenie botów w Google Analytics

Wykluczenie botów w Google Analytics

Uwaga – zawsze zachowaj czysty widok danych w Googole Analytics, aby nie zepsuć swoich danych w raportach gdyby coś poszło nie tak.

Podstawowy problem związany z tą funkcją to lista, z której korzysta Google Analytics  do zdefniniowania, czy mamy do czynienia z robotem sieciowym jest niezbyt dobrze przystosowana do naszego rynku. Może nie zawierać botów, które psują ruch akurat w naszym serwisie.

2) Możemy wykorzystać segmentację, aby znaleźć boty na naszej stronie

Jak zidentyfikować bota w raportach Google Analytics?

Bot to źródło ruchu, które:

  • ma współczynnik odrzuceń bliski 100%
  • średni czas trwania wizyty bliski 00:00:00
  • średnia liczba stron na wizytę bliska 1 lub 0

Dodatkowe kryteria:

  • przy włączonych danych o demografii i zainteresowaniach – nieznany wiek i płeć
  • najczęściej będzie to źródło o generujące znaczny odsetek nowych użytkowników

Ważne – aby stwierdzić, że dane źródło ruchu jest botem i nie należy go uwzględniać w analizach, należy sprawdzić czy są to pojedyncze wejścia, czy większy ruch. Skupiamy się na tych drugich. Najczęściej wystarczy przyjrzeć się źródłom, które wygenerowały przynajmniej 20 sesji w ostatnim miesiącu.

Zaczynamy poszukiwania.

Zaimportuj segment pomagający zdiagnozować źródła ruchu potencjalnie generujące spam w raportach. Do pobrania z galerii rozwiązań Google Analytics.

Michał Bryś – Google Analytics Solutions Gallery

Włączamy segment: Web spiders test

Segment - potencjalne roboty sieciowe

Segment – potencjalne roboty sieciowe.

Przechodzimy na zakładkę: Pozyskiwanie -> Ogółem -> Cały ruch -> Odesłania

Uwagę zwracają źródła ruchu, które nie są związane z naszym serwisem i spełaniają kryteria bycia robotem sieciowym (nazwa, współczynnik odrzuceń, strony / sesja / czas na stronie / współczynnik konwersji)

Potencjalne roboty sieciowe w raportach Google Analytics

Potencjalne roboty sieciowe w raportach Google Analytics

Sprawdźmy jak zachowywał się bot na całej stronie.

  • Jakie strony odwiedzał / landing page
  • Jakie urządzenia / przeglądarki / system
  • Czy konwertował?
  • Z jakiego miasta

Tworzymy przykładowy segment dla robota semalt:

Sement: Semalt w Google Analytics

Segment: Semalt w Google Analytics

Widać, że ruch był skierowany tylko na stronę główną:

Ruch bota Semalt

Ruch bota Semalt w raporcie Google Analytics

Możemy wykluczyć go z danych, tworząc filtr.

Ważne – zawsze zachowaj czysty widok bez filtrów. Skopiuj widok danych i dopiero twórz filtr wykluczający ruch botów.

Jak tworzyć filtr widoku danych? Instrukcja w Centrum Pomocy Google Analytics oraz we wpisie Macieja Lewińskiego na Google +

Kryterium filtrowania:

Utwórz filtr niestandardowy wykluczający ruch ze źródeł, które zostały zidentyfikowane jako roboty sieciowe.

Od teraz robot sieciowy przestanie psuć dane w raportach Google Analytics 🙂