RStudio prakticky: prohlížíme data z Google Analytics 4

Do Google Analytics 4 sice posbíráte nejrůznější data, možnosti jejich interpretace přímo v rozhraní GA4 jsou ale poměrně omezené. Nabízí se proto využití nástroje RStudio a vytvoření vlastních přehledů, navíc bleskurychle generovaných.

Nedávno jsem psal jednoduchý návod, jak sledovat nejoblíbenější témata článků a webového obsahu pomocí GA4. Každou stránku nebo článek stačí opatřit štítkem a GA4 vám v přehledu Stránky a obrazovky nabídne zobrazení Skupiny obsahu. Ihned tak uvidíte, která témata jsou na vašem webu nejpopulárnější.

Problém nastane ve chvíli, kdy jednomu článku přiřadíte více témat, štítků. Což je u magazínu nebo blogu běžná praxe. Pokud bude mít jeden článek štítek Drupal, zatímco druhý štítky Drupal a SEO, pak je budou Google Analytics evidovat jako dvě samostatná témata.

To mi příliš nevyhovuje a hledal jsem řešení, jak bych si zobrazil přehled, který vícenásobné štítky rozdělí na samostatné s odpovídající hodnotu a pak to seskupí sečtené. Řešení je velmi jednoduché. Stačí vzít na pomoc RStudio a vytvořit si vlastní přehled.

Instalujeme RStudio

Základním kamenem je instalace podpory jazyka R do vašeho počítače. Jedná se o programovací jazyk pro statistické a grafické výstupy zpracovávaných dat.

Druhým krokem je instalace nástroje RStudio Desktop. Jde o prostředí, které slouží k vytváření skriptů, dokumentů a reportů v jazyce R a nabízí komfortnější zázemí než běžný příkazový řádek.

Dále už budete spouštět pouze R Studio, samotné „erko“ startovat nemusíte.

Tip: Nástroje RStudio se nemusíte bát, i když nemáte ambice cokoli programovat. V řadě agentur nebo firem jej mají nainstalovaný i pracovníci marketingu, kteří s jeho pomocí jen spouští a vytváří reporty, které jim nachystal programátor. Dokonce si myslím, že by to mělo být v základní výbavě každého, kdo nějakým způsobem prezentuje a analyzuje data.

Dokumenty Quarto

V nástroji RStudio je možné vytvářet hned několik různých typů souborů. Pro naše účely jsou zajímavé Dokumenty Quarto. Nachystáte je pomocí nabídky File > New File. Jedná se o speciální typ dokumentu, který kombinuje formátovaný výstup s bloky programového kódu. V našem případě tak využijeme jazyk R, kterým dokument napojíme na data z Google Analytics a následně vykreslíme nějaké tabulky a grafy.

Při vytváření nového dokumentu se vás RStudio zeptá, zda jeho výstupem bude HTML, PDF nebo Word. Ano, výsledný dokument totiž vyrenderujete do jednoho z těchto formátu a použijete například jako podklady pro klienta nebo kolegy.

Naučte se nahoře přepínat mezi vizuálním režimem a zdrojovou podobou dokumentu. Na začátku je čarami oddělená sekce s názvem dokumentu a výchozím typem výstupu. Následuje prostor, do kterého napíšete vlastní formátovaný obsah (texty, tabulky, nadpisy…) a bloky kódu, který bude interpretovat data.

Výhodou dokumentu Quarto je možnost s jeho výstupy pracovat rovnou v RStudio, aniž byste jej renderovali. Dopředu si tak vše snadno nachystáte.

Jak napojit R Studio na Google Analytics 4

Přidejte do dokumentu nový blok kódu pomocí tlačítka se zeleným symbolem C nebo pomocí nabídky Insert > Code Cell > R. Objeví se vám šedý blok uvozený {r}. Přidejte do něj následující řádky:

library(googleAnalyticsR)
library(tidyverse)
ga_auth()
ga_account_list("ga4")

RStudio se vás ve formě žluté lišty zeptá, zda chcete instalovat dvě zmíněné knihovny, což potvrďte. Jinak byste nemohli pokračovat.

V pravém horním rohu bloku kódu najdete spouštěcí tlačítko, kterým tento kód nastartujete. Dokument si načte dvě uvedené knihovny jazyka R a následně iniciuje přihlášení ke Google Analytics.

Image
RStudio a Google Analytics 4

Sledujte spodní panel v RStudiu, konkrétně jeho záložku Console. Budete zde dotázáni na potvrzení, že RStudio může otevřít okno prohlížeče, kde musíte potvrdit jeho přístup ke svému účtu v Google Analytics. Oprávnění je na výběr celá řada, já potvrdil jen přístup k datům.

Poslední řádek kódu vykreslí do dokumentu tabulku, ve které uvidíte načtený seznam všech účtů s Google Analytics 4, ke kterým máte v rámci daného účtu přístup. Všimněte si, že v záhlaví je možné tabulku posunovat do strany. Budete to potřebovat, najděte si sloupeček propertyId, který využijeme v další části.

Tip: jakmile provedete první přihlášení a budete report spouštět opakovaně, tak doporučuji ve výše uvedeném kódu přepsat třetí řádek na ga_auth(email="vas@email"), aby došlo k automatickému přihlášení na již autorizovanou e-mailovou adresu.

Zobrazení skupin obsahu v RStudiu

Nyní je potřeba stáhnout data z vybraného webu v Google Analytics 4. Najděte si v zobrazeném přehledu jeho propertyId a přidejte do dokumentu další kousek kódu v R:

my_property_id <- 123456789
topics <- ga_data(
  my_property_id,
  metrics = c("sessions"),
  dimensions = c("contentGroup"),
  date_range = c("2023-05-01", "2023-05-31")
  )

Funkce ga_data() z knihovny googleAnalyticsR slouží k natažení dat z Google Analytics. Musíte jí předat identifikační číslo webu (které jsme na začátku přiřadili do proměnné my_property_id). Následně vybíráte metriky, které vás zajímají. V tomto případě chcete vidět počty zobrazených stránek. Jako dimenzi uvedete contentGroup, dále přidáte časové období, za které chcete data načíst.

Tip: kompletní seznam všech dimenzí a metrik Google Analytics 4, ke kterým je možné pomocí programového rozhraní přistoupit, najdete v přehledu API Dimensions & Metrics.

Když tento blok kódu opět spustíte, můžete si všimnout, že v pravém horním panelu přibude jak proměnná my_property_id, tak seznam topics. Pro kontrolu si jej prohlédněte. Stačí na něj kliknout a otevře se vám na samostatné záložce tabulka s jeho obsahem. Tato data odpovídají tomu, co vidíte i přímo v přehledech v Google Analytics.

Image
RStudio a Google Analytics 4

My se však s výchozí podobou dat nespokojíme. Přidejte další blok kódu, který je zpracuje:

data_split <- topics %>%
  separate_rows(contentGroup, sep = ", ")

data_summarized <- data_split %>%
  group_by(contentGroup) %>%
  summarise(total_sessions = sum(sessions))

data_sorted <- data_summarized %>%
  arrange(desc(total_sessions))

data_filtered <- data_sorted %>%
  filter(contentGroup != "", contentGroup != "(not set)", !grepl(",", contentGroup))

View(data_filtered)

V tomto kódu zapojujete do hry druhou knihovnu (tidyverse), kterou jste na začátku dokumentu aktivovali. Pomocí její funkce data_split() vezmete získaný seznam témat (topics) a rozpadnete na jednotlivé řádky vícenásobná témata. Já mám jako oddělovač čárku s mezerou. Pokud máte data posbíraná podle mého článku o seskupování obsahu, budete to mít stejně.

Rozdělená data je pak vhodné seskupit a sečíst, abyste neměli několik řádků se stejným tématem a dílčími čísly. K tomu slouží konstrukce s další funkcí group_by() a summarize().

Nebylo by špatné sumarizovaná data seřadit, ideálně od témat s největším počtem návštěv, tedy podle sloupečku total_sessions.

Protože témata na webu nemám všude vyplněna, chodí mi do Google Analytics trochu nepořádek. Výsledkem je, že v sumarizovaných a seřazených datech mám pak jako témata prázdnou hodnotu, čárku nebo informaci (not set). Všechny tyto řádky z přehledu odstraním pomocí funkce filter().

Výsledná data nazvaná jako data_filtered si pak funkcí print(data_filtered) zobrazíte přímo v dokumentu, případně pomocí funkce View() zobrazíte ve formě tabulky na samostatné záložce.

Image
RStudio a Google Analytics 4

Ukázkové grafy na závěr

Zobrazením tabulky s tématy článků a jejich návštěvností je splněno to nejdůležitější, proč jsme tento dokument Quarto vytvářeli. Tedy dostat se k přehlednějšímu a více vypovídajícímu zobrazení dat o seskupení obsahu v Google Analytics. Dokument lze uložit a až jej kdykoli později zase otevřete, klikněte nahoře na tlačítko Run, kterým spustíte všechny bloky kódu najednou. Skončíte u výsledné tabulky.

Na závěr jsem si ještě připravil dvě ukázky grafů. RStudio totiž dovede získaná data interpretovat nejenom ve formě tabulek. Stačí přibrat do hry knihovnu ggplot2.

Přidejte si následující blok kódu:

library(ggplot2)

bar_plot <- ggplot(data_filtered, aes(x = contentGroup, y = total_sessions)) +
  geom_bar(stat = "identity", fill = "steelblue") +
  labs(x = "Témata", y = "Zobrazené stránky") +
  ggtitle("Počty zobrazených stránek pro jednotlivá témata") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1))

print(bar_plot)

Funkce bar_plot() vykresluje čárový graf, kde na vodorovné ose uvidíte témata článků a na svislé ose jejich návštěvnost. Záleží samozřejmě na počtu témat. Máte-li jich hodně, zkuste data zredukovat na jen několik nejnavštěvovanějších. Pomůže vám s tím funkce slice(). Zkuste si ji do bloku kódu napsat, nechat na ní kurzor a stisknout klávesu F1. RStudio vám ukáže, jak se funkce používá.

Image
RStudio a Google Analytics 4

Druhou ukázkou, která vám dá smysl opravdu jen na omezené sadě dat, je vykreslení koláčového grafu:

library(ggplot2)

pie_chart <- ggplot(data_filtered, aes(x = "", y = total_sessions, fill = contentGroup)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y", start = 0) +
  labs(x = NULL, y = NULL, fill = "Témata") +
  ggtitle("Poměr témat") +
  theme_minimal() +
  theme(legend.position = "right")

print(pie_chart)

Image
RStudio a Google Analytics 4

Tipy na další využití RStudia a Google Analytics

Zbývá si vyzkoušet renderování dokumentu. Nahoře v liště najdete tlačítko Render, které vám rozpracovaný Quarto dokument převede do HTML, PDF nebo Wordu, podle toho, co jste si na začátku zvolili, resp. co máte specifikováno v hlavičce dokumentu.

V tuto chvíli tam uvidíte i kousky kódu, které samozřejmě můžete při renderování do prezentační podoby dokumentu ukrýt. O tom ale někdy příště.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Nové diskuze
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru