Generowanie niestandardowych raportów przy pomocy API Google Analytics

Generowanie niestandardowych raportów przy pomocy API Google Analytics
Oceń artykuł!

Wymagający analitycy webowi często napotykają sytuacje, w których ‘kończą’ się standardowe możliwości przeglądarkowej aplikacji Google Analytics. Raporty niestandardowe nie zawsze pozwalają na zestawienie takiej kombinacji wymiarów i metryk jaką byśmy chcieli. Eksportować do plików można tylko to, co widać w interfejsie, przykładowo maksymalnie 5000 wierszy. Nie pomagają już żadne działające niegdyś sztuczki zwiększające tę ilość.

W takim wypadku pozostaje jedynie uciec się do interfejsu API eksportu danych. Jest on obsługiwany przed kilka języków programowania (Java, PHP, Python, JavaScript) i bez pomocy doświadczonego programisty faktycznie się nie obejdzie. Jeśli nie dysponujemy doświadczonym programistą należy szukać rozwiązania na własną rękę. Co poniektórym wystarczy korzystanie z narzędzi typu http://ga-dev-tools.appspot.com/explorer/, które pozwala na swobodne łączenie wymiarów i metryk, lecz z ograniczeniem do 10 tys. wierszy.

Przedstawiamy zatem lepsze rozwiązanie, które takich ograniczeń nie posiada – pakiety do R. Zachęcając tym samym do poznania tej darmowej platformy pełnej zalet.

Dla części analityków znana jest już pewnie się dźwięczna nazwa „R”. Dla pozostałych – R jest de facto także językiem programowania lecz o niezwykle niskim progu wejścia, co daje duże możliwości już z wykorzystaniem prostej składni. Duża liczba dostępnych funkcji statystycznych czyni R podstawowym językiem bioinformatyki lecz z powodzeniem wykorzystywany jest też do obróbki danych, automatycznego raportowania oraz zaawansowanych wizualizacji.
Instalacja z linku http://cran.r-project.org/mirrors.html to tzw. poziom ‘base’,który daje dostęp do wielu pakietów. Potrzeba użycia dodatkowej funkcji skłania do instalacji kolejnych pakietów. Polecam podczas instalacji odznaczenie opcji automatycznego tłumacza, ponieważ nie jest on precyzyjny. Dodatkowo Internet dysponuje szerszym spektrum pomocy anglojęzycznej.

Aby wygenerować dane z Google Analytics przez API będziemy musieli zainstalować kilka nowych pakietów. Jednak bez strachu. Zwykłe kopiowanie poleceń wystarczy, by sobie poradzić ze sprawą. Tymczasem zainteresowanych odsyłam do szerokiej gamy literatury, także elektronicznej, wprowadzającej oraz rozwijającej możliwości wykorzystania platformy. Szczególnie polecam pozycję „Przewodnik po pakiecie R”dr Przemysława Biecka (http://www.biecek.pl/), mojego ówczesnego wykładowcy Politechniki Warszawskiej programowania w tym języku.

File -> New Script otwiera notatnik, do którego będziemy wklejać kody.

Najważniejsze – kod z poziomu notatnika wykona się na Windowsach po zaznaczeniu odpowiedniego fragmentu lub umieszczeniu kursora w odpowiedniej linii, a następnie jednoczesnym naciśnięciu Ctrl+R.

Ten wstęp był nam potrzebny, by przejść do instalacji właściwych pakietów. Większość takich instalacji odbywa się z wykorzystaniem polecenia

install.packages(„nazwa pakietu”)

i jest jednorazowa dla wersji platformy. Jednak każdorazowe uruchomienie R wymaga ponownego załadowania pakietu poleceniem

library(„nazwa pakietu”).

Potrzebne nam pakiety instalujemy i ładujemy poleceniami

install.packages(„devtools”)
library(devtools)
install_github(„rga”, „skardhamar”)
library(rga)

Teraz kolej na autoryzację. Podczas wykonywania zamieszczonych niżej linijek kodu trzeba być zalogowanym do swojego konta Google Analytics.

options(RCurlOptions = list(cainfo = system.file(„CurlSSL”, „cacert.pem”, package = „RCurl”)))
rga.open(instance=”ga”)

Akceptacja wygeneruje specjalny token,

który należy wkleić do konsoli. Klawisz Enter nada dostęp do danych w naszym koncie Google Analytics.

Dalej potrzebny będzie identyfikator widoku danych, do którego chcemy się odwołać. Można go znaleźć w panelu Administratora -> Ustawienia Widoku lub znaleźć go dzięki poleceniu

ga$getProfiles()

wykonanym w R.

Na podstawie wspomnianego identyfikatora tworzymy obiekt np. o nazwie id

id=”identyfikator widoku danych”

i możemy już skonstruować interesujące zapytanie. Poniższy kod to przykład bardzo dobrze obrazujący strukturę funkcji.

zbior<- ga$getData(id, start.date=”2014-07-01″, end.date=”2014-07-31″,
metrics = „ga:pageviews,ga:bounceRate”,
dimensions = „ga:pagePath,ga:medium,ga:source,ga:hour”,
sort=”-ga:pageviews”,
filter=”ga:medium==organic”,
start = 1,
max = 10 )

Argumenty funkcji są intuicyjne. Przykład ukazuje łatwość z jaką zestawiamy dowolne metryki i wymiary. Zapytanie określone jest dla miesiąca lipca 2014. Pokazuje liczbę odsłon oraz współczynnik odrzuceń dla adresów podstron powiązanych ze źródłem, medium i godziną. Filtr ogranicza medium do organica. Maksymalna liczba obserwacji to 10 pierwszych pozycji posortowanych malejąco. Łatwo przerobić kod na własne potrzeby, dodać lub usunąć elementy składowe. Dane przypisywane są do obiektu o nazwie ‘zbior’.

Wywołanie nazwy obiektu ‘zbior’ pokaże dane jak pokazano niżej.

Inny przykład na pokonanie problemu ograniczenia wymiaru obserwacji. Na przykład: okazało się, że w owym miesiącu mamy aż 393 369 różnych adresów URL podstron.

Nas jednak interesuje jedynie 55 500 pierwszych adresów. Musimy kod wzbogacić o argument batch = TRUE. Funkcja działa wtedy na zasadzie tworzenia dziesięciotysięcznych przedziałów. Zwrócona liczba obserwacji będzie górnym krańcem dziesięciotysięcznego przedziału, w jakim mieści się szukana wartość argumentu max. W naszym przypadku będzie to 60 000. By wydobyć wszystkie obserwacje argument max najłatwiej pominąć.

zbior<- ga$getData(id, start.date=”2014-07-01″, end.date=”2014-07-31″,
metrics = „ga:pageviews”,
dimensions = „ga:pagePath”,
sort=”-ga:pageviews”,
max=55500,
batch = TRUE)

Polecenie

dim(zbior)

pokazuje w konsoli wymiar obiektu. Widać, że uzyskaliśmy spodziewane 60 000 obserwacji.

Polecenie

write.table(zbior,file=”ŚcieżkaDoFolderuDoKtóregoZostanieWurzuconyPlikZdanymiZOdwróconymiSlashami/zbior.txt”,row.names = FALSE)

zapisze zbiór danych do pliku .txt, którym możemy się posługiwać już poza platformą R.

Zwracam uwagę na odwrócenie „” na „/” w ścieżce do folderu.

Posługując się nazwą obiektu można wykonywać na nim dowolne operacje wedle potrzeby i oczywiście umiejętności. Można chociażby stworzyć wykres funkcją barplot. Składnię tej, jak i każdej innej funkcji można sprawdzić w pomocy R wywołując nazwę danej funkcji poprzedzonej znakiem zapytania. W naszym przypadku zatem wykonując polecenie ?barplot. Taki wykres można zaś w dowolnej formie eksportować poza R. Poniżej bardzo prosty przykład. Wykres najlepiej zastępuje opis kodu.

zbior <- ga$getData(id, start.date=”2013-01-01″, end.date=”2013-12-31″,
metrics = „ga:visits”,
dimensions = „ga:month” )

barplot(zbior$visits, main=”Wizyty w 2013 w ujęciu miesięcznym”,
names.arg=c(„styczeń”,”luty”,”marzec”,”kwiecień”,”maj”,”czerwiec”,
„lipiec”,”sierpień”,”wrzesień”,’październik’,”listopad”,”grudzień”),
las=2, col=rainbow(12))

By opisać w całości możliwości R w odniesieniu do Google Analytics potrzeba by napisać książkę, dlatego jeszcze raz odsyłam do literatury poświęconej tej platformie. Kilka godzin zabawy z programem wystarczy, by poczuć się pewniej w jego obsłudze. Jeśli dotrwaliście do końca tego posta tzn., że poczyniliście pierwsze kroki w posługiwaniu się API Google Analytics 🙂

Redaktor