Kako napisati i testirati regularne filtre za Google Analytics (s primjerima)
Kao i kod mnogih mojih članaka ovdje, istražujem klijenta i o tome ovdje pišem. Da budem iskren, postoji nekoliko razloga zašto ... prvo je to što se užasno sjećam i često istražujem vlastitu web stranicu radi informacija. Drugo je pomoći drugima koji takođe mogu tražiti informacije.
Šta je regularni izraz (Regex)?
Regex je razvojna metoda za pretraživanje i identificiranje uzorka znakova u tekstu kako bi se tekst podudarao ili zamijenio. Svi moderni programski jezici podržavaju regularne izraze.
Volim regularne izraze (regularni izraz), ali mogu biti malo frustrirajuće ili ogorčavajuće za učenje i testiranje. Google analitika ima nevjerojatne mogućnosti ... gdje možete stvoriti prikaze pomoću regularnih izraza ili filtrirati podatke u regularnim izrazima.
Na primjer, ako bih želio vidjeti samo promet na svojim stranicama s oznakama, mogao bih filtrirati / tag / u svojoj strukturi stalne veze koristeći:
/tag\/
Sintaksa je tu presudna. Da sam samo koristio „tag“, dobio bih sve stranice sa pojmom tag u njima. Ako bih koristio “/ tag”, tada bi bio uključen bilo koji URL koji počinje s tagom, na primjer / upravljanje oznakama jer Google Analytics podrazumevano uključuje bilo koji znak nakon regularnog izraza. Dakle, moram osigurati da uključim sljedeću kosu crtu ... ali na njoj mora biti znak za bijeg.
Osnove sintaksi regularnog izraza
sintaksa | Opis |
^ | Počinje sa |
$ | Završava sa |
. | Zamjenski znak za bilo koji lik |
* | Nula ili više prethodne stavke |
.* | Podudara se sa bilo kojim znakovima u |
? | Nula ili jedno vrijeme prethodne stavke |
+ | Jedan ili više puta prethodne stavke |
| | Operator OR |
[abc] | A ili b ili c (može biti bilo koji broj znakova) |
[az] | Raspon od a do z (može biti bilo koji broj znakova) |
[AZ] | Raspon od A do Z (velika slova) |
[0-9] | Raspon od 0 do 9 (može biti bilo koji broj) |
[a-zA-Z] | Raspon od a do Z ili od A do Z |
[a-zA-Z0-9] | Svi alfanumerički znakovi |
{1} | Tačno 1 instanca (može biti bilo koji broj) |
{1-4} | Opseg od 1 do 4 instance (može biti bilo koji broj) |
{1,} | 1 ili više slučajeva (može biti bilo koji broj) |
() | Grupirajte svoja pravila |
\ | Pobjegnite od posebnih likova |
\d | Znamenkasti znak |
\D | Necifreni znak |
\s | Bijeli prostor |
\S | Ne-bijeli prostor |
\w | riječ |
\W | Nereči (interpunkcija) |
Primjeri regularnih izraza za Google Analytics
Dakle, stavimo neke primjere za neke Prilagođeni filtri. Jedan od mojih kolega me je zamolio za pomoć da identifikujem internu stranicu sa putanjom do / index uz sve postove na blogu koji su napisani s godinom na trajnoj poveznici:
Moj prilagođeni obrazac filtra za polje filtra URL zahtjeva:
^/(index|[0-9]{4}\/)
To u osnovi navodi da treba tražiti / indeksirati ILI bilo koju četveroznamenkastu numeričku putanju koja se završava kosom crtom. Stvorio sam prikaz u Analitici i dodao ga kao filter:
Evo još nekoliko primjera:
- Imate blog s godinom u putanji URL stalne veze i želite filtrirati listu prema bilo kojoj godini. Dakle, želim bilo koje 4 numeričke znamenke nakon kojih slijedi kosa crta. Zatraži obrazac URl filtra:
^/[0-9]{4}\/
- Želite uporediti sve svoje stranice na kojima je naslov potvrda or potvrda u tome. Uzorak filtra naslova stranice:
(.*)certificat(.*)
- Želite uporediti dvije odredišne stranice na osnovu njihovog medijuma kampanje prosljeđenog u URL kampanje Google Analytics kao utm_medium = direktna pošta or plaćene pretrage.
(direct\smail|paid\ssearch)
- Želite usporediti sve proizvode koji su muške košulje na osnovu URL puta. Zatraži obrazac URl filtra:
^/mens/shirt/(.*)
- Želite usporediti sve stranice numerirane URL stazom koja se završava brojem. Zatraži obrazac URl filtra:
^/page/[1-9]*/$
- Želite izuzeti niz IP adresa. Izuzmite obrazac filtra IP adrese:
123\.456\.789\.[0-9]
- Želite uključiti zahvalnu stranicu.html na kojoj je predaja uspješna na osnovu niza upita success = true. Zatraži obrazac URl filtra:
thankyou\.html\?success=true
Kako testirati svoje regularne izraze
Umjesto pokušaja i pogrešaka u Google Analyticsu, često pređem na to regex101, fantastičan alat za testiranje vaših regularnih izraza. Čak i raščlanjuje vašu sintaksu i pruža detalje vašeg regularnog izraza: