Google Analytics 4 [GA4] BigQuery - dlaczego warto korzystać?

Oskar Maciejek
Founder | Tech lead & Data Solutions Architect
Analiza danych
Jan 9, 2023

    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:

    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.


    Google Analytics 4 BigQuery Events


    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


    Google Analytics 4 Export Configuration

    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.

    Img


    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 :).

    Google Analytics 4 SQL

    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.


    SQL Structure Description

    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.


    Img


    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:

    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

    Google Analtyics 4 BigQuery Data Retention


    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

    Img

    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.


    Google Analytics 4 Looker Studio Limits Error


    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 Analytics 4 Looker Studio Data Limits


    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.

    Google Analytics 4 Looker Studio Data Limits Steps To Resolve

    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.


    Google Analytics 4 Reports Sampling

    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ć.

    Google Analytics 4 Data Cardinality

    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.


    Google Analytics 4 Marketing Data Integration

    Google Analytics 4 & Data Integration Report


    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.


    Google Analytics 4 & BigQuery ML


    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 ?

    Google Analytics 4 BigQuery ML Example of Repor

    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.


    Rate article

    Rates: 0 Avarage rate: 0