Escrito por Jose Vicente
Los que no tengan conocimientos técnicos seguramente no estén familiarizados con el uso de expresiones regulares. Para los que no las conozcan, las expresiones regulares son secuencias de caracteres que forman patrones de búsqueda. Estos patrones de búsqueda resultan útiles en muchas secciones de Google Analytics ya que nos permiten que una determinada funcionalidad se ejecute en un gran número de escenarios sin tener que listar o conocer cada uno de ellos.
Las expresiones regulares son secuencias de caracteres que forman patrones de búsqueda
Pongamos como ejemplo que queremos listar en una tabla de Analytics URLs de productos que empiecen por directorios como:
- /producto/zapatos/mujer/botas/
- /producto/zapatos/hombre/botas/
- /producto/zapatos/niño/botas/
Una expresión regular o patrón de búsqueda como “/botas/” se cumpliría en los tres casos (ya que las tres URL contienen el literal «/botas/»), pero imaginemos que tenemos otras URLs como por ejemplo “/blog/botas/” que también cumplirían esta condición y no queremos que aparezca en nuestra tabla de datos. Debemos por lo tanto acotar más la búsqueda o detallar más la expresión regular para que devuelva como resultado las URLs que nos interesan. Podríamos hacerlo por ejemplo con la expresión regular “^/producto/zapatos/(.+)/botas/”. Entendemos la expresión regular de la siguiente forma:
- El acento circunflejo ^ determina que la cadena debe empezar por el literal que lo sigue, en este caso “/producto/zapatos/”.
- La parte de (.+) estaría permitiendo que hubiera un directorio con cualquier cadena ya que el punto es interpretado como “cualquier carácter” y el símbolo de la suma que debe estar repetido 1 o más veces.
- La cadena podría continuar con el literal “/botas/” y tras este cualquier cadena ya que no hemos puesto un limitador de fin de cadena, que en las expresiones regulares lo determina el símbolo del dólar $.
En resumen, esta expresión regular nos devolvería los datos de páginas del directorio botas que estén dentro de cualquier directorio que empiece por /producto/zapatos/.
Si queréis más información sobre expresiones regulares, hay innumerables tutoriales que os ayudarán a entenderlas y en muchos casos a probarlas, aunque hay funcionalidades en Analytics como los filtros en las tablas que os permitirán probarlas en tiempo real.
- Documentación sobre expresiones regulares de Google Analytics
- Expresiones regulares en la Wikipedia
- Manual sobre expresiones regulares de Desarrollo Web
Expresiones regulares en filtros de vistas de tráfico
Los filtros nos permiten realizar ciertas acciones sobre los datos registrados por una vista de tráfico. Aunque los filtros predefinidos nos permiten seleccionar seleccionar algunos tipos de comparación de forma sencilla, hay casos en los que deberemos recurrir obligatoriamente a expresiones regulares.
Pongamos por ejemplo un sitio web en el que disponemos del contenido en castellano en el directorio /es/, un blog en castellano en el directorio /blog/, el contenido traducido al inglés en el directorio /en/ y el contenido traducido al francés en el directorio /fr/.
Y queremos obtener en una vista todo el tráfico del contenido en castellano (página home + directorio /es/ + /blog/). Si creamos un filtro que permita el contenido de la página home.
Otro que nos permita el tráfico a los directorios que empiecen por /es/.
Y otro equivalente para el directorio /blog/.
Si tenemos los tres filtros en este orden el resultado será el tráfico de la página home, esto es debido al orden de aplicación de los filtros. En este caso solo la página home cumplirá el primer filtro y el resto de página será descartadas.
Otra posibilidad sería la de excluir los directorios /en/ y el directorio /fr/, y de este modo nos quedaría solo el tráfico de las partes en castellano. Pero corremos el peligro de que se registre el tráfico de partes que no tengamos controladas o de nuevos directorios que se crean sin caer en la cuenta de que hay que revisar la analítica.
Por lo que la solución más elegante a este problema pasa por usar una expresión regular. La forma de darle solución sería con una expresión regular que permita el tráfico de la página home, o del directorio /blog/, o del contenido en castellano /es/.
Como se puede ver en la captura, tendríamos que usar un filtro personalizado que incluirá la visita a las páginas cuya URI cumplan con la expresión regular (^/$)|(^/es/)|(^/blog/). Esta expresión regular permite las 3 opciones separadas por la barra “|”, esta barra sirve para separar las distintas opciones:
- (^/$): la de la home, la URI debe empezar (símbolo ^) y acabar (símbolo $) por una barra /.
- (^/es/): el directorio /es/, la URI debe empezar (símbolo ^) por el directorio /es/.
- (^/blog/): el directorio /blog/, la URI debe empezar (símbolo ^) por el directorio /blog/.
Con esta solución, aunque cambie el contenido del resto del sitio, solo registraremos el tráfico de estos 3 tipos de URI.
Expresiones regulares en filtros de tablas de los informes
En los filtros de las tablas de los informes tenemos un problema parecido al de los filtros para las vistas de tráfico. En este caso solo se permite el uso del operador lógico “y” para definir condiciones que cumplan todas las reglas.
Si quisiéramos, siguiendo con el ejemplo anterior, definir filtros que muestren datos de las páginas cuya URL coincide con /, empieza por /es/ o empieza por /blog/ no podríamos hacerlo sin recurrir a una expresión regular. Ya que si probamos a incluir las tres opciones con el operador lógico disponible “y”, el resultado sería una tabla de datos vacía porque ninguna URL coincide exactamente con /, empieza por /es/ y por /blog/ simultáneamente.
En este caso la solución sería la misma expresión regular ya vista.
En los filtros de los informes personalizados nos encontramos con el mismo problema, solo nos permite seleccionar el operador lógico “y”. Además solo disponemos de los comparadores “Exacta” y “Expresión regular”, por lo tanto desaparecen opciones como “Contiene” o “Empieza por” y nos obliga a conocer el uso de las expresiones regulares si queremos configurar un filtro medianamente avanzado.
Segmentos avanzados
En los segmentos avanzados no tendríamos el mismo problema para solucionar la consulta planteada como ejemplo porque disponemos del operador “o” (u “o bien” como lo llaman en GA). Luego podríamos solucionarlo con la configuración que podemos ver en la siguiente captura.
Pero hay otras opciones de la configuración de nuestra cuenta de GA en la que podremos hacer uso de las expresiones regulares como la definición de objetivos o de agrupaciones de contenido.
Las expresiones regulares son una herramienta básica que debe conocer cualquier analista.
Como habéis podido ver en los ejemplos expuestos en este artículo, conocer el funcionamiento de estos patrones de búsqueda nos facilita en algunos casos la configuración de ciertas consultas y en otros casos son la única forma de poder hacerlas de forma correcta. Por lo que las expresiones regulares son una herramienta básica que debe conocer cualquier analista.
¿¿¿ Cómo hago para generar una vista con solamente los home de secciones de mis sitios, es decir, ver el detalle de /belleza, /salud, /tecnologia, etc, y que no se muestren los sitios especificios, ej: /tecnologia/iphone-7-plus ???
Hola Victor,
Para las tres URLs que indicas la expresión regular sería algo así ^/belleza$|^/salud$|^/tecnologia$
Con el símbolo ^ y $ estaríamos indicando el comienzo y final de la URL respectivamente y con el símbolo | las distintas home de sección. Espero que te sirva de ayuda.
Un saludo.
Muy buen artículo,me gusto mucho!!!!!!
Me gustaría hacerte una cuestión sobre lo escrito porque el otro día profundizando en el tema de filtros(tema peligroso:) ) me surgió una situación que era que si podría aplicar los siguiente filtro en una vista
1. Excluir tráfico directo que además sea de país en concreto y además que sea de una región en concreto
Lo intente con filtros personalizados y las opciones avanzadas pero no lo terminado de conseguir
Seria buen tema para hablar, filtros con varias condiciones(aunque cuando empiezas a jugar con condiciones GA te pone restricciones. Estas restricciones no pasa con segmentos avanzados)
Gracias
Para probar que coincidan las expresiones regulares con una cadena de texto recomiendo esta herramienta
http://www.contadordecaracteres.info/prueba-expresiones-regulares.html