Google Analytics je skvelým nástrojom pre začiatočníkov, ako aj pokročilých. Samotný Google robí mnoho pre lepšiu užívateľnosť a použitelnosť. Vždy je náročné vytvoriť jeden nástroj, ktorý bude všetkým vyhovovať. Dôvody sú veľmi prozaické. Je to najmä preto, že každá osoba či firma má iné ciele a potreby.
Rozhranie Google Analytics mám veľmi rád. V posledných rokoch sa značne zmenilo a zjednotilo aj s inými produktami. Vizuál GA je u mňa na jednotku. Ak však robíte s viacerými účtami alebo chcete nejaké veci automatizovať, natrafíte na nemalé problémy.
Týka sa to aj pokročilých štatistických analýz alebo detekcie anomálií, ktoré v Google Analytics momentálne nedokážete spraviť. Preto múdri ľudia v Google vytvorili API, prostredníctvom ktorej môžete ťahať dáta z GA. V tomto článku sa zameriam na to, ako to urobíte cez R Programming, respektíve RStudio.
Čo je R Programming?
R je programovací jazyk, ktorý vyvinuli Ross Ihaka a Robert Gentleman v roku 1993. Má rozsiahly katalóg štatistických a grafických metód, ktoré jednoducho v Google Analytics nenájdete. Zahŕňa algoritmus strojového učenia, lineárnu regresiu, časové rady, štatistickú dedukciu, detekciu anomálií a mnoho iných možností.
R nie je iba akademickým nástrojom. Používa ho mnoho veľkých spoločností, ako Uber, Google, Airbnb, Facebook a tak ďalej. V súčasnosti je R programming jedným z lídrov v dátovej analytike a štatistike.
Ak ho stále nemáte stiahnutý, nájdete ho na tomto odkaze. Inštalácia R Programming je rýchla a jednoduchá. Stačí postupovať podľa pokynov, ktoré sa vám zobrazia pri inštalácii. Postupujte podľa nich.
Ak ešte nemáte stiahnuté RStudio, tak si ho môžete stiahnuť tu. R Studio je užívateľské rozhranie pre R, má skvelú funkcionalitu a zjednodušuje prácu s R-kom
Google Analytics + R = googleAnalyticsR
Pomaly sa dostávame k hlavnej časti článku o tom, ako dostanete dáta z Google Analytics pomocou R. Momentálne na to existuje niekoľko knižníc:
Dostupné knižnice:
- rga,
- RGA,
- RGoogleAnalytics,
- ganalytics,
- GAR,
- googleAnalyticsR.
Budeme pracovať s knižnicou googleAnalyticsR, ktorá využíva Google Analytics Reporting v4 API.
Na to, aby sme mohli využívať googleAnalyticsR, musíme nainštalovať knižnicu.
Najskôr použite príkaz install.packages(„googleAnalyticsR“) a následne príkaz library(googleAnalyticsR). Oba zabezpečia to, že budete môcť využívať danú knižnicu. Ak by ste knižnicu nenainštalovali, nemohli by ste využívať funkcionalitu googleAnalyticsR.
Ako vidíte na obrázku, sú tam ešte dva príkazy, ktoré zabezpečia autorizáciu s Google účtom, z ktorého chcete vyťahovať Google Analytics dáta. Tak, ako pri knižnici googleAnalyticsR, aj teraz musíte nainštalovať knižnicu googleAuthR.
Ak máte tento krok za sebou, vložte príkaz ga_auth(new_user = TRUE). Tento príkaz zabezpečí, že sa otvorí nové okno s vašimi dostupnými Google účtami. Prihláste sa s účtom, z ktorého chcete dolovať dáta z Google Analytics.
Teraz si môžete otestovať, či je vaša autorizácia správna. Použite príkaz ga_account_list().
Najjednoduchšie je vytvoriť si premennú, ktorej priradíte hodnotu – v tomto prípade zoznam všetkých vašich účtov.
Ak ste daný príkaz spravne použili, na pravej strane RStudia by ste mali vidieť vašu premennú s názvom my_accounts. Po kliknutí na ňu sa vám otvorí dataframe s vašimi dostupnými účtami.
Keďže pre vaše prvé query potrebujete id prehľadu, z ktorého chcete vytiahnuť dáta, v zozname účtov si pozrite id daného prehľadu.
Vyzerá to nasledovne:
NOTE: Na obrázku vyššie a takisto aj vo vašom okne by ste teraz mali vidieť všetky účty, ku ktorým máte pístup – len k tým účtom, kde máte práva na váš google účet..
Vytvárame prvé query
Ako sme už podotkli, potrebujete ID prehľadu, ktorý chcete vytiahnuť do R. Preto si treba uložiť id prehľad do premennej.
viewId <- 123456
Nezabudnite do premennej pridať správne id, ktoré chcete použiť. Teraz je dôležité stanoviť si obdobie, za ktoré chcete dáta získať. Osobne preferujem obdobie minimálne 3 mesiacov, ale samozrejme, záleží od typu analýzy, ktorú chcete vykonať.
yesterday <- Sys.Date() – 1
NdaysAgo <- Sys.Date() – 90
Vyššie sme použili funkciu Sys.Date, ktorá nám vráti dnešný dátum. Ďalej sme vykonali jednoduchú aritmetickú funkciu – od dnešného dňa sme odpočítali 1 a tým sme dostali včerajší dátum. To isté platí o NdaysAgo, ktorá predstavuje hodnotu posledných 90 dní. Výhodou je, že nebudete musieť zakaždým definovať dátum. Pri každej analýze vám vezme časové obdobie včerajší deň – posledných 90 dní.
Ak máte postupy vyššie dokončené, môžete pristúpiť k prvému query. Bude jednoduché pre vizualizáciu a postupne si ukážeme, ako ho vytvoriť a odoslať.
Predstavte si, že chcete zistiť počet relácií za daný týždeň za posledné 3 mesiace. Nižšie si ukážeme, akým spôsobom môžete vytvoriť query. Potom už je len na vás, z akých metrík a dimenzií si ho vytvoríte.
NOTE 1: Tu nájdete zoznam všetkých dostupných dimenzií a metrik v Google Analytics. Pamätajte, že ak používate knižnicu googleAnalyticsR, všetky dimenzie a metriky dávate bez predpony ga:
NOTE 2: Rovnako všetky dimenzie a metriky viete zobraziť aj v rozhraní R Studia, a to pomocou príkazu google_analytics_meta()
Odporúčam si to tiež priradiť do premennej, napríklad takto:
meta <- google_analytics_meta()
Tak a pokračujme ďalej k nášmu prvému query. 🙂
# Pull the data. This is set to pull the last 90 days of data.
gadata <- google_analytics_4(view_id,
date_range = c(NdaysAgo, yesterday),
metrics = c(„sessions“),
dimensions = c(„week“, „deviceCategory“),
anti_sample = TRUE)
Teraz si vysvetlíme, čo každý kľúč a hodnota znamenajú.
Keď vyššie spomenuté query vložíte do príkazového riadku v RStudio, uloží vám výsledky do dataframu s názvom gadata.
Vždy je nápomocné, keď použijete funkciu head(), ktorá vám ukáže niekoľko riadkov z vašich dát. Môžete si pozrieť, či má tabuľka všetky dimenzie a metriky, ktoré ste chceli. Ide o veľmi vďačnú funkciu, ktorá vám rýchlo ukáže, aké dáta máte v tabuľke.
Po kliknutí na tabuľku sa vám otvorí nové okno s názvom vašej tabuľky.
Gratulujem, práve ste vytvorili svoje prvé query a vytiahli dáta z Google Analytics. Princíp je vždy rovnaký. Akurát si dávajte vždy pozor na to, aby ste nemiešali metriky a dimenzie, ktoré majú odlišné scopes (rozsahy). Výsledkom môžu byť dáta, ktoré sú nepresné (hoci vám to vždy vyhodí nejaké čísla).
Vizualizácia dát z Google Analytics
Teraz, keď ste si vytiahli nevzorkované (unsampled) dáta z Google Analytics, je dôležité vizualizovať ich. Takto môžete lepšie porozumieť dátam za dané časové obdobie. V R je jedinečným pomocníkom knižnica ggplot. Verte, že ak ste (alebo budete) nadšenec pre R a Google Analytics ako ja, ggplot sa stane jedným z vašich najlepších kamarátov.
Čo potrebujete spraviť, aby ste mohli túto knižnicu používať? Musíte použiť rovnaký príkaz ako na začiatku s knižnicou googleAnalyticsR, len teraz použijete ggplot.
install.packages(„ggplot2“)
library(ggplot2)
Týmto príkazom spustíte ggplot vo vašom workspace. Následne môžete spraviť vašu prvú vizualizáciu dát z Google Analytics pomocou ggplot knižnice.
# Boxplot visualization bz weeks for last 90 days
gg <- ggplot(gadata, aes(x=week, y=sessions)) + geom_boxplot()
gg
Po zadaní vyššie spomenutého príkazu do R konzoly, vám program vytvorí nasledujúci graf. V mojom prípade som použil boxplot, pretože som chcel vidieť rozdiely medzi minimálnymi a maximálnymi hodnotami za daný týždeň počas posledných 3 mesiacov.
Skúsme teraz trošku zmeniť naše prvé query, kde budeme zisťovať pomer medzi pageviewsPerSession a počtom daných sessions. Následne vytvoríme segmenty na základe zariadenia (desktop,mobil, tablet) a ďalší graf na základe dimenzie médium. Toto všetko môžeme spraviť v jednom skripte aj s vizualizáciou.
Najskôr treba pridať do vektoru metrics ďalšiu metriku, ktorou je pageviewsPerSession. Zabúdať netreba ani na dimenzie date a medium.
# Pull the data. This is set to pull the last 90 days days of data.
gadata <- google_analytics_4(view_id,
date_range = c(NdaysAgo, yesterday),
metrics = c(„sessions“,“pageviewsPerSession“),
dimensions = c(„date“,“medium“,“deviceCategory“),
max = -1)
gadata
gadata_viz <- ggplot(gadata10o, aes(x = sessions, y = pageviewsPerSession)) + geom_point() + facet_grid(~deviceCategory)
gadata_viz
Ak chcete urobiť podobný graf, ako je vyššie, len so segmentom medium, netreba už robiť nový query, pretože dané hodnoty už máte v tabuľke. Stačí len upraviť príkaz v ggplot.
Opäť použijete dataframe gadata, ale tentokrát upravíte face grid. Nie na device category, ale medium. Upravíte len tú časť, ktorá je vyfarbená.
Predtým
gadata_viz <- ggplot(gadata, aes(x = sessions, y = pageviewsPerSession)) + geom_point() + facet_grid(~deviceCategory)
gadata_viz
Potom
gadata_viz <- ggplot(gadata10o, aes(x = sessions, y = pageviewsPerSession)) + geom_point() + facet_grid(~medium)
gadata_viz
Každopádne tento graf je veľmi ťažko čitateľný keďže je tam veľa premenných. Tak si ho poďme troška upraviť do takého formátu aby to bolo priehľadnejšie.
filtered_data <- gadata10o[gadata10o$sessions > 30 ,]
Na grafe na prvý pohľad vidíme, že je prehľadnejší a čitatelnejší používame len určitú podmnožinu údajov na základe filtru, ktorý sme vytvorili vyššie.
Príkaz vyššie nám pomáha vyfiltrovať len tie kanály, ktoré majú denne návštevnosť vyššiu ako 30 relácii. Samozrejme logiku filtru si nastaví každý sám podľa vašich cieľov čo chcete minimálne dosiahnuť.
Záver
V článku sme si ukázali, ako vytvoriť jednoduché query, aby sme dostali nevzorkované dáta z Google Analytics. Dôležité je pochopiť princíp práce s R, ako aj samostatnou knižnicou googleAnalyticsR. Ak viete správne zostaviť query, potom je to už len na vašej potrebe, aké dáta chcete vytiahnuť z Google Analytics a následne ich spracovať či analyzovať.
Výhodou práce R a Google Analytics je, že viete automatizovať monotónne úlohy pomocou zopár príkazov. Osobne využívam R a Google Analytics na automatizovaný audit, automatizované analýzy a prehľad výkonu stránky, ako aj automatizované pridávanie filtrov, cieľov alebo vlastných dimenzií či metrík.
Využiteľnosť R s Google Analytics skutočne nepozná hraníc – od deskriptívnej analytiky až po segmentáciu zákazníkov. O tom si viac napíšeme v nasledujúcom článku.