Google Analytics 4 [GA4] BigQuery - dlaczego warto korzystać?
Seria artykułów o danych Google Analytics 4 [GA4] w BigQuery
Artykuł ten jest elementem z serii wpisów o Google Analytics 4 i eksporcie danych do Google BigQuery, składającym się z następujących pozycji:
- #1 Google Analytics 4 BigQuery - dlaczego warto korzystać ? (obecnie go czytasz)
- #2 Google Analytics 4 BigQuery - 9 wyzwań, które Cię zaskoczy podczas analizy danych
- #3 Google Analytics 4 BigQuery - źródła ruchu, sesje, atrybucja, koszty marketingowe i gotowe dane do analiz
Wprowadzenie - Google Analytics 4 [GA4] i Google BigQuery
Dlaczego interfejs Google Analytics to za mało?
W chwili gdy zaimplementujemy narzędzie Google Analytics 4 na stronie lub w aplikacji, zaczynamy wysyłać informacje o zdarzeniach użytkowników do bazy danych Google. Na podstawie tych danych, w interfejsie Google Analytics 4 wyświetlane są nam różnego rodzaju raporty.
Przeglądanie danych w interfejsie Google Analytics 4 potrafi być przyjemne.
Czasem jednak możemy napotkać na różnego rodzaju ograniczenia podczas analiz np.:
- dane są próbkowane, co oznacza że wyniki przedstawiane są na podstawie próbki danych, a nie wszystkich zebranych informacji
- niektórych metryk i wymiarów nie możemy ze sobą połączyć, gdyż system na to nie pozwala
- danych jest za dużo w związku z tym nagle wiele pozycji np. adresów url czy nazw produktów skrywa się pod nazwą (other)
Często chcemy dane z Google Analytics wyciągnąć poza system i wykonać dodatkowe zadania np.:
- zbudować dashboard zawierający dane Google Analytics i wszystkie koszty marketingowe, aby móc obliczyć wskaźnik ROAS czy ERS dla poszczególnych kanałów
- połączyć dane Google Analytics z danymi CRM np. informacji o statusie zamówienia
- obliczyć atrybucję dla kampanii marketingowych na danych uwzględniających marżę produktów
Wtedy również napotykamy różne ograniczenia np.:
- zaskakują nas limity eksportowanych wierszy z Google Analytics i liczby możliwych zapytań wykonanych do API
- nie możemy wyciągnąć części informacji na odpowiednim poziomie np. identyfikatora użytkownika czy transakcji, jedynie zagregowane obliczone wartości, których nie możemy w żaden sposób modyfikować
Eksport danych Google Analytics do Google BigQuery
Przykładów i ograniczeń dla różnych projektów moglibyśmy wymienić jeszcze wiele. W odpowiedzi na wszystkie powyższe problemy i wyzwania, Google udostępniło usługę eksportu surowych danych z Google Analytics 4 do BigQuery (dlaczego akurat do tego narzędzia wyjaśnimy w dalszej części wpisu), czyli danych których używa do przygotowania wszystkich raportów w panelu. Zawierają one bardzo szczegółowe informacje o każdym zdarzeniu wysyłanym przez użytkownika ze wszystkimi atrybutami między innymi tj.: identyfikator urządzenia, dokładny czas zdarzenia, nazwa zdarzenia i jego parametry, informację o geolokalizacji, czy też wszystkie dane zbierane poprzez moduł e-commerce.
Założenie jest proste - jeżeli chcesz zachować dane, które dla Ciebie zbieramy na dłużej i wykorzystać je do swoich analiz i celów biznesowych, teraz masz taką możliwość.
Szansę do działania mają nie tylko duzi, ale również mali i średni przedsiębiorcy!
W przeszłości, przy narzędziu Google Analytics Universal, na eksport surowych danych mogli pozwolić sobie tylko najwięksi gracze, a konkretnie firmy, które były w stanie płacić minimum kilkadziesiąt tysięcy $ rocznie za usługę Google Analytics 360 (wersja premium). Teraz ta opcja jest dostępna za darmo dla wszystkich firm korzystających z Google Analytics 4.
Jest to więc szansa, z której mogą skorzystać nie tylko duże firmy i korporacje ale również mali i średni przedsiębiorcy, którzy chcą wykorzystać dane Google Analytics 4 do podejmowania lepszych decyzji biznesowych.
Dlaczego dane Google Analytics 4 [GA4] są eksportowane do Google BigQuery, a nie do spreadsheet’u czy excela?
Struktura przesyłanych zdarzeń
Sam schemat tabeli danych zawiera w sobie ponad 100 kolumn z różnymi wartościami i w różnej strukturze. Zdarzenia zawierają w sobie często wiele dodatkowych informacji np. klika parametrów czy kilka zakupionych produktów. Przeglądanie tego typu danych w arkuszach kalkulacyjnych przed wykonaniem odpowiedniej selekcji byłoby utrudnione.
Wielkość danych
Na potrzeby artykułu sprawdziliśmy mały sklep internetowy, odwiedzony danego dnia przez 2200 użytkowników - taki sklep wygenerował 50 MB danych w jeden dzień. Zakładając, że chcielibyśmy przeanalizować wszystkie dane tego sklepu np. z całego roku, plik z tabelą musiałby ważyć ok. 18 GB - takiej wielkości pliku nie jest w stanie płynnie przyjąć żaden arkusz kalkulacyjny. Nie mówiąc już o wykonywaniu na nich dodatkowych operacji jak obliczenia, sortowanie czy filtrowanie.
Dla odniesienia duże firmy potrafią zebrać w jeden dzień do Google Analytics od kilkudziesięciu do nawet kilkuset GB informacji. Do przechowywania tak dużych zbiorów danych i ich analizy musiały więc powstać specjalne narzędzia.
Google BigQuery - czyli nowoczesna hurtownia danych w chmurze
Firma Google, której misją jest „uporządkowanie światowych zasobów informacji tak, by stały się powszechnie dostępne i użyteczne dla każdego” potrzebowała na swoje potrzeby analizować bardzo duże zbiory danych ze wszystkich usług tj. Google Search, YouTube, Google Maps i innych. W tym celu powstała technologia nazwana Google BigQuery, która potrafi przechowywać i analizować dane o olbrzymich rozmiarach. Często spotykana komunikacja o Google BigQuery brzmi “Petabyte Scale Data Warehouse”, czyli hurtownia danych skalująca się do rozmiarów Petabajtów.
1 PETABAJT = 1 TYS. TERABAJTÓW = 1 MLN GB
Rozwiązanie sprawdziło się do wewnętrznych analiz w Google, w związku z tym w 2017 roku Google BigQuery zostało udostępnione jako produkt do przechowywania i analizowania zbiorów danych na rozwijającej się platformie chmurowej Google Cloud.
Mając 2 produkty jakimi są Google Analytics i Google BigQuery oraz klientów o różnej skali firma Google postanowiła je ze sobą zintegrować. Dzięki temu po wykonaniu kilku kliknięć można było uruchomić automatyczny eksport danych Google Analytics do Google BigQuery. Tak jak wcześniej wspomnieliśmy, usługa ta była dostępna w Google Analytics Universal tylko dla klientów wersji premium. Teraz każdy kto posiada Google Analytics może taką integrację wykonać wchodząc w ustawienia administracyjne. Szczegóły opisane są w dokumentacji pod tym linkiem: Konfigurowanie Google Analytics 4 BigQuery Export
Eksploracja danych Google Analytics 4 [GA4] w BigQuery
Po eksporcie danych przychodzi czas na eksplorację danych w interfejsie Google BigQuery.
Interfejs Google BigQuery jest dosyć prosty i intuicyjny.
Po lewej stronie znajduje się lista naszych zbiorów danych i tabel, które możemy analizować. Pozostała i największą część interfejsu zajmuje pole, w którym musimy napisać i uruchomić zapytanie SQL.
No właśnie, w celu analizowania danych w Google BigQuery musimy poznać bazodanowy język SQL (Structured Query Language), gdyż Google BigQuery na chwilę obecną nie wspiera języka polskiego czy angielskiego :).
Krótko wyjaśniając, SQL to język zapytań wykorzystywany do zarządzania bazą danych. Dzięki niemu możemy między innymi zapisywać, odczytywać, modyfikować i usuwać dane w tabelach. Pisząc zapytanie używamy różnych poleceń i instrukcji tj. SELECT, FROM, WHERE, GROUP BY, ORDER BY.
Po uruchomieniu zapytania otrzymujemy informację zwrotną w postaci tabeli, którą możemy potem zapisać lub wyeksportować do innych narzędzi np. Looker Studio, Google Sheets czy Excel poprzez plik CSV.
Poniżej znajduje się przykładowe zapytanie zwracające TOP 10 produktów dodanych do koszyka na podstawie danych z Google Analytics 4.
Mając w planach wykorzystać eksport Google Analytics 4 do BigQuery, warto rozpocząć swoją przygodę z nauką SQL, gdzie bariera wejścia jest znacznie niższa niż wejście w świat programowania.
Poniżej znajduje się kilka przydatnych źródeł wiedzy w tym zakresie:
- w3schools - SQL Tutorial
- Przykłady podstawowych zapytań SQL na danych Google Analytics 4
- Książka Google BigQuery: The Definitive Guide: Data Warehousing, Analytics, and Machine Learning at Scale
- Simo Ahava - #BIGQUERYTIPS: QUERY GUIDE TO GOOGLE ANALYTICS: APP + WEB
- Dokumentacja Google BigQuery
Kilka powodów dlaczego warto zacząć działać z eksportem Google Analytics 4 [GA4] w BigQuery już teraz
Omówiliśmy podstawowe kwestie związane z eksportem danych do Google Analytics 4, teraz czas poznać kilka ważnych powodów, które powinny skłonić każdą firmę do rozpoczęcia wykonywania swoich analiz w Google BigQuery.
Jeżeli nie włączysz opcji eksportu danych do Google BigQuery, stracisz swoje dane historyczne
W przypadku Google Analytics Universal mieliśmy możliwość ustawienia automatycznego usuwania danych po 14, 26, 38, 50 miesiącach. Mogliśmy też zrezygnować z tej opcji, co oznaczało, że dane do analizy w Google Analytics były dostępne nawet sprzed 50 miesięcy.
Google Analytics Universal - ustawienia retencji danych
W Google Analytics 4, domyślny czas retencji twoich danych jest ustawiony na 2 miesiące - jeżeli masz tą opcję niezmienioną, warto to zrobić wchodząc w Administracja -> Ustawienia Usługi -> Retencja danych. W wersji darmowej możemy maksymalnie rozszerzyć ten zakres do 14 miesięcy. W wersji płatnej Google Analytics 4 Premium jest możliwość rozszerzenia retencji do 26, 38 i 50 miesięcy, ale brakuje już opcji przetrzymywania danych bezterminowo.
Google Analytics 4 - ustawienia retencji danych
Dane w BigQuery możemy przechowywać bezterminowo - haczyk polega na tym, że dane w BigQuery pojawiają się dopiero od momentu ich konfiguracji, w związku z tym jeżeli zależy nam na dostępie do danych historycznych, powinniśmy włączyć eksport danych do Google BigQuery jak najszybciej.
Wizualizacje danych Google Analytics 4 w Looker Studio - BigQuery to brak limitów w stosunku do API
Popularnym rozwiązaniem do wizualizacji danych poza panelem Google Analytics 4 jest Looker Studio wcześniej znane jako Google Data Studio. Google Analytics 4 jest z tym narzędziem zintegrowane programistycznie poprzez API (Application Programming Interface), co pozwala na szybkie i proste tworzenie własnych wizualizacji w postaci tabel i wykresów.
W listopadzie 2022 roku wiele firm, które posiadało dashboardy analityczne w Looker Studio, zamiast tabel i wykresów zobaczyło komunikat informujący o przekroczeniu limitów dotyczących pobierania danych przez wcześniej wspomniane API.
Raporty wyglądały więc w następujący sposób.
W dokumentacji Looker Studio pojawił się w tej sprawie oficjalny komunikat, który mówił o nałożonych limitach w Google Analytics Data API.
Link do opublikowanego komunikatu znajduje się tutaj.
Google wprowadziło nawet narzędzie do monitorowania liczby zapytań z tego konektora, aby można było lepiej oszacować przekroczenie limitów pobieranych danych przez nasze dashboardy.
Rekomendowaną opcją w przypadku przekroczenia takich limitów jest między innymi ograniczenie liczby wizualizacji oraz dostępu do raportu w organizacji lub wykorzystanie eksportu danych Google Analytics 4 do Google BigQuery.
W chwili gdy jesteśmy połączeni poprzez konektor Google BigQuery, zapytania wysyłane są do Google BigQuery, a nie do Google Analytics Data API, w związku z tym unikamy limitów zapytań dla danych historycznych. Wizualizacja danych na podstawie tabel z Google BigQuery jest więc tutaj kolejną korzyścią jeżeli chcemy mieć zapewniony stały dostęp do raportowania bez obaw o wszystkie limity.
Próbkowanie danych w interfejsie - dla BigQuery to żaden problem
W panelu Google Analytics 4 w sekcji eksploracji widnieje wiele opcji dotyczących wizualizacji i raportowania zebranych danych. Część z nich w zależności od wybranych metryk i wymiarów wymaga dużych obliczeń, co finalnie może skutkować próbkowaniem danych. Gdy w ramach danego zapytania konieczne będzie przetworzenie większej liczby zdarzeń, Google Analytics użyje próbki dostępnych danych. W przypadku darmowej wersji Google Analytics limit wynosi 10 mln zdarzeń, dla wersji płatnej premium, będzie to 1 miliard zdarzeń.
Na poniższym zrzucie ekranu widać uruchomiony rekomendowany raport kohortowy znajdujący się w galerii szablonów. Nie modyfikując żadnych parametrów wyświetlany jest wykrzyknik, który informuje nas o dużym próbkowaniu danych - raport ten został sporządzony raptem na podstawie 6.91% wszystkich informacji, które Google Analytics posiadał, w związku z tym najprawdobniej charakteryzuje się dużą niedokładnością.
Odnosząc się do tego przykładu podczas analizy innych danych możemy napotkać wiele takich przypadków, które znacząco mogą utrudnić podejmowanie decyzji.
Przygotowując raporty w Google BigQuery mamy dostęp do wszystkich zebranych danych i możemy przygotować taki raport jak i wiele innych bez próbkowania. W interfejsie będzie to w tym przypadku niemożliwe.
Kardynalność danych - w BigQuery sami decydujemy o poziomie agregacji danych
Kardynalność danych występuje, gdy analizowany wymiar wykorzystany w raporcie zawiera zbyt wiele wierszy. Może to być np. adres url, identyfikator produktu, identyfikator użytkownika lub wiele kombinacji źródeł ruchu. Przez kardynalność danych możemy napotkać różne wartości w raportach standardowych i raportach eksploracji przy użyciu tych samych wymiarów i metryk. Kardynalność danych w panelu Google Analytics 4 wprowadza również pozycją w wierszu o nazwie “(other)” za każdym razem jak osiągnie limit wierszy.
W Google BigQuery nie będzie takiej sytuacji, gdyż sami decydujemy o poziomie agregacji danych, na których chcemy pracować.
Możliwość łączenia danych z różnymi systemami
Do Google BigQuery można zrzucić wiele danych biznesowych innych niż Google Analytics. Mogą to być informacje o kosztach reklamowych, statusach z systemów CRM, dane z Google Merchant Center i wiele innych.
Wszystko to możemy ze sobą połączyć i przygotować jedną tabelkę czyli tzw. “Data Mart”. Taką tabelkę możemy potem zwizualizować na dashboardzie np. w Looker Studio i cieszyć się stałą kontrolą wyników marketingowych w naszym biznesie.
Takie rzeczy są możliwe do osiągnięcia bez kodowania, dzięki gotowym rozwiązaniom, które automatyzują zbieranie i raportowanie danych.
Walidacja i stały monitoring dla implementacji na podstawie danych w Google BigQuery
Dane GA4 w BigQuery ułatwiają weryfikację raportów i implementacji zdarzeń. Mając do dyspozycji wszystkie szczegółowe informacje włącznie z identyfikatorem użytkownika i znacznikiem czasu każdego zdarzenia (timestamp) jesteśmy w stanie precyzyjnie przeanalizować wartości wysyłane do Google Analytics podczas kontaktu użytkownika ze stroną. Przy pomocy odpowiednich zapytań SQL możemy wykryć anomalie w danych czy też sprawdzić nieprawidłowości związane z sekwencją wysyłanych zdarzeń bez omijania trudności w systemie jakimi są próbkowanie czy też kardynalność danych. Jeżeli biznes wprowadza wiele zmian w stronie lub aplikacji, stałe monitorowanie wartości przesyłanych do Google Analytics pozwala szybko reagować na zmiany np. o błędnie przesyłanym parametrze.
Możliwość wykorzystania danych do prognoz i predykcji dzięki rozwiązaniom BigQuery ML
Wykorzystanie uczenia maszynowego w marketingu staje się już standardem. Posiadając dane w Google BigQuery możemy dotrzymać kroku tym trendom i wykorzystać je do zbudowania predykcji lub prognoz na podstawie naszych danych bez konieczności pisania kodu w językach typu Python, Java. Moduł BigQuery ML pozwala tworzyć modele, prognozy i predykacje w oparciu o język SQL, co znacząco zmniejsza barierę wejścia w ten obszar i otwiera nowe możliwości między innymi prognozę ruchu i sprzedaży z poszczególnych kanałów marketingowych, wykrywanie anomalii w danych, budowanie zaawansowanej segmentacji dla użytkowników czy też tworzenie niestandardowym modeli atrybucji.
Jeżeli uważasz więc, że odpowiedzi na poniższe pytania byłyby przydatne, BigQuery ML jest rozwiązaniem, które może Ci pomóc:
- Ile przychodu mój biznes
wygenerował/ wygeneruje ? - Ile
wydaliśmy/ wydamy na media? - Które produkty będą się sprzedawać i ile będzie nas to kosztować?
- Ile na tym wszystkim
zarobiliśmy/ zarobimy ?
Surowe i niepróbkowane dane prawie “za darmo” - przyjrzyjmy się kosztom
Tak jak wspomnieliśmy na początku artykułu przy Google Analytics Universal sprawa była prosta - jeżeli chcieliśmy mieć niepróbkowane dane Google Analytics w BigQuery musieliśmy być posiadaczem Google Analytics Premium za 10-tki tysięcy dolarów rocznie. Teraz mamy możliwość włączenia tej usługi za darmo.
Samo Google BigQuery jest płatną usługą należącą do rodziny produktów Google Cloud Platform. Jeżeli zakładamy konto rozliczeniowe w Google Cloud Platform po raz pierwszy, na start dostaniemy 300$ do wykorzystania przez pierwsze 90 dni. W związku z tym analizę danych można rozpocząć za darmo.
Dodatkowo warto przypomnieć, że BigQuery powstało z myślą o analizie bardzo dużych zbiorów danych. W związku z tym cennik tego narzędzia został dostosowany do dużych gracz, co oznacza szansę wykorzystania świetnej technologii w bardzo niskiej cenie przez małe, średnie a czasem nawet i duże przedsiębiorstwa.
Na miesięczne rozliczenie produktu Google BigQuery wpływają 3 elementy:
- 0.02$ miesięcznie za każdy przechowywany GB w Google BigQuery, przy czym pierwsze 10 GB jest za darmo
- 5$ za każdy przetworzony TB podczas uruchamiania zapytań SQL na danych, przy czym 1 TB w miesiącu jest za darmo
- 0.05$ za każdy przesłany GB w streamie danych w czasie rzeczywistym(jeżeli mamy uruchomioną taką opcję)
Zgodnie z informacjami zawartymi w dokumentacji 1 GB danych to ok. 600 000 zdarzeń Google Analytics. W celu odniesienia do tej liczby sprawdziliśmy sklep internetowy, który w miesiącu odwiedziło 260 tys. użytkowników. Taki sklep wygenerował 6 mln zdarzeń, co daje średnio 200 tys. zdarzeń dziennie.
Poniżej znajduje się więc przykładowa estymacja dla biznesu generującego 600 000 zdarzeń dziennie aby uprościć kalkulacje.
Przesyłanie zdarzeń w czasie rzeczywistym
30 dni x 1GB x 0.05$ = 1.5$ za przesłanie 18 MLN zdarzeń do Google BigQuery w miesiącu
Przechowywanie danych
Dane będą narastać każdego dnia, w związku z tym koszt za przechowywanie również będzie rósł każdego miesiąca. W celu zobrazowania kosztów przedstawiamy to już na pełnych nominałach.
Miesiąc 1: (30 GB - 10 GB darmowych) * 0.02$ = 20 GB * 0.02$ = 0.4$
Miesiąc 2: (60 GB - 10 GB darmowych) * 0.02$ = 50 GB * 0.02$ = 1$
Miesiąc 3: (90 GB - 10 GB darmowych) * 0.02$ = 80 GB * 0.02$ = 1.6$
…
Miesiąc 12: (360 GB - 10 GB darmowych) * 0.02$ = 7$
Wykonywanie zapytań SQL na danych
Wykonując zapytanie SQL na danych, wybieramy tylko te informacje, które nas interesują. W związku z tym nie procesują one wszystkich informacji jakie posiadamy.
Dla przykładu sprawdziliśmy biznes mający ok. 1 GB danych i 3 dosyć rozbudowane raporty w Looker Studio odświeżane co godzinę. Taki biznes przeprocesował 1.5 TB danych w skali miesiąca.
(1.5 TB - 1 TB za darmo) * 5$ = 0.5 TB za 5$ = 2.5$
Koszty wykonywania zapytań są zależne są od wielu kwestii, w związku z tym mogą one się różnić dla poszczególnych biznesów. Kilka czynników, które mogą na nie wpływać znajduje się poniżej:
- wielkość danych wsadowych do raportu
- liczba raportów
- jakość napisanych zapytań(można często uzyskać ten sam efekt wielokrotnie taniej, unikając błędów w składni języka SQL)
- ruch na raportach podpiętych np. pod Looker Studio. Każdy wykres czy tabelka wykonuje zapytanie SQL do BigQuery, które powoduje naliczenie dodatkowych MB
Łączny miesięczny koszt dla biznesu generującego 600 000 zdarzeń dziennie
Przy założeniu, że mamy już komplet danych z jednego roku, zapłacimy więc 11$:
7$ za przechowywanie danych + 1.5$ za streamowanie danych + 2.5$ za odpytywanie danych = 11$
Dla sklepów, które generują znacznie mniej zdarzeń niż 600 000 miesięcznie, usługa ta może być praktycznie darmowa.
Podsumowanie
Eksport danych Google Analytics 4 do Google BigQuery pozwala uchronić nas przed utratą danych oraz ominąć wiele limitów i ograniczeń czekających na nas w panelu czy też połączeniu z API. Dodatkowo jest dobrym punktem do rozpoczęcia budowy własnej hurtowni danych, w której zbierzemy więcej informacji między innymi informacji o kosztach reklamowych czy też statusów z systemów CRM. Narzędzie to było budowane z myślą o dużych graczach, w związku z tym nie ma dużej bariery wejścia jeżeli chodzi o cenę tego rozwiązania. Jeżeli zaczniemy częściej korzystać z tej technologii możemy w stosunkowo prosty sposób przeskoczyć do świata uczenia maszynowego i zacząć lepiej prognozować to co się wydarzy.
Firmy, które zaczną sprawnie wykorzystywać tą technologię w biznesie uzyskają zdecydowaną przewagę konkurencyjną na rynku.