expressões regulares - GA

Geralmente conhecidas por estudantes de computação (e outras áreas de exatas), as expressões regulares consistem em uma maneira de representar um padrão de caracteres. Apesar de ser mais utilizada por programadores, elas podem ser muito úteis para auxiliar na segmentação e análise de dados obtidos através do Google Analytics.

Por exemplo, uma segmentação muito útil é a do tráfego dos usuários que chegam ao site através de keywords relacionadas a marca versus keywords não relacionadas. Supondo o site “fabianemlima.com”, algumas possíveis variações:

  • fabiane lima
  • fabiany lima
  • fabiani lima
  • fabilima

Ao invés de filtrar o tráfego pelas keywords que podem conter um dos termos listados acima, o que resultaria em um filtro semelhante a:

  • ‘fabiane|fabiany|fabiani|fabi’

poderíamos utilizar o fato de que todas as keywords relacionadas a marca “fabianemlima.com” começam com o radical ‘fab’. O que resultaria em uma expressão regular com a seguinte configuração:

  • fab.*

Onde os caracteres ‘.*’ representam qualquer conjunto de caracteres (vale ressaltar que o ‘.’ em si significa qualquer caracter – letras, números, espaços, caracteres especiais. Já o ‘*’ indica repetição de 0 ou mais vezes do caracter anterior).

O que é muito mais simples, não é mesmo?

Ainda neste exemplo, podemos supor que o site “fabianemlima.com” possui keywords relacionadas a marca com o mesmo radical “fab” (por exemplo, uma long tail com a palavra “fabricação”). Esse fato pode ‘estragar’ a nossa expressão para keywords relacionadas a marca, pois além das keywords relacionadas a marca, nossa expressão vai pegar também as long tails (ou short tails) que contém alguma palavra com o mesmo radical.

Para contornar essa situação, podemos deixar nossa expressão um pouco mais esperta:

  • fabi(an.)?

Essa expressão regular vai pegar conjuntos que contém uma palavra que comecem com “fabi”, e podem ou não terminar com cadeias que comecem com “an” e tenham três caracteres. Ou seja, com essa expressão conseguimos filtrar todas as expressões listadas pela marca em questão, mas não expressões que contenham “fabricação” ou outra palavra com o radical fab.

Mas será mesmo que essas expressões citadas acima funcionam?


Testando Expressões Regulares

Uma das maneiras de testar essas expressões é através do uso do RegexPal, uma ferramenta online e gratuita bem interessante para realizar esses testes. A segunda, e mais segura, é utilizar o próprio Google Analytics. Primeiramente, vamos utilizar a RegexPal.

Supondo a lista de keywords de entrada:

lista de keywords

A expressão regular dada no início desse artigo, ‘fabiane|fabiany|fabiani|fabi’, significa: pegue os termos que contém “fabiane”, ou “fabiany”, ou “fabiani” ou, ainda, “fabi”. Fazendo o teste na regexpal, temos o seguinte resultado:

teste da primeira expressao

Onde podemos notar que todas as expressões de entrada, em algum ponto, foram “pegas” pela expressão. Mas, qual parte da expressão regular foi responsável por qual match nas expressões de entrada?

Podemos notar que:

  • “fabiane” foi responsável pelos matches das linhas 1 e 5;
  • “fabiany” foi responsável pelo match da linha 2;
  • “fabiani” foi responsável pelo match da linha 3;
  • “fabi” foi responsável pelos matches das linhas 4, 6 e 7;

matches

Testando a segunda expressão (“fab.*”) na mesma lista de expressões, obtemos:

teste da segunda expressao

Onde é possível notar que a expressão regular “pegou” todas as expressões da lista. Entretanto, se aumentarmos essa lista com termos com o radical “fab” temos o seguinte resultado:

teste da terceira expressao

Onde podemos notar que as expressões “fabricação”, “fab – força aérea brasileira” e “fab concursos” também representaram match para a nossa expressão. O que não é uma situação ideal no nosso caso.

A terceira expressão de utilizamos na introdução do artigo foi “fabi(an.)?”. Utilizando essa expressão na lista atual de keywords, temos o seguinte resultado:

teste da quarta expressao

Onde podemos notar que as expressões com radical “fab” e não relacionadas a “fabianemlima.com” não representaram matches para a expressão regular.

A principal vantagem de utilizar o RegexPal para testes é que essa ferramenta é mais rápida que o Google Analytics – enquanto no RegexPal você pode obter os resultados dos testes enquanto digita a expressão regular, no GA é necessário aplicar filtros em todos os dados do período selecionado – o que leva algum tempo de processamento.

Outro ponto importante ao utilizar a RegexPal é que é necessário utilizar um bom conjunto de amostras, conforme a finalidade da expressão. Por exemplo, se você vai fazer uma expressão para pegar keywords relacionadas a sua marca, é necessário usar como amostras tanto keywords relacionadas a sua marca como keywords não relacionadas.


Sintaxe das Expressões Regulares

Abaixo, segue uma tabela com os principais elementos da sintaxe das expressões regulares aceitas nos relatórios do Google Analytics, juntamente com seus respectivos significados e exemplo de aplicação.

.Quando o ponto é utilizado, ele pode significar qualquer caracter (letra, número ou símbolo)

Por exemplo, a expressão mestre.seo pode significar ‘mestre seo’, ‘mestre5seo’, etc

*Significa de 0 a mais repetições do caracter anterior

Por exemplo, mestre*seo pode significar ‘mestreseo’, ‘mestreeseo’, ‘mestreeeseo’, mas não ‘mestre seo’ ou ‘mestreaseo’

+Implica na repetição do caracter anterior, pelo menos uma vez.

Por exemplo, mestre+seo pode significar ‘mestreeseo’, ‘mestreeeseo’, … , mas nunca ‘mestreseo’ ou ‘mestre seo’

?Significa que o caracter anterior pode ou não aparecer

Exemplo, mestre?seo pode significar tanto ‘mestreseo’ quanto ‘mestrseo’

|Significa OU.

Exemplo: a|b pode significar tanto ‘a’ quanto ‘b’. (mestre)|(seo) pode significar tanto ‘mestre’ quanto ‘seo’

^Significa que o termo em questão está no começo da expressão.

Exemplo: ˆmestre pode significar mestreseo, mas não seomestre

$Significa que o termo em questão está o final da expressão.

Exemplo: mestre$ pode significar seomestre, mas não mestreseo

()É usado para criar um item.

Por exemplo, (m|M)estre(seo|SEO) pode significar tanto Agência Mestre, mestreSEO, mestreseo ou Mestreseo – mas não mestre seo

[]São utilizados para criar uma lista de itens.

Por exemplo, [abc] cria uma lista com esses três termos. Ao utilizar esse recurso, é possível encontrar tanto a, b ou c

Cria intervalo na lista criada por [].

Por exemplo, [a-e], cria uma lista das letras do alfabeto compreendidos entre ‘a’ e ‘e’ (ou seja, a,b,c,d ou e). Assim como de [A-Z] monta uma lista com as letras maiúsculas.

\“Escapa” um caracter para que o mesmo seja utilizado com seu significado original e não como regex.

Por exemplo, mestreseo\.com\.br vai significar mestreseo.com.br e não mestreseo<com<br

\dTem a mesma funcionalidade que [0-9]

Exemplo: 1\d vai segmentar todos os números compreendidos de 10 a 19.

\sSignica um espaço em branco

Exemplo: Mestre\sseo significa ‘Mestre seo’ mas não ‘Mestreseo’

\SSignica qualquer caracter que não seja um espaço em branco.

Exemplo: Mestre\Sseo significa ‘Mestre.seo’, ‘Mestre8seo’, ‘Mestre_seo’ mas não ‘Mestre seo’

\wSignifica qualquer letra ou número, letra ou underline

Exemplo: Mestre\wseo significa ‘Mestre9seo’, ‘mestreeseo’ ou ainda ‘mestre_seo’, mas não ‘mestre-seo’ ou ainda ‘mestre%seo’

Vale lembrar que grande parte dessa lista pode ser obtida na resposta para a pergunta “o que são expressões regulares” no fórum do GA.


Conclusão

Quando o assunto é segmentação de dados, as expressões regulares consistem em um recurso muito versátil – através delas é possível não somente segmentar o tráfego por grupos de keywords, mas também por grupos de páginas do próprio site ou de sites de referência, bastando apenas configurar corretamente uma expressão que corresponda ao padrão que você precisa segmentar. Nos próximos artigos, vamos passar exemplos práticos de como utilizar as expressões regulares no Google Analytics, tanto nos relatórios de keywords como em relatórios de outros tipos de dados.

Ficou alguma dúvida sobre a sintaxe das expressões regulares ou gostaria de fazer uma sugestão ou observação? Fique à vontade e deixe seu comentário.