Google Analytics API v4 + R programski jezik

Google analitika je jedna od najpopularnijih alatki za setup, reporting i analizu podataka koji se tiču sajta.

Google Analytics takođe nudi besplatan pristup API (application programming interface) sa  cilj automatizacije i eksportovanja podataka iz GA servera.

Tutorijal iz nastavka je pre svega za sve one koji imaju napredno znanje i aktivno koriste Google Analytics alat i naravno za sve one koji bi želeli da nauče kako da povežu ovaj alat kao dodatni izvor podataka kroz R programski jezik.

Važno je takođe posedovati i osnovno znanje R-a.

U nastavku su samo neke od osnovnih primera vizualizacija koje je moguće uraditi sa podacima. Trudiću se da se vremenom broj primera poveća.

Kako bi uspešno iskoristili ovaj tutorijal pretpostavka je da imate pristup Google Analytics nalogu i da je vaš Gmail nalog uspešno povezan tj. da mu je dozvoljeno da pristupi GA alatu.

R programski jezik

R je programski jezik koji je jedan od najbrže rastućih jezika za statističku analizu podataka. Sa bazom korisnika koja raste (trenutno između 1-2 miliona) ima široku upotrebu kod statističara, analitičara i data minera.

U ovom tutorijalu je samo mali deo onoga šta možete da uradite koristeći R programski jezik.

  • najbrže rastući jezik za statističku analizu podataka
  • besplatan je
  • kvalitetne biblioteke
  • puno materijala za edukaciju i učenje (blogovi, kursevi, knjige)
  • velika zajednica širom interneta
  • spreman za razne platforme (Windows, Mac, Unix)

Takođe neki od razloga zašto da koristite R umesto Excela:

  • Uvid u svaki deo analize
  • Lakše pregled i ispravljanje grešaka
  • Lakša reprodukcija i ponovno koriščenje analize
  • Objedinjavanje podataka iz različitih izvora
  • Moćan način za analizu i vizualizaciju podataka
  • Automatsko povlačenje podataka kroz Core Reporting API
  • Ušteda vremena

R Studio

R Studio predstavlja jedan od najkorišćenijih IDEs i najlakši način da počnete sa R-om. Sa njim možete pisati, editovati i pokrenuti svoj R kod, a takođe i videti outpute koda i vizualizacije. Besplatnu verziju možete skinuti na ovom linku download.

Setup Google Analytics API v4 + R

googleAnalyticsR - Google Analytics API to R

Kako bi se uspešno povukli podaci sa Google Analytics servera i uvukli u R Studio kroz API biće potrebno da se upotrebi eksterna biblioteka.

Ona će vam pomoći da pre svega autorizujete konekciju, povučete podatake i kasnije kroz dataframe analizirate iste.

googleAnalyticsR – Google Analytics API to R

Trenutno jedna od najboljih eksternih biblioteka za povlačenje podataka iz Google Analytics u R je definitivno googleAnalyticsR biblioteka koju je kreirao Mark Edmonson.

On je dobro poznat analitičkoj zajednici pre svega po svom fenomenalnom doprinosu i razvoju kvalitetnih biblioteka koje se prevashodno tiču Google stack-a (googleAuthR, bigQueryR,  searchConsoleR to name a few).

googleAnalyticsR karakteristike:

  • Prva Google Analytics Reporting v4 API biblioteka za R programski jezik
  • v4 uključuje dinamičke calculated metrike, pivote, histograme, batching itd
  • v4 API Explorer
  • Multi user log-in za Shiny App
  • Integracija sa BigQuery Google Analytics Premium/360
  • Jednostavna autentifikacija kroz googleAuthR
  • Automatski batching i izbegavanje sampling-a

UPDATE: Podrška ovog blog posta je došla i od strane Mark Edmonsona lično, kreatora googleAnalyticsR biblioteke.

googleAnalyticsR - Google Analytics API to R tutorials

Pisanje skripte i koda u R-u

Nakon što ste instalirali R i RStudio, potrebno je da instalirate potrebne biblioteke i da ih nakon toga učitate.

Kada ste ovaj početni setup uspešno uradili, na redu je autorizacija vašeg Gmail naloga sa Google Analytics alatom.

Ako ste sve dobro uradili, potrebno je da definišete Google Analytics View ID a najlakše da dođete do ovog ID-a je da pogledate Account listu svih GA naloga za koje imate pristup za vašu email adresu.

Analiza podataka

Nakon što ste uspešno instalirali potrebne pakete i autentifikovali se, sledeći korak je povlačenje podataka direktno iz Google Analytics API-a.

U nastavku je napisan upit (query) pod nazivom df_google_merch_store koji se odnosi na povlačenje podataka sa GA servera za željeni period od početka 2015. godine pa do jula meseca 2018. godine.

U primeru su podaci iz Google Analytics demo naloga Google Merchandise Store koji je dostupan svim korisnicima za vežbu.

Za metriku je definisana poseta (session) dok je za dimenziju definisan datum (date).

Pretpostavka je da znate sve moguće kombinacije dimenzija i metrika koje se nalaze u Google Analytics-u a ako hoćete da ih istražujete to možete da uradite na zvaničnoj stranici Dimensions & Metrics Explorer.

Svakako sve dostupne podatke iz GA i njihovo objašnjenje sam pominjao i u ovom tekstu.

Vizualizacija podataka sa ggplot2 bibliotekom

R programski jezik ima jako puno interesantnih i kvalitetnih biblioteka za vizualizaciju podataka.

Jedna od najpopularnijih je ggplot2 koja je izrađena na osnovu Grammar of Graphics i ona je trenutno deo Tidyverse paketa.

Line chart

U nastavku je kod za line chart koji prikazuje broj poseta po mesecima i zasnovan je na osnovu ggplot2 biblioteke.

line chart google analytics r programming

Histogram

Distribucija poseta za prethodno definisani period je u nastavku.

histogram google analytics v4 api r programming

Scatter plot

Grafički prikaz datuma i poseta u poslednje 3 godine.

google analytics r api scatter plot

Bar chart

sessions google analytics api4 r programming language

Box plot

U primeru je vizualizacija distribucije saobraćaja tokom dana u nedelji. Da bi se dobio ovaj grafikon, biće potrebno da se napiše poseban upit koji će povući druge podatke koji se odnose pre svega na dane u nedelji. Treba napomenuti da Google Analytics API za dimenziju dayOfWeek ima sledeće značenje:

  • 0-Sunday
  • 1-Monday
  • 2-Tuesday
  • 3-Wednesday
  • 4-Thursday
  • 5-Friday
  • 6-Saturday

box plot google analytics api 4 r programming language

Saobraćaj po satima i danima u nedelji

Sledeći pregledom ćemo dobiti odgovor na pitanje kako se saobraćaj preko desktopa menja tokom dana po satima i po danima u nedelji.

google analytics api v4 week hour line plot

Procenat učešća poseta i transakcija

Super primer scatter plota gde je prikazan odnos poseta i transakcija u procentima.

Inspiraciju za ovaj primer sam pronašao ovde http://bit.ly/2DpWUAV uz malu modifikaciju sa moje strane.

Inače u upitu je povučena i metrika revenue koje se takođe može kombinovati i na primer uraditi poređenje procenta transakcija i procenta prihoda (revenue) po kanalima.

google analytics api scatter plot r programming language

Heatmaps

Svi vole heatmaps zar ne?

U prilogu je jedan konkretan primer prikaza broja pregledanih stranica (pageviews) po danima u nedelji i satima.

heatmap google analytics day of week

Zaključak

Verujem da ako ste došli do kraja tutorijala da ste uspeli uspešno da ispratite sve korake i da kreirate vizualizacije koje se tiču vaših podataka iz Google analitike.

Za dodatna pitanja i predloge budite slobodni da me kontaktirate. Svakako ću se truditi da u narednom periodu ovaj post obogatim i dodatnim primerima.

Srećno analiziranje (programiranje)!

O autoru

Dušan Milošević

Dodaj komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.