Jak psát a testovat filtry regulárního výrazu pro Google Analytics (s příklady)
Stejně jako u mnoha mých článků zde provádím průzkum pro klienta a pak o něm píšu zde. Abych byl upřímný, existuje několik důvodů, proč ... zaprvé je to, že mám strašnou paměť a často zkoumám informace na svém vlastním webu. Druhým je pomoc ostatním, kteří mohou také hledat informace.
Co je regulární výraz (Regex)?
Regex je vývojová metoda pro vyhledávání a identifikaci vzoru znaků v textu, které text buď odpovídají, nebo nahrazují. Všechny moderní programovací jazyky podporují regulární výrazy.
Miluji regulární výrazy (regex), ale mohou být trochu frustrující nebo rozzuřující, když se učí a testují. Google Analytics má několik úžasných funkcí ... kde můžete vytvářet výběry pomocí regulárních výrazů nebo filtrovat data v regulárních výrazech.
Například pokud bych chtěl vidět pouze provoz na mých značkových stránkách, mohl bych filtrovat / tag / v mé struktuře permalink pomocí:
/tag\/
Syntaxe je zde kritická. Kdybych právě použil „tag“, dostal bych všechny stránky, na kterých je výraz tag. Kdybych použil „/ tag“, pak by byla zahrnuta jakákoli adresa URL, která začíná značkou / tag-management protože Google Analytics standardně obsahuje jakýkoli znak za regulární výraz. Takže se musím ujistit, že mám zahrnuto následující lomítko ... ale musí to mít únikový znak.
Základy syntaxe regulárního výrazu
Syntax | Popis |
^ | Začíná s |
$ | Končí s |
. | Zástupný znak pro libovolnou postavu |
* | Nula nebo více předchozí položky |
.* | Shoduje se s libovolnými znaky v |
? | Nula nebo jednou předchozí položky |
+ | Jeden nebo vícekrát předchozí položky |
| | Operátor OR |
[abc] | A nebo b nebo c (může mít libovolný počet znaků) |
[az] | Rozsah od a do z (může mít libovolný počet znaků) |
[AZ] | Rozsah od A do Z (velká písmena) |
[0-9] | Rozsah 0 až 9 (může být libovolné číslo) |
[a-zA-Z] | Rozsah a až Z nebo A až Z. |
[a-zA-Z0-9] | Všechny alfanumerické znaky |
1 {} | Přesně 1 instance (může být libovolné číslo) |
{1-4} | Rozsah 1 až 4 instancí (může být libovolné číslo) |
{1 XNUMX XNUMX,} | 1 nebo více instancí (může být libovolné číslo) |
() | Seskupte svá pravidla |
\ | Unikněte speciálním znakům |
\d | Číselný znak |
\D | Neciferný znak |
\s | Bílý prostor |
\S | Nebílý prostor |
\w | Slovo |
\W | Non-word (interpunkce) |
Příklady regulárních výrazů pro Google Analytics
Pojďme tedy pro některé uvést několik příkladů Vlastní filtry. Jeden z mých kolegů mě požádal o pomoc s identifikací interní stránky s cestou /index kromě všech příspěvků na blogu, které byly napsány s rokem v trvalém odkazu:
Můj vlastní vzor filtru pro pole filtru URL požadavku:
^/(index|[0-9]{4}\/)
To v podstatě uvádí, že hledáte / index NEBO jakoukoli čtyřmístnou číselnou cestu končící koncem lomítka. Vytvořil jsem pohled v Analytics a přidal jsem ho jako filtr:
Zde je několik dalších příkladů:
- Máte blog s rokem v cestě permalink adresy URL a chcete filtrovat seznam na libovolný rok. Takže chci jakékoli 4 číselné číslice následované koncovým lomítkem. Vyžádejte si vzor filtru URl:
^/[0-9]{4}\/
- Chcete porovnat všechny své stránky, kde má název certifikát or osvědčení v něm. Vzor filtru názvu stránky:
(.*)certificat(.*)
- Chcete porovnat dvě vstupní stránky na základě jejich média kampaně předaného v URL kampaně Google Analytics jako utm_medium = direct mail or placené vyhledávání.
(direct\smail|paid\ssearch)
- Chcete porovnat všechny produkty, které jsou pánskými košilemi, na základě cesty URL. Vyžádejte si vzor filtru URl:
^/mens/shirt/(.*)
- Chcete porovnat všechny stránky očíslované cestou URL, která končí číslem. Vyžádejte si vzor filtru URl:
^/page/[1-9]*/$
- Chcete vyloučit rozsah IP adres. Vyloučit vzor filtru IP adres:
123\.456\.789\.[0-9]
- Chcete zahrnout stránku thankyou.html, kde bylo zadání úspěšné na základě řetězce dotazu success = true. Vyžádejte si vzor filtru URl:
thankyou\.html\?success=true
Jak otestovat vaše výrazy Regex
Spíše než pokusy a omyly v Google Analytics často přeskočím na regulární výraz101, skvělý nástroj pro testování regulárních výrazů. Dokonce rozdělí vaši syntaxi za vás a poskytne podrobnosti o vašem regulárním výrazu: