Kiedy pierwszy raz patrzysz na wyrażenia regularne (tzw. Regex), możesz odnieść wrażenie, że po klawiaturze przeszedł kot. Ciągi znaków takie jak ^/kategoria/.*\.html$ wyglądają jak błąd systemu, a nie przydatne narzędzie. Prawda jest jednak taka, że Regex to absolutna „supermoc” w arsenale każdego analityka i marketera – nawet jeżeli nie są oni w 100% techniczni.
Pozwala zaoszczędzić godziny żmudnego klikania w narzędziach takich jak GA4 czy GTM. Zamiast wyklikiwać 20 różnych raportów, warunków dla poszczególnych podstron, możesz załatwić to jedną, krótką linijką tekstu dopasowując to czego w danym momencie potrzebujesz. W tym artykule odczarujemy wyrażenia regularne. Pokażę Ci krok po kroku, jak ich używać, gdzie się przydają, a na koniec zdradzę, jak wykorzystać sztuczną inteligencję do pisania zaawansowanych reguł za Ciebie.
Co to są wyrażenia regularne (Regex)
Wyrzućmy do kosza akademickie definicje. Czym jest Regex? Możesz na to popatrzyć jak na zaawansowaną wyszukiwarkę.
Zwykła wyszukiwarka szuka dokładnego dopasowania słowa (np. „buty”). Wyrażenia regularne pozwalają Ci szukać wzorców (np. „wszystkie adresy URL, które zaczynają się od słowa buty, potem mają dowolny ciąg znaków, a kończą się na .html„).
Używamy do tego specjalnych znaków (metaznaków), które działają jak instrukcje dla systemu.
Jeśli chcesz zgłębić oficjalną, bardzo techniczną dokumentację, zawsze możesz zajrzeć do oficjalnej pomocy Google. Ja jednak skupię się na tym, jak to realnie przekłada się na oszczędność czasu.
Gdzie Regex uratuje Ci życie w GA4 i GTM?
Wyrażenia regularne to nie jest wiedza sztuka dla sztuki. Wykorzystasz je w konkretnych miejscach 4 główne to dla mnie:
Eksploracje w GA4: Kiedy chcesz przefiltrować raport, by pokazywał tylko ruch z kilku konkretnych kampanii albo wykluczyć z analizy ruch z 50 różnych podstron np regulaminy, politykę prywatności i politykę cookies.
Standardowe raporty GA4: Przy używaniu paska wyszukiwania lub dodawaniu filtrów do raportów (szczególnie przydatne przy czyszczeniu danych z parametrami zapytania w URL).
Wyzwalacze w GTM (Triggery): Kiedy chcesz odpalić tag (np. piksel Facebooka) tylko na stronach produktów, które mają specyficzną strukturę adresu URL, ale nie na stronach kategorii.
Zmienne w GTM: Do wyciągania konkretnych fragmentów tekstu z elementów na stronie (np. samego numeru ID z długiego ciągu znaków).
To kilka przykładów – oczywiście można znaleźć więcej – przejdźmy jednak do konkretów.
Alfabet – podstawowe znaki Regex
Nie musisz uczyć się programowania. Wystarczy, że zapamiętasz tych kilka znaków, z których zbudujesz 90% potrzebnych reguł. Możesz przyjąć że zastępują one w Twoim wyrażeniu ciąg znaków.
. (Kropka) – Oznacza dowolny pojedynczy znak (literę, cyfrę, myślnik).
* (Gwiazdka) – Oznacza, że znak występujący przed nią może pojawić się zero lub więcej razy.
.* (Kropka i gwiazdka) – Połączenie powyższych. Dopasuj dowolny ciąg znaków.
| (Pionowa kreska / Pipe) – Oznacza LUB. np wyrażenie A lub wyrażenie B lub wyrażenie
^ (Dasz) – Oznacza początek ciągu znaków. np. coś zaczyna się na konkretny ciąg znaków np ^buty
$ (Dolar) – Oznacza koniec ciągu znaków. innymi słowy coś kończy się na dany ciąg znaków np html$
\ (Ukośnik odwrotny / Backslash) – Znak ucieczki. Sprawia, że znak specjalny (np. kropka) staje się zwykłym znakiem tekstu. Na przykład \. to po prostu kropka jako kropka interpunkcyjna.
? (Znak zapytania) – Oznacza, że znak przed nim jest opcjonalny (występuje zero lub jeden raz).
Tyle – za pomocą tych znaków możesz zbudować praktycznie każde wyrażenie. Oczywiście jeżeli chcesz poznać je wszystkie sprawdź na stronie pomocy google
Jak zbudować wyrażenie regularne w GA4/GTM? 5 praktycznych przykładów
Zobaczmy, jak te klocki łączą się w praktyce, od najprostszego do tych nieco bardziej zaawansowanych.
#1. Dopasuj wszystko, czyli magiczne .*
Wyobraź sobie, że chcesz w GA4 wyfiltrować ruch ze wszystkich wpisów na blogu. Adresy URL Twojego bloga wyglądają tak: twojastrona.pl/blog/nazwa-artykulu.
Wyrażenie regularne: /blog/.*
Jak to działa w praktyce? To wyrażenie mówi systemowi: „Znajdź cokolwiek, co zawiera w sobie /blog/, a to, co jest po nim (.*), zupełnie mnie nie obchodzi – weź wszystko!”. Dopasuje to zarówno /blog/nowy-post, jak i /blog/kategoria/stary-post-123.
#2 Alternatywa, czyli „weź to LUB tamto” (|)
Analizujesz w Eksploracjach ruch z kampanii promocyjnych. Chcesz zobaczyć dane tylko dla Black Friday, Cyber Monday i świąt Bożego Narodzenia, ignorując całą resztę. Zamiast tworzyć trzy oddzielne filtry z warunkiem „zawiera”, robisz to w jednej linijce.
Wyrażenie regularne: blackfriday|cybermonday|swieta
Jak to działa w praktyce? Znak | działa jak „LUB”. Jeśli parametr utm_campaign w GA4 będzie zawierał którykolwiek z tych trzech ciągów znaków, dane trafią do Twojego raportu.
Przykład z GTM gdzie chcesz wyfiltrować kliknięcia w url które miały w sobie pdf lub doc.
#3. Początek i koniec – precyzyjne odcięcie (^ oraz $)
Chcesz w GTM ustawić wyzwalacz, który odpali tag konwersji tylko na stronie podziękowania za zakup. Wiesz, że proces zakupowy odbywa się w katalogu /koszyk/, a strona podziękowania zawsze nazywa się /zakup-zakonczony. Chcesz jednak upewnić się, że tag nie odpali się na stronie np. /koszyk/faq-zakup-zakonczony.
Wyrażenie regularne: ^/koszyk/.*zakup-zakonczony$
Jak to działa w praktyce?
^ mówi: adres URL musi zaczynać się dokładnie od /koszyk/.
.* mówi: w środku może być cokolwiek (np. ID transakcji, losowe cyfry).
$ mówi: adres URL musi kończyć się dokładnie na słowie zakup-zakonczony. Nie dopasuje więc /koszyk/zakup-zakonczony-blad.
#4. Znaki zapytania i elastyczność (?)
Częsty problem w analityce: adresy URL bywają rejestrowane ze znakiem ukośnika na końcu lub bez niego. Dla GA4 /kontakt i /kontakt/ to domyślnie dwie różne strony. Chcesz stworzyć warunek, który złapie obie wersje.
Wyrażenie regularne: ^/kontakt/?$
Jak to działa w praktyce? Znak ? sprawia, że poprzedzający go znak (w tym przypadku ukośnik /) jest opcjonalny. To wyrażenie dopasuje dokładnie stronę rozpoczynającą się (^) i kończącą ($) na /kontakt, ale zaakceptuje też wersję z jednym ukośnikiem na samym końcu /kontakt/.
#5. Ciekawostka/Bonus: Jak dopasować pusty ciąg znaków?
Czasami w GA4 widzisz w raporcie wiersz z napisem „(not set)” lub po prostu pustym polem. Chcesz wykluczyć (lub uwzględnić) z raportu zdarzenia, w których dany wymiar (np. kategoria urządzenia albo przekazany parametr) jest fizycznie pusty.
Wyrażenie regularne: ^$
Jak to działa w praktyce? ^ oznacza początek, a $ oznacza koniec. Jeśli początek i koniec stykają się ze sobą (nie ma między nimi absolutnie niczego, nawet spacji), oznacza to, że szukamy całkowicie pustego ciągu znaków.
Case studies – REGEX + Google Sheets jak wyfiltrować ruch z 100 konkretnych adresów URL.
Wyobraź sobie, że szef przysyła Ci w Excelu listę 100 najważniejszych adresów URL w sklepie i prosi o wyciągnięcie dla nich pełnych danych z ostatnich 3 miesięcy. Wyklikanie tego ręcznie przez filtr „zawiera” to katorga.
Z pomocą przychodzi Regex. Jak to zrobić w 4 krokach?
1. Otwierasz plik klienta w Excelu lub Google Sheets
2. Adresy URL znajdują się w kolumnie od A1 do A100.
3. W dowolnej innej komórce wpisujesz formułę: =TEXTJOIN("|"; PRAWDA; A1:A100) (w Google Sheets funkcja to JOIN("|"; A1:A100)).
4. Dostajesz jeden długi ciąg znaków, wyglądający tak: url-1|url-2|url-3|...|url-100.
Bierzesz ten ciąg, wklejasz go jako filtr w Eksploracji GA4, ustawiasz typ dopasowania na „pasuje do wyrażenia regularnego” i gotowe.
Uwaga: Pamiętaj, że interfejs GA4 ma ograniczenia liczby znaków w filtrach. Choć w eksploracjach limit ten jest całkiem spory, bardzo długie Regexy (powyżej 1000-2000 znaków) mogą zwrócić błąd. W takim wypadku po prostu podziel listę na 2 lub 3 mniejsze filtry połączone warunkiem „LUB”.
Nie pisz Regexów sam! Jak użyć AI (ChatGPT / Gemini / Cloude) do tworzenia wyrażeń
Dzisiaj mało kto, pisze długie i skomplikowane wyrażenia regularne całkowicie z „palca”. Najlepiej zlecić to sztucznej inteligencji.
GA4 korzysta z silnika RE2. Ten silnik jest super szybki, ale nie obsługuje zaawansowanych funkcji. Dlatego musisz odpowiednio skonstruować prompt. Oto gotowiec, z którego sam korzystam:
PROMPT DO CHATGPT / CLAUDE:
Jesteś ekspertem analityki webowej. Napisz dla mnie wyrażenie regularne, które chcę wykorzystać jako filtr w Google Analytics 4 (GA4). Ważne: GA4 korzysta z silnika RE2, więc wyrażenie NIE MOŻE zawierać funkcji lookahead ani lookbehind (np. ?=, ?!, ?<=, ?<!). Musi być w 100% zgodne ze specyfikacją RE2. Oto co chcę osiągnąć:
[TUTAJ OPISZ SWÓJ PROBLEM, np. Chcę dopasować adresy URL, które zawierają słowo „promocja”, ale nie mogą zawierać słowa „regulamin”]. Zwróć tylko wyrażenie i krótko wyjaśnij, jak działa.
Dzięki takiej komendzie AI da Ci gotowy, bezpieczny kod, który na 100% zadziała w Twoim raporcie.
Podsumowanie
Wyrażenia regularne mogą początkowo przerażać. Jak widzisz, opierają się na kilku prostych klockach. Nie musisz uczyć się ich wszystkich na pamięć. Wystarczy, że zrozumiesz zasady działania podstawowych znaków jak .* czy |, a w trudniejszych przypadkach pomożesz sobie sztuczną inteligencją.
Jeżeli chcesz przetestować napisane przez siebie (lub przez AI) wyrażenie, polecam darmowe narzędzie regex101.com. Wklejasz tam swój Regex, pod spodem wrzucasz kilka przykładowych linków ze swojej strony i od razu widzisz, czy reguła działa poprawnie.
Najlepszym sposobem na naukę jest jednak praktyka. Otwórz eksplorację w GA4, dodaj filtr używający wyrażenia regularnego, skopiuj jeden z powyższych przykładów i zobacz, ile czasu właśnie zaoszczędziłeś!
Powiązane wpisy
Parametry UTM w Google Analytics 4 – dlaczego bez nich, Twoje analizy nigdy nie będą dobre?
Edit: zaktualizowano 1.10.2026Jak śledzić ruch za pomocą Google Analytics 4 z chirurgiczną precyzją? Żeby wiedzieć, które źródła i medium, kampanie, czy słowa kluczowe, przynoszą dobrej jakości ruch musimy,...
GA4 – Rewolucja w analityce internetowej
Od kilku tygodni edukuję się z nowego narzędzia Google Analytics - GA4 . Tak nie jest to pomyłka - uważam że jest to nowe narzędzie, nowa metodologia podejścia do danych oparta na eventach, nowe sposoby...
