Google AnalyticsGoogle Sheets

Regular Expression (RegEx): la guida

regular expression analytics

Le Espressioni Regolari o RegEx (Regular Expression) sono uno strumento potentissimo da utilizzare durante le tue analisi. Ti permettono di ottimizzare il lavoro ed isolare velocemente una parte di informazioni.

Al primo impatto le RegEx possono spaventare perché sembrano una lingua sconosciuta ma, utilizzandole, ti accorgerai di non poterne più fare a meno.

RegEx e Google Analytics

Le Espressioni Regolari possono essere utilizzate in Google Analytics in due modalità:

  1. All’interno della user interface di Analytics;
  2. Usando l’API di GA;

In questo post ti mostro il significato delle RegEx e alcuni esempi concreti per capirle meglio. Ci sono diverse espressioni regolari, alcune delle quali possono essere utilizzate solo nella UI di GA e altre per filtrare i dati quando lavori con l’API in Sheets.

I contenuti del post sono i seguenti:

1. User Interface Google Analytics

Puoi utilizzare le RegEx per diversi scopi nella UI di Analytics.

  1. Nella creazione di Filtri Vista;
  2. Filtrando i dati all’interno dei Rapporti (tutte le dimensioni sono filtrabili, come le parole più cercate, le pagine viste etc.);
  3. Nella creazione di Segmenti;
  4. Nella creazione di Obiettivi;

2. API di Google Analytics

Quando scarichi i dati di GA direttamente su Google Sheets, hai spesso la necessità di filtrare alcuni ed isolarli.

Per utilizzare al meglio il filtro, le Espressioni Regolari sono il tuo migliore alleato.

core reporting api add-ons

Elenco Espressioni Regolari (RegEx)

Di seguito ti mostro le principali espressioni regolari che puoi utilizzare all’interno della UI di Google Analytics.

. (punto)

Il punto, messo prima o dopo di un carattere, considera ogni carattere prima o dopo il punto.

Esempio: cas.a

RegExValidiNon validi
cas.acassacasa
castacassandra
etc.etc.

Tra le parole non valide ci sono “casa” e “cassandra”, questo perché il punto fa riferimento ad un solo carattere. Visto che la parola “cassandra” contiene 5 lettere dopo la “s” (s,a,n,d,r,a), allora non viene prese in considerazione da questa espressione regolare.

* (asterisco)

Questa RegEx permette di prendere in considerazione nessuno o più caratteri dell’elemento che precede l’asterisco.

Esempio: cas*a

RegExValidiNon Validi
cas*acasacassandra
cassssacasta
etc.etc.

Le parole “cassandra” e “casta” non sono valide perché l’asterisco è posto dopo la lettera “s” (cas*a). Questo significa che viene considerato l’elemento “s”, che può essere singolo oppure più di uno (es. cassssa).

Sia la parola “casta” sia la parola “cassandra” hanno elementi diversi da “s”. Rispettivamente “t” (casta) e “andr” (cassandra).

| (pipe)

Questo simbolo significa “oppure”.

E’ una’espressione regolare molto comoda, perché permette, in una sola stringa, di scrivere più parole.

Può essere utile in tanti aspetti, ad esempio se voglio visualizzare l’andamento di alcune parole cercate sul sito web.

Esempio: analytics|tag manager

RegExValidiNon Validi
analytics|tag manageranalytics marketing, google analytics, tag managergoogle, ga4
google tag manager, gtm, ga
etc.etc.

\ (backslash)

Questa RegEx ci restituisce il valore del carattere successivo.

L’utilizzo più classico di questo simbolo è quello di far leggere il punto, come “punto” e non come RegEx.

Esempio: 192\.168\.1

In questo esempio, utilizzando la backslash, il valore sarà letto come: “192.168.1”.

Se non utilizzassimo il simbolo \ (backslash) allora il . (punto) verrebbe letto come espressione regolare, come descritto nel paragrafo sopra.

^ (caret)

Questo simbolo significa che il valore considerato inizia con i caratteri scritti subito dopo.

Esempio: ^search

RegExValidiNon Validi
^searchsearchingtest search
search termss earch
etc.etc.

$ (dollaro)

Il simbolo $ ha lo stesso significato del caret ma legge i valori precedenti.

Esempio: search$

RegExValidiNon Validi
search$term searchsearch term
test searchsearching
etc.etc.

? (punto di domanda)

Questa espressione regolare rende il carattere prima del punto di domanda opzionale.

Esempio: goo?gle

RegExValidiNon Validi
goo?glegoogle analyticsga
goglegmail
etc.etc.

() (parentesi)

Permettono di raggruppare più elementi al loro interno.

Esempio: google\.(it|com)

RegExValidiNon Validi
google\.(it|com)google.itgoogleit
google.comgooglecom

[] (parentesi quadre)

Tutti i valori all’interno delle parentesi quadre sono considerate come elenco.

Esempio: c[yi]clette

RegExValidiNon Validi
c[yi]clettecyclettebici
biciclettecico
ciclettecyp
etc.etc.

{} (parentesi graffe)

Il valore numerico che scrivo all’interno, indica quante volte deve essere ripetuto l’ultimo elemento.

Esempio: bici{2}

RegExValidiNon Validi
bici{2}biciibici
bicii donnabici donna
etc.etc.

Come vedi, inserendo il numero 2 all’interno delle parentesi graffe, i risultati dell’espressione regolare riporteranno tutte le parole che hanno due lettere “i” finali.

Questa espressione regolare può essere utile per trovare misspelling come nell’esempio sopra, oppure, per cercare valori numerici, come per gli indirizzi IP.

Ad esempio, se voglio catturare gli indirizzi IP da 192.168.1.0 a 192.168.1.99 devo scrivere questa espressione regolare: 192\.168\.1\.[0-9]{1,2}$

In questo modo indico che deve essere catturata una cifra (perché i numeri che vanno da 0 a 9 sono composti da una sola unità) e massimo due cifre (i numeri che vanno da 10 a 99 hanno due unità). Non verrà catturato il seguente indirizzo IP: 192.168.1.100, perché “100” è composto di tre unità.

(dash)

Separare i valori con il simbolo “-” mi permette di indicare una lista di caratteri o numeri.

Alcuni esempi che possono essere utilizzati anche nei Filtri sono:

  • [a-z]: indica tutti i caratteri minuscoli
  • [A-Z]: indica tutti i caratteri maiuscoli
  • [0-9]: indica tutti i numeri
  • [a-zA-Z0-9]: indica tutti i caratteri minuscoli e maiuscoli e tutti i numeri

+ (simbolo più)

Questa espressione regolare riporta come risultati uno o più valori precedenti al simbolo +.

Esempio: cycle+

RegexValidiNon Validi
cycle+cyclecyclinge
cycleeebicycling
etc.etc.

Espressioni Regolari con API di Analytics

Oltre a tutte le RegEx viste poco sopra, che possono essere usate nella UI di GA, ci sono una serie di espressioni regolari, aggiuntive, che però possono essere utilizzate solo con l’API di Google Analytics, per esempio quando lavori sui fogli di Google.

Queste RegEx sono utili quando voglio filtrare alcune dimensioni o metriche dal mio report.

Puoi trovare l’elenco di tutte le dimensioni e metriche disponibile nel Core Reporting API direttamente a questo link di Google.

Ecco alcuni esempi di questo utilizzo.

; (punto e virgola)

Ha come significato la congiunzione “E”.

Quando voglio analizzare diversi valori, se inserisco il punto e virgola imposto la condizione “E”.

Esempio: voglio vedere le sessioni con device mobile e provenienti dall’Italia.

Regex: ga:deviceCategory==mobile;ga:country==Italy

analytics api filtro

, (virgola)

Il significato è “OPPURE”

Se inserisco la virgola nella stringa, il significa diventa oppure.

Esempio: voglio vedere le sessioni con device mobile oppure desktop.

Regex: ga:deviceCategory==mobile,ga:deviceCategory==desktop

analytics api virgola

=~ (uguale e tilde)

Questi due simboli significano “include/corrisponde a”.

Esempio: voglio vedere solo la transazione che al suo interno ha la voce “test”

Regex: ga:transactionId=~test

analytics api =~

!~ (punto esclamativo e tilde)

Questi simboli significano “esclude/non contiene”.

Esempio: voglio escludere le transazioni che contengono la voce “test”.

Regex: ga:transactionId=!test

anaylitics api !~

== (doppio uguale)

Questi simboli, la ripetizione dell’uguale, significa “corrisponde esattamente”.

Esempio: voglio vedere le sessioni provenienti da canale organico.

Regex: ga:channelGrouping==Organic Search

analytics api ==

!= (punto esclamativo e uguale)

Questa RegEx significa “non è uguale a”.

Esempio: voglio vedere le sessioni che non sono uguali al mezzo organico.

Regex: ga:medium!=organic

analytics api !=

Maggiore, minore

I simboli > oppure < corrispondono rispettivamente a “maggiore di”, “minore di” e possono essere combinati con il simbolo =.

Posso indicare “maggiore o uguale a” quando scrivo la RegEx in questo modo: >=

Viceversa , per indicare “minore o uguale a“, scrivo <=

<> (tra due valori)

Scrivendo questa espressione regolare, filtro i dati che rientrano tra un valore ed un altro.

Esempio: voglio vedere i costi per transazione tra 6 e 9

Regex: ga:costPerTransaction<>6_9

analytics api <>

=@ (uguale e chiocciola)

L’espressione regolare significa “contiene la sottostringa”.

Esempio: voglio cercare la campagna con all’interno il valore “social”

Regex: ga:campaign=@social

analytics api =@

~@ (tilde e chiocciola)

L’espressione regolare significa “non contiene la sottostringa”.

Esempio: voglio cercare tutte le campagne, tranne quelle che contengono la parola “social”

Regex: ga:campaign~@social

analytics api ~@

Filtrare per segmento

C’è un altro metodo interessante che può essere usato nei Fogli di Google e che è uguale ad utilizzare i Segmenti nella User Interface di Google Analytics.

Esempio: voglio visualizzare le sessioni provenienti dall’Italia

Nella UI di GA, creerei un segmento di questo tipo: Sessions – Include – Country – contains – Italy

segmento google analytics

Nei Fogli di Google dovrei scrivere, nella riga che fa riferimento ai segmenti, la seguente espressione:

sessions::condition::ga:country=~Italy

segmento api analytics

Posso inserire più condizioni, come nella UI di Analytics, semplicemente inserendo il punto e virgola (;) e riscrivendo “sessions::condition::”, come in questo esempio:

sessions::condition::ga:country==~Italy;sessions::condition::ga:deviceCategory==mobile

filtro per segmento in google sheet

Nella UI di Google Analytics, il segmento apparirebbe così:

segmento analytics api

Esempi pratici: RegEx in Google Analytics

Vediamo alcuni esempi concreti di utilizzo delle Espressioni Regolari all’interno di Google Analytics:

a) Filtri Rapporti

E’ possibile filtrare ogni rapporto in Google Analytics, ma il tutto diventa più facile se utilizzo le espressioni regolari.

Posso inserire l’espressione regolare sia direttamente nel Filtro semplice oppure andando nelle impostazioni avanzate (cliccando su “advanced”) e selezionando “matching RegExp“:

regular expressions analytics

b) Custom Reports

All’interno della UI di Google Analytics, posso creare dei Report Personalizzati per rendere le mie analisi più veloci.

I Custom Reports possono essere filtrati all’origine per mostrarmi solo i dati di cui ho bisogno. Le Espressioni Regolari mi vengono in soccorso, rendendo l’impostazione più veloce e pratica.

In questo esempio ho creato un rapporto personalizzato che mi mostri gli Step del funnel. Questi step hanno i nomi: STEP_1, STEP_2 fino a STEP_5. Creando la seguente RegEx, tutto diventa più veloce: STEP_[1-5]

custom reports regex

c) Filtri Vista

Nella versione Universal Analytics, a differenza di Google Analytics 4, sono presenti le Viste alle quali è possibile applicare dei Filtri per raccogliere solo alcuni dati.

I Filtri Vista possono essere impostati utilizzando le Espressioni Regolari. Qui sotto l’esempio di un Filtro per mostrare tutto il valore dei Referrals, attraverso l’indicazione: (.*)

filtro vista google analytics regular expressions

d) Obiettivi

In Universal Analytics possono essere impostati gli Obiettivi. Utilizzando le Espressioni Regolari, il settaggio diventa molto più facile.

Nell’esempio sotto è stato impostato un Obiettivo (Goal) sulla pagina di destinazione che inizia con la stringa dell’URL /confirmation (RegEx: ^/confirmation) e segue un certo funnel di diverse altre pagine:

obiettivi google analytics regular expressions

e) Segmenti

I segmenti sono fondamentali per analizzare il traffico sul proprio sito web. Le Espressioni Regolari permettono di creare dei Segmenti più qualitativi, come nell’esempio sotto che raccoglie le sessioni degli utenti che hanno selezionato uno Store (valore raccolto dalla dimensione personalizzata con index 25):

segmenti analytics regular expressions

f) Raggruppamento Canali

Nelle impostazioni della Vista, possiamo settare i diversi Canali. Le Espressioni Regolari facilitano il lavoro, come nell’esempio qui sotto, dove vengono raccolti i valori “l.facebook.com” e “m.facebook.com” sotto il Canale che ho chiamato “Facebook”:

raggruppamento canali analytics

Conclusioni

Le RegEx sono un aiuto fondamentale che bisogna conoscere nel mondo della web analytics per filtrare i dati velocemente e per poter impostare al meglio il proprio account di GA.

Se sei all’inizio, ti consiglio di non scoraggiarti e di partire utilizzando le espressioni regolari più semplici, come il | (pipe) oppure il ^ (caret), magari iniziando dai rapporti più semplici come la ricerca delle parole più cercate sul sito.

Che dire… sit back, relax and enjoy your RegEx!

Buone analisi!


Potrebbero interessarti anche i seguenti articoli:

Come collegare BigQuery a Google Analytics 4

Creare una nuova Proprietà in Google Analytics 4

Che cos’è il Measurement ID in GA4?

Google Analytics 4: che cos’é?

Filtro Cerca e Sostituisci in Google Analytics

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *