BigQuery dla marketingu - wprowadzenie i połączenie GA4 z BigQuery

Autor: |Baza wiedzy o analityce
Czas czytania: 20 min
Aktualizacja:

BigQuery to hurtownia danych w chmurze Google Cloud, która przechowuje i analizuje bardzo duże zbiory danych za pomocą zapytań SQL, bez utrzymywania własnego serwera. W marketingu BigQuery pełni rolę magazynu surowych danych: trafiają do niego pojedyncze zdarzenia z Google Analytics 4, koszty kampanii z Google Ads, dane z Google Search Console i rekordy z CRM, a rozliczenie opiera się na ilości danych przetworzonych przez zapytania oraz na wolumenie składowania. Połączenie GA4 z BigQuery jest bezpłatną funkcją standardowej usługi Google Analytics 4, którą uruchamia się w panelu administracyjnym w kilka minut.

Pierwszy sygnał, że czas na BigQuery, wygląda zwykle tak samo: dział handlowy pyta o coś, czego GA4 nie potrafi pokazać. Ilu klientów, którzy kupili po raz pierwszy w styczniu, wróciło po sześciu miesiącach? Które kampanie przyciągają ludzi kupujących drugi raz? Interfejs Google Analytics 4 odpowiada na pytania, które ktoś w Google przewidział podczas projektowania raportów. Reszta wymaga dostępu do surowych zdarzeń. Przez lata audytowania kont Google Ads i konfiguracji analityki widziałem dziesiątki firm, które kupowały drogie narzędzia BI, mając w zasięgu ręki bezpłatny eksport GA4 do BigQuery, którego nikt nie włączył.

Skrót artykułu
Co warto wiedzieć

Najważniejsze ustalenia o eksporcie danych Google Analytics 4 do BigQuery: co dostajesz, ile to kosztuje i gdzie ludzie tracą dane.

  • BigQuery przechowuje surowe zdarzenia Google Analytics 4, a nie gotowe raporty

    Eksport GA4 zapisuje każde zdarzenie osobno, z pełnym zestawem parametrów i identyfikatorem użytkownika. Dzięki temu w BigQuery można zadać pytanie, którego nie przewidziano w interfejsie GA4, na przykład o zachowanie klientów kupujących po raz drugi.

  • Eksport GA4 do BigQuery obejmuje wyłącznie dane od dnia jego włączenia

    Google nie uzupełnia wstecz danych historycznych z Google Analytics 4. Każdy dzień zwłoki to bezpowrotnie utracony materiał do analiz kohortowych, dlatego eksport warto włączyć nawet wtedy, gdy nikt w firmie nie umie jeszcze pisać zapytań SQL.

  • Darmowy próg BigQuery pokrywa 1 TiB zapytań i 10 GB składowania miesięcznie

    Google Cloud w cenniku BigQuery podaje bezpłatny miesięczny limit 1 TiB przetworzonych danych w modelu on-demand oraz 10 GB aktywnego składowania, stan na 2026 rok. Typowy sklep internetowy generujący kilkadziesiąt milionów zdarzeń miesięcznie mieści się w tym progu.

  • Zapytanie SELECT gwiazdka bez filtra dat skanuje całą historię eksportu GA4

    BigQuery w modelu on-demand liczy opłatę od wolumenu przeskanowanych kolumn, nie od liczby zwróconych wierszy. Brak warunku na _TABLE_SUFFIX lub event_date sprawia, że jedno nieostrożne zapytanie w Looker Studio potrafi przemielić kilkaset gigabajtów.

  • Na 13 kontach z eksportem GA4 rachunek pierwszego miesiąca zmieścił się w progu 9 razy

    To moja własna obserwacja z kont, na których uruchamiałem eksport Google Analytics 4 do BigQuery w ciągu ostatnich osiemnastu miesięcy. Cztery przypadki, które przekroczyły darmowy limit, łączyło jedno: raport w Looker Studio odpytujący surowe tabele bez warstwy pośredniej.

Czym jest BigQuery i dlaczego marketerzy zaczęli go używać?

BigQuery jest serwerless-ową hurtownią danych Google Cloud, która wykonuje zapytania SQL na zbiorach liczących miliardy wierszy i rozlicza się za faktycznie przetworzone dane. Marketerzy sięgnęli po nią z jednego powodu: Google Analytics 4 udostępnia bezpłatny eksport surowych zdarzeń właśnie do BigQuery, a poprzednia wersja Analytics rezerwowała tę możliwość dla płatnej wersji Analytics 360.

Różnica między BigQuery a klasyczną bazą danych sprowadza się do modelu pracy. Nie zarządzasz serwerem, nie planujesz mocy obliczeniowej, nie robisz kopii zapasowych. Wrzucasz dane, piszesz zapytanie, płacisz za przemielone bajty. Dla działu marketingu to zmiana kategorii problemu: z „potrzebujemy infrastruktury” na „potrzebujemy kogoś, kto napisze zapytanie”.

W praktyce BigQuery pełni w marketingu trzy różne role, które warto rozdzielić, bo wymagają innych kompetencji:

  • Archiwum surowych zdarzeń: przechowuje historię z Google Analytics 4 dłużej niż pozwala na to standardowa retencja GA4 i w postaci, której interfejs nie agreguje.
  • Miejsce łączenia źródeł: jedna tabela z kosztami Google Ads, druga ze zdarzeniami GA4, trzecia z zamówieniami z CRM, a między nimi zwykły JOIN po identyfikatorze transakcji.
  • Silnik pod raporty: Looker Studio, Power BI i arkusze pobierają gotowe, przeliczone tabele wynikowe zamiast odpytywać API narzędzi reklamowych.

Encja, którą warto tu zapamiętać, to „projekt Google Cloud”. Wszystko w BigQuery żyje wewnątrz projektu: zbiory danych, tabele, uprawnienia i rozliczenia. Jeden projekt na firmę to najczystszy układ, jaki widuję w dobrze poukładanych organizacjach. Szczegółowy kontekst całej warstwy pomiarowej opisuję w przewodniku analityka i pomiar w marketingu.

Dlaczego interfejs GA4 przestaje wystarczać przy większych danych?

Interfejs Google Analytics 4 zniekształca dane na trzy sposoby, których nie da się wyłączyć: progowanie danych, wiersz „(other)” przy wysokiej kardynalności oraz ograniczona retencja zdarzeń wynosząca 2 lub 14 miesięcy. Eksport do BigQuery omija wszystkie trzy, bo pracuje na zdarzeniach zapisanych przed agregacją.

Progowanie (thresholding) uruchamia się, gdy w usłudze włączone są sygnały Google, a raport mógłby pozwolić na identyfikację pojedynczych osób. Google po prostu ukrywa część wierszy. W raporcie widzisz wtedy komunikat o zastosowaniu progu, a suma nie zgadza się z tym, co pokazuje karta przeglądu. Wiersz „(other)” to inny mechanizm: gdy liczba unikalnych wartości w tabeli raportu przekroczy limit, GA4 zwija resztę do jednego zbiorczego wiersza.

W jednym z audytów sklepu z oświetleniem dekoracyjnym wiersz „(other)” obejmował 38% odsłon stron produktowych. Klientka była przekonana, że jej najlepiej sprzedające się lampy to te z pierwszej dziesiątki raportu. Po przełożeniu tych samych danych na zapytanie w BigQuery okazało się, że dwa produkty spoza widocznej listy generowały więcej wyświetleń niż pozycja druga i trzecia razem wzięte.

KryteriumInterfejs GA4Eksport do BigQuery
Retencja danych zdarzeń2 lub 14 miesięcy (standard)Bez limitu narzuconego przez Google
Progowanie danychTak, przy włączonych sygnałach GoogleNie występuje
Wiersz „(other)”Tak, po przekroczeniu kardynalnościNie występuje
Łączenie z danymi z CRMTylko przez import danychDowolny JOIN w SQL
Czas do pierwszej liczbyKilka sekund (klikanie)Kilka minut (napisanie zapytania)

Nie namawiam nikogo do porzucenia interfejsu GA4. Wielokrotnie obserwowałem sytuację, w której zespół marketingu przenosił do BigQuery raporty, które w GA4 działały świetnie, i kończył z wolniejszym procesem oraz rachunkiem za zapytania. Podstawy samego narzędzia opisuję osobno w tekście o tym, czym jest Google Analytics 4.

!

Czy wiesz, że…

Standardowa usługa Google Analytics 4 przechowuje szczegółowe dane zdarzeń i użytkowników maksymalnie przez 14 miesięcy, a domyślnym ustawieniem przy zakładaniu usługi jest krótszy okres 2 miesięcy. Dane zapisane w BigQuery zostają tak długo, jak długo sam zdecydujesz się je trzymać.

Jak połączyć GA4 z BigQuery krok po kroku?

Połączenie GA4 z BigQuery polega na utworzeniu projektu w Google Cloud, włączeniu w nim API BigQuery i wskazaniu tego projektu w sekcji „Powiązania produktów” w ustawieniach administracyjnych usługi Google Analytics 4. Cała konfiguracja zajmuje kilkanaście minut, a pierwsze tabele pojawiają się zwykle następnego dnia.

  1. Załóż projekt Google Cloud na tym samym koncie Google, które ma uprawnienia administratora w usłudze GA4. Nazwa projektu powinna wskazywać firmę, nie kampanię ani rok.
  2. Włącz rozliczenia lub tryb Sandbox. Sandbox nie wymaga karty płatniczej, ale tabele znikają po 60 dniach, więc do zastosowań produkcyjnych podepnij konto rozliczeniowe.
  3. Aktywuj BigQuery API w bibliotece usług projektu. Bez tego kroku GA4 zgłosi błąd uprawnień przy próbie powiązania.
  4. Dodaj konto usługi Analytics (firebase-measurement@system.gserviceaccount.com) jako edytora projektu, jeśli panel GA4 nie zrobi tego automatycznie.
  5. W GA4 wejdź w Administracja, potem Powiązania produktów, potem Powiązania BigQuery i wskaż projekt oraz lokalizację danych. Dla firm z Unii Europejskiej wybierz region europejski, nie domyślny amerykański.
  6. Wybierz typ eksportu: dzienny, ciągły (streaming) albo oba. Dzienny wystarcza do raportowania, streaming ma sens przy monitoringu w czasie zbliżonym do rzeczywistego.
  7. Zdecyduj o zakresie danych: możesz wykluczyć wybrane zdarzenia z eksportu, co ma sens przy bardzo dużych wolumenach ruchu.

Wybór lokalizacji jest decyzją nieodwracalną w obrębie jednego zbioru danych. Zmiana regionu po fakcie oznacza utworzenie nowego zbioru i utratę ciągłości historii albo ręczne kopiowanie tabel. Rekomenduję podejście, w którym region ustala się raz, na etapie zakładania projektu, wspólnie z osobą odpowiedzialną w firmie za ochronę danych osobowych.

Harmonogram wdrożenia
Od kliknięcia w GA4 do pierwszego użytecznego raportu

Realny przebieg pierwszych trzech miesięcy eksportu Google Analytics 4 do BigQuery w typowym sklepie internetowym.

Dzień 0 Powiązanie usługi

Projekt Google Cloud, włączone API, wskazany region i typ eksportu w panelu GA4.

Dzień 1 Pierwsza tabela events_

Zbiór analytics_ z tabelą za pierwszą pełną dobę. Przy pierwszym uruchomieniu bywa opóźnienie do 24 godzin.

Tydzień 2 Pierwsze rozjazdy

Liczby z BigQuery różnią się od GA4 o kilka procent. Powód to zwykle inna definicja sesji i moment przypisania zdarzenia do doby.

Wynik Miesiąc 3: analizy kohortowe

Trzy pełne miesiące historii wystarczają na pierwsze pytania o powracalność klientów i wartość kohort z poszczególnych kampanii.

Co dokładnie trafia do BigQuery po włączeniu eksportu GA4?

Eksport GA4 tworzy w BigQuery zbiór danych o nazwie analytics_ z numerem usługi, a w nim dzienne tabele zdarzeń o nazwie events_ z datą w formacie rok-miesiąc-dzień. Jedna tabela to jedna doba, jeden wiersz to jedno zdarzenie, a parametry zdarzenia siedzą w zagnieżdżonej strukturze event_params.

Struktura zagnieżdżona bywa pierwszym zaskoczeniem dla osób znających SQL z klasycznych baz. Kolumna event_params nie zawiera jednej wartości, tylko listę par klucz-wartość, którą trzeba rozwinąć operatorem UNNEST. To rozwiązanie pozwala zapisać dowolny zestaw parametrów bez zmiany schematu tabeli.

TabelaZawartośćKiedy powstaje
events_RRRRMMDDKomplet zdarzeń z pełnej doby, po przetworzeniu przez GA4Przy eksporcie dziennym, zwykle w ciągu doby
events_intraday_RRRRMMDDZdarzenia bieżącego dnia, nieprzetworzone i niepełnePrzy eksporcie ciągłym (streaming)
pseudonymous_users_RRRRMMDDWłaściwości użytkowników i odbiorcy powiązani z identyfikatorem pseudonimowymPo włączeniu eksportu danych użytkowników
users_RRRRMMDDWłaściwości użytkowników powiązane z User-ID z Twojego systemuPo włączeniu eksportu i wdrożeniu User-ID

Najważniejsze kolumny tabeli events_, od których zaczyna się każda analiza:

  • event_name: nazwa zdarzenia, na przykład page_view, purchase, generate_lead.
  • event_timestamp: moment zdarzenia w mikrosekundach, kluczowy przy odtwarzaniu ścieżek.
  • user_pseudo_id: pseudonimowy identyfikator urządzenia i przeglądarki, odpowiednik dawnego Client ID.
  • traffic_source oraz collected_traffic_source: źródło pierwszej wizyty i źródło zebrane przy danym zdarzeniu.
  • items: tablica pozycji zamówienia w zdarzeniach handlowych, z ceną, ilością i kategorią.
  • ecommerce: wartość transakcji, podatek, koszt dostawy oraz identyfikator zamówienia.
Słownik eksportu GA4
Sześć pojęć, bez których nie ruszysz z miejsca w BigQuery

Terminy, które padają w pierwszej rozmowie z programistą albo w pierwszym samouczku SQL do danych Google Analytics 4.

StrukturaProjekt
Najwyższy poziom organizacji w Google Cloud. Zawiera zbiory danych, uprawnienia i konto rozliczeniowe. Wszystkie koszty BigQuery naliczają się na poziomie projektu.
StrukturaZbiór danych (dataset)
Kontener na tabele, przypisany do konkretnej lokalizacji geograficznej. Eksport GA4 tworzy zbiór o nazwie analytics_ zakończonej numerem usługi Google Analytics 4.
TabelaTabela z sufiksem daty
Każda doba to osobna tabela events_ z datą w nazwie. W zapytaniu odwołujesz się do nich zbiorczo gwiazdką, a zakres dat ograniczasz warunkiem na pseudokolumnę _TABLE_SUFFIX.
Poleevent_params
Zagnieżdżona lista parametrów zdarzenia w układzie klucz-wartość. Wartość leży w jednym z czterech pól typu (tekst, liczba całkowita, zmiennoprzecinkowa, podwójnej precyzji), więc trzeba wiedzieć, którego szukać.
SQLUNNEST
Operator rozwijający tablicę na osobne wiersze. Bez niego nie wyciągniesz z event_params ani nazwy strony, ani identyfikatora kampanii. Pojawia się w praktycznie każdym zapytaniu do danych GA4.
KosztSkanowanie kolumn
BigQuery jest bazą kolumnową i liczy opłatę od wolumenu kolumn dotkniętych zapytaniem. Wybranie trzech kolumn zamiast wszystkich potrafi obniżyć koszt tego samego raportu o rząd wielkości.

Ile kosztuje BigQuery przy danych marketingowych?

BigQuery rozlicza dwie rzeczy osobno: składowanie danych i przetwarzanie zapytań. W modelu on-demand Google Cloud podaje bezpłatny próg 1 TiB przetworzonych danych miesięcznie oraz 10 GB aktywnego składowania, a powyżej progu obowiązuje stawka rzędu 6,25 USD za TiB zapytań i 0,02 USD za GB składowania miesięcznie w regionie amerykańskim, stan na 2026 rok.

Sam eksport z Google Analytics 4 do BigQuery jest bezpłatny po stronie Analytics. Płacisz wyłącznie Google Cloud i wyłącznie za to, co realnie zajmiesz i przemielisz. Dla większości polskich sklepów internetowych oznacza to rachunek w okolicach kilku złotych miesięcznie, o ile nikt nie odpytuje surowych tabel bezpośrednio z odświeżanego co godzinę dashboardu.

Symulacja rachunku
Ile realnie zapłaci sklep z 27 milionami zdarzeń miesięcznie

Wyliczenie na cenniku on-demand Google Cloud dla sklepu generującego około 900 tysięcy zdarzeń GA4 dziennie, przy raportach opartych na tabelach wynikowych.

ZmiennaLogikaWartość
01Zdarzenia GA4 w miesiącu
900 000 dziennie x 30 dni
27 000 000
02Objętość tabel events_
27 mln x 0,45 KB na zdarzenie
12,2 GB
03Składowanie ponad darmowe 10 GB
2,2 GB x 0,02 USD
0,04 USD
04Zapytania po tabelach wynikowych
0,8 TiB wobec progu 1 TiB
0,00 USD
Wynik Rachunek za pierwszy pełny miesiąc eksportu GA4
składowanie plus zapytania
0,04 USD

Wniosek: ten sam zbiór odpytywany bez filtra dat wygląda zupełnie inaczej. Sześćdziesiąt odświeżeń dashboardu skanujących pełne 12,2 GB to 0,73 TiB w jednym miesiącu, czyli prawie cały darmowy próg zjedzony przez jeden raport. Koszt w BigQuery generuje sposób odpytywania, nie wolumen danych.

W pracy z moimi klientami zawsze stosuję prostą zasadę kosztową: surowe tabele events_ są odpytywane wyłącznie przez zaplanowane zapytania, które budują tabele wynikowe raz na dobę. Wszystkie dashboardy patrzą już tylko na te tabele wynikowe. To jedna decyzja architektoniczna, która w praktyce decyduje o tym, czy rachunek za BigQuery będzie w groszach, czy w setkach złotych.

!

Czy wiesz, że…

BigQuery pokazuje przewidywany koszt zapytania jeszcze przed jego uruchomieniem. W prawym górnym rogu edytora widnieje informacja o liczbie bajtów do przetworzenia, a walidator liczy ją na podstawie samego schematu, bez skanowania danych i bez naliczania opłaty.

Jak wygląda pierwsze zapytanie SQL do danych GA4?

Pierwsze użyteczne zapytanie do danych GA4 w BigQuery liczy zdarzenia w wybranym zakresie dat i rozwija parametry operatorem UNNEST. Poniższy przykład zwraca liczbę transakcji i przychód w podziale na źródło ruchu, z ograniczeniem zakresu przez _TABLE_SUFFIX, czyli w sposób, który nie skanuje całej historii.

SELECT
  traffic_source.source AS zrodlo,
  COUNT(DISTINCT ecommerce.transaction_id) AS transakcje,
  ROUND(SUM(ecommerce.purchase_revenue), 2) AS przychod
FROM `projekt.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260101' AND '20260131'
  AND event_name = 'purchase'
GROUP BY zrodlo
ORDER BY przychod DESC

Warunek na _TABLE_SUFFIX to najważniejsza linijka w tym zapytaniu. Bez niej BigQuery przeskanuje wszystkie tabele dzienne, jakie kiedykolwiek powstały w zbiorze. Z nią przetwarza wyłącznie 31 tabel ze stycznia, a koszt spada proporcjonalnie do liczby dni.

Kolejny krok to wyciąganie parametrów, których nie ma w kolumnach głównych. Ten wzorzec powtarza się w każdym raporcie:

  • Podzapytanie z UNNEST: rozwija event_params i pozwala odfiltrować parametr po nazwie klucza.
  • Wybór właściwego pola wartości: tekstowa nazwa strony leży w polu string, a wartość zdarzenia w polu liczbowym.
  • Agregacja po user_pseudo_id: podstawa wszystkich analiz kohortowych i raportów o powracalności.
  • Zapis wyniku jako tabeli: instrukcja CREATE TABLE albo zaplanowane zapytanie budujące tabelę raz na dobę.

Nie musisz umieć pisać tego z pamięci. W praktyce nawet doświadczeni analitycy trzymają bibliotekę gotowych zapytań i modyfikują daty oraz nazwy zdarzeń. Sam korzystam też z modeli językowych do generowania szkieletu zapytania, o czym piszę szerzej w tekście o AI w analizie danych marketingowych. Warunek jest jeden: wynik trzeba zweryfikować na znanym okresie, zanim trafi do raportu zarządczego.

Jakie dane poza GA4 warto trzymać w BigQuery?

Prawdziwa wartość BigQuery pojawia się dopiero wtedy, gdy obok zdarzeń GA4 leżą koszty kampanii, dane z wyszukiwarki i zamówienia z systemu sprzedażowego. Dopiero połączenie tych czterech źródeł pozwala policzyć rzeczywisty zwrot z kanału, bo przychód z GA4 nie zawiera zwrotów, a koszty z Google Ads nie trafiają do Analytics w rozbiciu na produkty.

  • Google Ads przez usługę Data Transfer: BigQuery Data Transfer Service pobiera dane kampanii, grup reklam i słów kluczowych automatycznie. Sam transfer jest bezpłatny, płacisz za składowanie i zapytania.
  • Google Search Console przez eksport zbiorczy: od 2023 roku GSC oferuje eksport zbiorczy do BigQuery, który omija limit tysiąca wierszy z interfejsu i daje pełne dane o zapytaniach.
  • Zamówienia i zwroty z systemu sprzedażowego: najważniejsze źródło, bo tylko ono zna marżę i status zamówienia. Wystarczy dzienny plik CSV wgrywany do tabeli.
  • Koszty z platform spoza Google: Meta Ads, Allegro Ads czy kampanie e-mail wymagają konektora zewnętrznego albo prostego skryptu, ale zasada pozostaje ta sama.
  • Dane o klientach z CRM: segment, źródło pierwszego kontaktu, wartość życiowa. Łączone po identyfikatorze zamówienia albo po User-ID.

Uważam, że najczęstszym błędem na tym etapie jest odwracanie kolejności: firmy wpinają pięć źródeł, zanim ktokolwiek zada pierwsze sensowne pytanie biznesowe. Rekomenduję podejście odwrotne. Najpierw jedno pytanie, na które obecnie nikt nie umie odpowiedzieć, potem minimalny zestaw danych potrzebny do odpowiedzi. Jeśli chcesz sprawdzić, jak taka warstwa danych wygląda na Twoim koncie, od tego zwykle zaczynam audyt konta Google Ads.

!

Czy wiesz, że…

Interfejs Google Search Console pokazuje maksymalnie 1000 wierszy w raporcie skuteczności, a eksport zbiorczy do BigQuery przekazuje komplet zapytań i adresów, dla których witryna miała jakiekolwiek wyświetlenia. Dla serwisów z długim ogonem fraz to różnica między wycinkiem a pełnym obrazem.

Jak wizualizować dane z BigQuery bez zabijania budżetu?

Dashboard podłączony bezpośrednio do surowych tabel events_ jest najdroższym sposobem raportowania z BigQuery, ponieważ każde odświeżenie strony przez każdego użytkownika uruchamia nowe zapytanie. Bezpieczny układ to warstwa pośrednia: zaplanowane zapytanie buduje tabelę wynikową raz na dobę, a raport odpytuje wyłącznie ją.

Konkretne mechanizmy, które obniżają koszt i przyspieszają raporty:

  1. Tabele wynikowe zamiast widoków na surowych danych. Widok nie przechowuje wyników, więc każde odwołanie do niego skanuje źródło od nowa.
  2. Ekstrakt w Looker Studio dla małych zestawów. Dane lądują w pamięci podręcznej narzędzia i nie generują zapytań do BigQuery przy każdym kliknięciu filtra.
  3. Partycjonowanie po dacie tabel własnych, dzięki czemu filtr okresu ogranicza skanowanie do wybranych partycji.
  4. Klastrowanie po najczęściej filtrowanej kolumnie, na przykład po kanale albo kategorii produktu.
  5. Limit kosztów na projekt ustawiony w Google Cloud, który zatrzymuje zapytania po przekroczeniu zadanego wolumenu.

Magda, e-commerce manager w sklepie z odzieżą dziecięcą, przyszła do mnie z raportem odświeżanym co 15 minut przez ośmiu użytkowników. Po przełożeniu tego samego raportu na dobową tabelę wynikową liczba zapytań spadła z około 250 dziennie do jednego, a czas ładowania dashboardu skrócił się z 22 sekund do niecałych 3. Zmieniła się architektura, nie zawartość raportu. Podstawy samego narzędzia raportowego opisuję w tekście Looker Studio dla początkujących.

Jakie błędy najczęściej pojawiają się przy wdrożeniu BigQuery?

Najkosztowniejszym błędem przy wdrożeniu BigQuery jest odkładanie włączenia eksportu GA4 do momentu, aż firma „będzie gotowa”, ponieważ Google nie uzupełnia danych wstecz. Pozostałe błędy dotyczą już konfiguracji i sposobu pracy z danymi, a każdy z nich widuję w audytach regularnie.

  • Zostawienie trybu Sandbox na produkcji: tabele w piaskownicy wygasają po 60 dniach, więc historia znika dokładnie wtedy, gdy zaczyna być potrzebna.
  • Wybór amerykańskiej lokalizacji zbioru danych mimo europejskiego charakteru działalności, co utrudnia rozmowę o zgodności z RODO i wymusza późniejszą migrację.
  • Włączenie eksportu ciągłego bez potrzeby: streaming generuje tabele events_intraday_ z niepełnymi danymi, które w raportach dają zaniżone liczby.
  • Odpytywanie surowych tabel z dashboardu: najczęstsza przyczyna niespodziewanego rachunku, opisana w symulacji kosztowej powyżej.
  • Brak dokumentacji zdarzeń: po pół roku nikt nie pamięta, czym różni się zdarzenie add_to_cart wysyłane z listingu od tego z karty produktu.
  • Porównywanie liczb z BigQuery i GA4 co do jednego zdarzenia: różnice rzędu kilku procent wynikają z odmiennego modelu sesji i są normalne, nie są błędem wdrożenia.

Kiedyś uważałem, że eksport ciągły to zawsze lepszy wybór, bo daje świeższe dane. Zmieniłem zdanie po kilku wdrożeniach, w których zespół raportował z tabel intraday i regularnie tłumaczył zarządowi, dlaczego poranne liczby nie zgadzają się z popołudniowymi. Streaming ma sens przy monitoringu awarii i kampanii jednodniowych. Do raportowania sprzedaży wystarczy eksport dzienny.

Kiedy BigQuery jest przerostem formy dla małej firmy?

BigQuery nie ma uzasadnienia jako narzędzie raportowe wtedy, gdy interfejs GA4 odpowiada na wszystkie zadawane pytania, a w firmie nie ma nikogo, kto napisze i utrzyma zapytania SQL. Włączenie samego eksportu ma jednak sens praktycznie zawsze, bo jest bezpłatne, a dane zbierają się na przyszłość.

To rozróżnienie bywa mylone. Eksport danych i praca z danymi to dwie oddzielne decyzje. Pierwszą podejmujesz raz, kosztuje kwadrans i nie generuje zobowiązań. Drugą podejmujesz wtedy, gdy pojawi się pytanie biznesowe, na które GA4 nie odpowiada, albo osoba zdolna zadać je językiem SQL.

Decyzja wdrożeniowa
Czy Twojej firmie potrzebna jest praca na danych w BigQuery

Odpowiedz na dwa pytania i zejdź do rekomendacji. Uwaga: sam eksport GA4 warto włączyć niezależnie od wyniku tego drzewa.

Czy w ostatnim kwartale pojawiło się pytanie, na które GA4 nie umiał odpowiedzieć?
Tak
Czy ktoś w firmie lub po stronie wykonawcy pisze zapytania SQL?
RekomendacjaZbuduj warstwę tabel wynikowych

Jedno zaplanowane zapytanie na dobę i raport oparty wyłącznie na jego wyniku. Koszt pozostaje w darmowym progu.

AlternatywaZamów pojedynczą analizę

Gdy pytanie jest jednorazowe, taniej wyjdzie zlecenie analizy niż budowanie stałego procesu raportowego.

Nie
Czy usługa GA4 zbiera dane dłużej niż 14 miesięcy?
RekomendacjaWłącz sam eksport i wróć za rok

Dane zaczną się archiwizować od dziś, a decyzję o analizach podejmiesz, gdy pojawi się realne pytanie biznesowe.

Granica opłacalności biegnie przez kompetencje, nie przez wielkość firmy. Widziałem jednoosobową działalność, która świetnie wykorzystywała BigQuery, bo właściciel miał przeszłość w IT. Widziałem też spółkę z ośmioosobowym marketingiem, w której eksport działał trzy lata i nikt do niego nie zajrzał. Jeśli rozpoznajesz ten drugi wzorzec u siebie, warto zacząć od jednego konkretnego pytania i jednego raportu, a nie od pełnej hurtowni.

Podsumowanie

Przestań traktować BigQuery jak zaawansowane narzędzie dla działu IT. Zacznij postrzegać go jako darmowy magazyn na Twoje własne dane marketingowe, który zaczyna działać w dniu, w którym klikniesz powiązanie w Google Analytics 4. Sam eksport nie kosztuje nic i nie wymaga żadnych kompetencji technicznych. Kosztować zaczyna dopiero praca na danych, a i to zwykle w skali groszy, o ile raporty odpytują tabele wynikowe zamiast surowych zdarzeń.

Kolejność wdrożenia, którą polecam każdej firmie zaczynającej od zera, jest prosta:

  1. Włącz eksport GA4 do BigQuery w europejskim regionie jeszcze w tym tygodniu, niezależnie od gotowości zespołu.
  2. Podepnij konto rozliczeniowe i ustaw limit kosztów, żeby wyjść z tymczasowego trybu Sandbox.
  3. Zapisz jedno pytanie biznesowe, na które obecne raporty nie odpowiadają, i dopiero pod nie buduj pierwsze zapytanie.
  4. Zbuduj jedną tabelę wynikową odświeżaną raz na dobę i dopiero na niej oprzyj raport w Looker Studio.

Za dwa lata dane, które zbierasz od dziś, będą jedynym materiałem pozwalającym odpowiedzieć na pytanie o wartość klientów pozyskanych w konkretnej kampanii. Dane, których nie zacząłeś zbierać, nie odtworzy żaden konsultant ani żaden model. To jedyna rzecz w analityce, której nie da się nadrobić budżetem. Jeśli chcesz omówić, jak ułożyć warstwę danych pod swoje kampanie, napisz do mnie.

Na czym opieram te wnioski

Źródła i dokumentacja

Cztery opracowania, które stoją za konkretnymi sekcjami tego tekstu: schemat eksportu GA4, cennik zapytań, mechanika progowania danych w interfejsie i praktyczny wzorzec zapytania SQL.

support.google.com

BigQuery Export schema

Oficjalny opis struktury tabel events_ oraz pól event_params, traffic_source i items. Podstawa sekcji o tym, co dokładnie trafia do BigQuery po włączeniu eksportu GA4.

Google Analytics Help Otwórz
cloud.google.com

Estimate and control costs

Dokumentacja modelu on-demand, darmowych progów i szacowania bajtów przed uruchomieniem zapytania. Źródło liczb użytych w sekcji o kosztach BigQuery i w symulacji rachunku.

Google Cloud Documentation Otwórz
Najczęściej zadawane pytania

Pytania i odpowiedzi (FAQ)

Sześć pytań, które padają już po decyzji o eksporcie danych Google Analytics 4 do BigQuery: formalności, zgodność z RODO, kompetencje i to, co dzieje się z danymi przy zmianie wykonawcy.

Czy eksport danych Google Analytics 4 do BigQuery jest zgodny z RODO?
Eksport danych Google Analytics 4 do BigQuery nie zmienia zakresu zbieranych danych, tylko miejsce ich przechowywania, więc podstawa prawna pozostaje ta sama co dla samego GA4. Kluczowa decyzja dotyczy lokalizacji zbioru danych: przy wyborze regionu europejskiego dane spoczywają w centrach danych na terenie Unii Europejskiej. Region ustala się raz i nie da się go później zmienić w obrębie istniejącego zbioru, dlatego warto podjąć tę decyzję razem z inspektorem ochrony danych.
Czy marketer poradzi sobie z BigQuery bez wsparcia programisty?
Samo włączenie eksportu i przeglądanie tabel w BigQuery nie wymaga umiejętności programowania, wystarczy dostęp administratora do usługi Google Analytics 4 i projektu Google Cloud. Pisanie zapytań to już osobna kompetencja, choć bliższa pracy z arkuszem kalkulacyjnym niż programowaniu. Realna granica przebiega przy utrzymaniu procesu, czyli zaplanowanych zapytaniach i tabelach wynikowych, i tu wsparcie osoby technicznej zwykle się opłaca.
Czy BigQuery wymaga podpięcia karty płatniczej i konta rozliczeniowego?
BigQuery da się uruchomić bez karty płatniczej w trybie Sandbox, który obejmuje darmowe progi, ale nakłada jedno poważne ograniczenie: tabele wygasają po 60 dniach od utworzenia. Do zastosowań produkcyjnych konieczne jest konto rozliczeniowe w Google Cloud. Podpięcie karty nie oznacza automatycznych opłat, bo darmowe progi obowiązują dalej, a limit kosztów na projekt można ustawić samodzielnie.
Co dzieje się z danymi w BigQuery przy zmianie agencji lub usunięciu usługi GA4?
Dane wyeksportowane wcześniej do BigQuery zostają w projekcie Google Cloud nawet po usunięciu usługi Google Analytics 4, ponieważ są to niezależne tabele w Twojej infrastrukturze. Zatrzymuje się wyłącznie dopływ nowych zdarzeń. Warunek jest jeden i bywa zaniedbywany: projekt Google Cloud musi być własnością firmy, nie agencji, inaczej przy rozstaniu tracisz dostęp do całej historii.
Czy liczby w BigQuery muszą zgadzać się co do zera z raportami w interfejsie GA4?
Liczby w BigQuery i w interfejsie Google Analytics 4 zwykle różnią się o kilka procent i nie jest to błąd wdrożenia. Powodów jest kilka: inna definicja sesji, moment przypisania zdarzenia do doby według strefy czasowej, progowanie danych w raportach oraz zdarzenia docierające z opóźnieniem. Różnice powyżej 10% warto zbadać, bo wtedy najczęściej chodzi o porównywanie tabel intraday z danymi przetworzonymi.
Czy włączenie eksportu do BigQuery spowolni zbieranie danych GA4 na stronie?
Włączenie eksportu do BigQuery nie ma żadnego wpływu na kod śledzący, szybkość witryny ani sposób zbierania zdarzeń, ponieważ dane kopiowane są po stronie serwerów Google, już po ich przetworzeniu. Na stronie nie pojawia się ani jeden dodatkowy skrypt. Raporty w interfejsie GA4 działają dokładnie tak samo jak przed powiązaniem usługi z projektem Google Cloud.
Artur Smolicki
Samodzielny Specjalista Google Ads

Artur Smolicki

Od ponad 15 lat specjalizuję się w przygotowaniu, wdrożeniu i optymalizacji kampanii Google Ads. W 2024 roku uzyskałem status Google Premier Partner dla 3% najlepszych specjalistów i agencji w Polsce. Prowadzę kampanie reklamowe na 29 rynkach zagranicznych, tak dla segmentu e-commerce jak i B2B.


Potrzebujesz audytu oraz pomocy w prowadzeniu kampanii
Google Ads?

Działajmy