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.