Jak obliczyć unikalnych użytkowników w GA4 BigQuery

Jedną z najczęściej zadawanych kwestii przy analizie danych przechowywanych w BigQuery jest obliczanie liczby unikalnych użytkowników.

W danych eksportowanych z Google Analytics 4 każdy event ma przypisany identyfikator użytkownika, który możemy wykorzystać do precyzyjnego zliczenia rzeczywistych użytkowników odwiedzających naszą stronę czy aplikację

Dlaczego warto liczyć użytkowników w BigQuery?

GA4 w interfejsie UI pokazuje pewne agregaty, ale często możesz potrzebować:

  • dokładniejszych danych z wyłączeniem limitów UI
  • analizy przekrojowej przez własne segmenty
  • elastycznego raportowania np. w Looker Studio, Data Studio itp.

BigQuery daje pełną kontrolę nad danymi i logiką zliczania — ale najpierw trzeba zrozumieć, co oznacza „unikalny użytkownik” i jak to odwzorować w SQL.

Czym jest user_pseudo_id i jak go używać

W tabeli eksportu GA4 z BigQuery (np. events_*) każdy event ma pole:

  • user_pseudo_id — identyfikator wygenerowany przez GA4, który działa jak unikalny identyfikator użytkownika w ramach danej własności.
  • user_id — opcjonalny identyfikator, jeśli Twoja implementacja GA4 przekazuje własny ID użytkownika (np. po zalogowaniu).

To właśnie te pola możemy zliczać, aby poznać liczbę unikalnych użytkowników.

Prosty SQL do liczenia unikalnych użytkowników

Poniżej przykładowe zapytanie SQL, które liczy unikalnych użytkowników w danym zakresie dat, bazując na user_pseudo_id.

-- Oblicz liczbę unikalnych użytkowników w określonym okresie
SELECT
  APPROX_COUNT_DISTINCT(user_pseudo_id) AS unique_users
FROM
  `<Enter your table id here>`
WHERE
  _TABLE_SUFFIX BETWEEN '20251001' AND '20251031';

W tym zapytaniu:

  • unique_users — liczba unikalnych identyfikatorów użytkowników w zadanym przedziale dat,
  • APPROX_COUNT_DISTINCT() — funkcja przybliżająca, która działa bardzo szybko i zużywa mniej zasobów; warto stosować w dużych zbiorach danych.

To podejście daje wynik bliski temu, co raportuje UI GA4 dla tego samego okresu.

Alternatywa: dokładne liczenie bez przybliżeń

Jeśli zależy Ci na dokładnym policzeniu unikalnych użytkowników, zamiast metody przybliżonej (APPROX_COUNT_DISTINCT) możesz zastosować klasyczną funkcję SQL:

SELECT
  COUNT(DISTINCT user_pseudo_id) AS unique_users
FROM
  `<Enter your table id here>`
WHERE
  _TABLE_SUFFIX BETWEEN '20251001' AND '20251031';

Ta wersja jest wolniejsza przy bardzo dużych danych, ale daje dokładną wartość, która może być potrzebna w analizach, gdzie precyzja jest najważniejsza.

Na co zwrócić uwagę przy liczeniu unikalnych użytkowników?

✔️ user_pseudo_id nie jest tym samym, co realny użytkownik

user_pseudo_id to identyfikator sesji lub urządzenia, który:

  • jest przypisywany automatycznie
  • może się zmieniać przy odświeżeniu ciasteczek lub zmianie urządzenia
  • nie łączy automatycznie danych między urządzeniami

Jeśli masz własny system logowania i przekazujesz user_id do GA4, możesz używać tego pola do bardziej stabilnych analiz.

Dlaczego query BigQuery może różnić się od UI GA4?

UI GA4 stosuje nieco inne algorytmy i wewnętrzną logikę deduplikacji, szczególnie przy dużych zestawach danych czy modelowaniu. BigQuery daje niskopoziomowy dostęp do surowych eventów, więc SQL ma znaczenie przy wyniku — dlatego:

  • przybliżona metoda (APPROX_COUNT_DISTINCT) jest szybsza i skalowalna
  • dokładna metoda jest bardziej wiarygodna, ale droższa obliczeniowo

Umiejętność dopasowania SQL do Twoich potrzeb analitycznych pozwala uzyskać pełniejszy obraz unikalnych użytkowników niż seria raportów w UI.

Podobne wpisy