Jak pisać i testować filtry Regex dla Google Analytics (z przykładami)
Podobnie jak w przypadku wielu moich artykułów tutaj, szukam informacji dla klienta, a następnie piszę o tym tutaj. Szczerze mówiąc, jest kilka powodów, dla których… po pierwsze, mam okropną pamięć i często szukam informacji na własnej stronie internetowej. Po drugie, pomagamy innym, którzy również mogą szukać informacji.
Co to jest wyrażenie regularne (regex)?
Regex to metoda programistyczna służąca do wyszukiwania i identyfikowania wzorca znaków w tekście w celu dopasowania lub zastąpienia tekstu. Wszystkie współczesne języki programowania obsługują wyrażenia regularne.
Uwielbiam wyrażenia regularne (regex), ale nauka i testowanie mogą być nieco frustrujące lub irytujące. Google Analytics ma niesamowite możliwości… gdzie możesz tworzyć widoki za pomocą wyrażeń regularnych lub filtrować dane za pomocą wyrażeń regularnych.
Na przykład, jeśli chciałbym zobaczyć tylko ruch na moich stronach z tagami, mógłbym przefiltrować / tag / w mojej strukturze permalink, używając:
/tag\/
Składnia jest tam krytyczna. Gdybym użył tylko „tagu”, uzyskałbym wszystkie strony zawierające ten termin. Gdybym użył „/ tag”, to każdy adres URL zaczynający się od tagu zostałby uwzględniony, na przykład / zarządzanie tagami ponieważ Google Analytics domyślnie dodaje dowolny znak po wyrażeniu regularnym. Muszę więc upewnić się, że mam następujący ukośnik… ale musi on mieć znak ucieczki.
Podstawy składni Regex
Składnia | Opis |
^ | Zaczyna się z |
$ | Kończy się na |
. | Symbol wieloznaczny dla dowolnego znaku |
* | Zero lub więcej poprzedniego elementu |
.* | Dopasowuje dowolne znaki w |
? | Zero lub jeden raz poprzedniej pozycji |
+ | Jeden lub więcej razy poprzedni element |
| | Operator OR |
[ABC] | A lub b lub c (może mieć dowolną liczbę znaków) |
[az] | Zakres od a do z (może zawierać dowolną liczbę znaków) |
[AZ] | Zakres od A do Z (pisane wielkimi literami) |
[0-9] | Zakres od 0 do 9 (może być dowolną liczbą) |
[a-zA-Z] | Zakres od a do Z lub od A do Z |
[a-zA-Z0-9] | Wszystkie znaki alfanumeryczne |
1 {} | Dokładnie 1 wystąpienie (może to być dowolna liczba) |
{1-4} | Zakres od 1 do 4 instancji (może to być dowolna liczba) |
{1,} | 1 lub więcej instancji (może to być dowolna liczba) |
() | Pogrupuj swoje zasady |
\ | Unikaj znaków specjalnych |
\d | Znak cyfrowy |
\D | Znak niecyfrowy |
\s | Biała przestrzeń |
\S | Spacja inna niż biała |
\w | słowo |
\W | Bez słów (interpunkcja) |
Przykłady wyrażeń regularnych dla Google Analytics
Więc przedstawmy kilka przykładów dla niektórych Filtry niestandardowe. Jeden z moich kolegów poprosił mnie o pomoc w identyfikacji strony wewnętrznej ze ścieżką /indeks oprócz wszystkich postów na blogu z rokiem w permalku:
Mój niestandardowy wzorzec filtru dla adresu URL żądania pola filtru:
^/(index|[0-9]{4}\/)
Zasadniczo oznacza to, że należy szukać / indeksować LUB dowolnej 4-cyfrowej ścieżki numerycznej zakończonej ukośnikiem. Utworzyłem widok w Analytics i dodałem jako filtr:
Oto kilka innych przykładów:
- Masz bloga z rokiem w ścieżce linku bezpośredniego adresu URL i chcesz przefiltrować listę do dowolnego roku. Chcę więc 4 cyfry, po których następuje ukośnik. Zażądaj wzorca filtru URl:
^/[0-9]{4}\/
- Chcesz porównać wszystkie swoje strony, które mają tytuł świadectwo or certyfikacja w nim. Wzorzec filtru tytułu strony:
(.*)certificat(.*)
- Chcesz porównać dwie strony docelowe na podstawie ich medium kampanii przekazanego w URL kampanii Google Analytics jako utm_medium = poczta bezpośrednia or wypłacona search.
(direct\smail|paid\ssearch)
- Chcesz porównać wszystkie produkty, które są koszulami męskimi, na podstawie ścieżki adresu URL. Zażądaj wzorca filtru URl:
^/mens/shirt/(.*)
- Chcesz porównać wszystkie strony ponumerowane ścieżką URL, która kończy się numerem. Zażądaj wzorca filtru URl:
^/page/[1-9]*/$
- Chcesz wykluczyć zakres adresów IP. Wyklucz wzorzec filtru adresów IP:
123\.456\.789\.[0-9]
- Chcesz dołączyć stronę thankyou.html, na której przesłanie zakończyło się powodzeniem na podstawie querystring success = true. Zażądaj wzorca filtru URl:
thankyou\.html\?success=true
Jak przetestować wyrażenia Regex
Zamiast prób i błędów w Google Analytics, często przechodzę do wyrażenie regularne101, fantastyczne narzędzie do testowania wyrażeń regularnych. Nawet rozkłada za Ciebie składnię i podaje szczegóły wyrażenia regularnego: