Przejdź do treści

BigQuery. Partycja event_date. Tanie zapytania na jednym miesiącu eksportu GA4.

Na czym to polega w sklepie

Pułapka: analityk uruchamia raport „na szybko" bez filtra daty i skanuje rok eventów sklepu. Tabele events_YYYYMMDD w GA4 to partycje dzienne - warunek _TABLE_SUFFIX BETWEEN … mówi BigQuery, które dni czytać. To różnica między kilkoma złotymi a kilkuset złotymi za jedno zapytanie.

Przykład ze sklepu internetowego

Sklep marketplace z rocznym eksportem GA4 potrzebuje raportu czerwcowego - zawężasz suffixy zamiast skanować cały rok:

SELECT
  COUNTIF(event_name = 'purchase') AS purchase_events,
  COUNT(DISTINCT user_pseudo_id) AS buyers
FROM `project.analytics.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260601' AND '20260630'
  AND event_name IN ('purchase', 'session_start');

Co zrobić po stronie biznesu

  • Ustal regułę: każde zapytanie produkcyjne ma filtr daty w WHERE - bez wyjątków dla zespołu BI.
  • Nocny job z DATE_SUB na wczoraj - przewidywalny koszt zamiast ad hoc skanów całej historii.
  • Porównuj event_date z panelem GA4 UI - strefa czasu property vs UTC potrafi przesunąć granice dnia.

W skrócie

Filtr daty w WHERE to podstawa kontroli kosztów BigQuery. Zapytanie bez suffixu na rocznym eksporcie sklepu to najszybsza droga do nieprzyjemnej faktury i wstrzymania budżetu na analitykę.