Cómo medir Doofinder y buscadores que no usan ? en URL (con Tag Manager)

Posted by Lucía Marín on Jul 1, 2021

Cuánto tiempo sin escribir jaja esto merece un saludo: ¡feliz verano a tod@s! deseo que estéis bien :) ¡vamos a ello!

A menudo nos podemos encontrar con buscadores internos de web muy completos, basados en herramientas tipo Doofinder por ej., o programados ad hoc, muy muy completos pero con una gran pega: que no se miden automáticamente en Google Analytics porque no escriben un parámetro o querie en la URL de la página (al margen de otras complejidades que vemos también).

¿Cómo se comporta el buscador del caso que aquí veremos? Tiene al menos un par de puntos especiales para la medición, que la hacen bastante más compleja:

  1. No ponen un parámetro en la URL de la página tras hacer la consulta. Las URLs de resultados son de este estilo: https://www.anabi.online/es/#/dfclassic/query=anillos&… ///  https://www.anabi.online/es/#/dfclassic/query=abcd&…
  2. Algo también muy importante: recalculan la página y muestran resultados en vivo conforme vamos escribiendo la consulta.

¡Todo un logro medir esto bien! ¡A por ello! :D

Un par de capturas, con y sin resultados:

medir-buscador-google-analytics medir-buscador-google-tag-manager

La primera dificultad o aprendizaje de este post es aprender a resolver lo de la URL, capturar un trozo distinto a un parámetro, consulta o querie, que es lo que hace Analytics por defecto. En concreto vemos que la palabra consultada aparece en un trozo del fragment, es como una querie o parámetro, pero en lugar de llevar ? delante, lleva #, lo cual nos rompe la medición automática de Google Analytics (tanto Universal como GA4, que dependen de parámetros).

https://www.anabi.online/es/#/dfclassic/query=anillos&…

¿Cómo podemos hacer para capturar esto? queremos sacar la palabra «anillos» de ahí, limpia. La forma más limpia de hacerlo en Tag Manager, además de «sencilla» entre comillas :) es, a mi gusto, mediante una variable de GTM de tipo tabla regEx (de expresiones regulares). Lo que deseamos hacer es extraer una parte de un todo mayor  que la contiene, y para esto las expresiones regulares son perfectas.

¿De dónde la sacamos? Por ej. podríamos pensar que de la variable {{Page URL}} peeero… dicha variable no incluye el fragmento de página (lo que aparece tras la almohadilla #). Podríamos crear una variable personalizada, de tipo URL, llamada precisamente {{Page Fragment}} para recordar que recopila en fragmento. La creamos así, en Variables // Variables personalizadas o definidas por el usuario // Tipo de variable: URL // Tipo de componente: Fragmento.

variable-page-fragment-google-tag-manager

Esta variable nos va a devolver todo lo que va desde la # en adelante, es decir lo marcado en negrita abajo:

https://www.anabi.online/es/#/dfclassic/query=anillos&…

De todos modos, como lo que buscamos medir ocurre con un cambio de historial de navegación (la página cambia de contenido, ofreciendo los resultados de búsqueda, pero sin hacer una recarga completa en el navegador), es más acertado usar o partir de una variable asociada al evento Cambio de Historial, en concreto una de las por defecto: {{New History State}} o {{New History Fragment}}. Las habilitamos ambas primeramente para ver cuál funciona en este caso:

variables-cambio-historial-tag-manager

Para ver cuál usar hacemos una prueba, creando un activador de Cambio de Historial de prueba, para poder acceder a esos puntos de activación y testeo en la vista previa y ver qué variable/s se rellena/n:

activador-cambio-historial-tag-manager

Y después haciendo el proceso de búsqueda en la web con Doofinder teniendo abierta la vista previa de GTM:

vista-previa-cambio-historial

Al final vemos que nos valdría con {{New History Fragment}} y también con {{Page Fragment}}.

Y ahora nos faltaría limpiar esa parte para quedarnos solo con lo que va entre query= y &. Vamos a usar esta variable regEx table para ello:

regex-table-tag-manager-doofinder

comprobar-variable-tag-manager-buscador

vista-previa-variable-doofinder

 

Ahora tenemos otro desafío a afrontar: ¿en qué punto activar nuestra etiqueta? si nos fijamos bien, por cada letra que introducimos en el buscador, sale un punto de activación tipo «History» en el menú izquierdo de la herramienta Vista Previa de Google Tag Manager. Con lo cual, no podemos medir todos los eventos de historial, hemos de buscar otras maneras de medirlo.

Como aproximación a la solución óptima, se me ocurren al menos estas dos ideas, dos opciones para hacer una medición completa del buscador Doofinder con Google Tag Manager y Google Analytics (en sus dos versiones: GA4 y Universal).

a) Medir solo cuando se hace click en un resultado de búsqueda, el valor de la consulta buscada justo al clicar para ir a la página elegida entre los resultados. Esta sería la opción «fácil» y, además, podemos sacar también qué se clica para cada consulta. Creo que es conveniente hacerlo.

ACTIVADOR – CLICK RESULTADOS BÚSQUEDA INTERNA DOOFINDER

click-gtm-resultado-doofinder

 

ETIQUETA UNIVERSAL ANALYTICS – CLICK RESULTADOS BÚSQUEDA INTERNA DOOFINDER

click-doofinder-tag-manager-universal-analytics

ETIQUETA GA4 – CLICK RESULTADOS BÚSQUEDA INTERNA DOOFINDER

click-doofinder-tag-manager-ga4

Utilizaremos el nombre de evento y parámetro estándar de la medición mejorada de GA4 para el buscador interno (view_search_results y search_term, respectivamente). Y además, añado un evento y un parámetro personalizados (click_search_results y search_result). OJO, No olvides dar de alta dicho parámetro en GA4 (search_result) o no lo verás en informes ni Análisis/Exploraciones, al igual  que el de término de búsqueda (search_term).

dimension-personalizada-ga4-termino-busqueda-interna dimension-personalizada-ga4-resultado-busqueda-interna

b) Opcionalmente: También medir cuando pasan X milisegundos de mostrar unos resultados concretos. Esto sería más avanzado pues se trata de medir la impresión de resultados de búsqueda en pantalla. Yo por ej. voy a empezar con 3 segundos de visibilidad en pantalla:

ACTIVADOR VER RESULTADOS DOOFINDER EN TAG MANAGER (3 segundos)

busqueda-doofinder-tag-manager-ver-resultados

ETIQUETA UNIVERSAL ANALYTICS – VER RESULTADOS BÚSQUEDA INTERNA DOOFINDER

busqueda-doofinder-tag-manager-universal-analytics

ETIQUETA GA4 – VER RESULTADOS BÚSQUEDA INTERNA DOOFINDER

busqueda-doofinder-tag-manager-ga4

Necesitamos esta variable para rescatar el primer resultado mostrado:

tag-manager-doofinder-1er-resultado-visto

Si quieres aprender a hacer por ti mism@ este tipo de soluciones avanzadas, te animo a hacer mi curso online avanzado de Google Tag Manager, Analytics y conversiones. Contarás con unos apuntes súper completos en PDF, ejercicios, sitio de pruebas, mi ayuda personalizada para aprender durante 3 meses (soporte por email o foro), más actualizaciones de los apuntes durante un año.

Gracias a la clienta anabi.online por dejarme mostrar su caso en este post :)

Sobre mí