Search
Para el seguimiento de búsquedas, se deben enviar eventos en tres momentos clave: cuando el usuario realiza una búsqueda, cuando se muestran los resultados y cuando interactúa con ellos.
1. Búsqueda realizada
Cuando el usuario ejecuta una búsqueda, se debe enviar el evento search, incluyendo:
search_term: término buscadosearch_results_count: cantidad de resultados obtenidossearch_type: tipo de búsquedasearch_id: identificador de la búsquedaoccasion_search: indicador de búsqueda por ocasión (si aplica)
Opciones de envío:
SDK de Gopersonal:
trackGopersonalSearch(query, resultsCount, searchType, searchId, occasionSearch)
SDK de Search (embeded): Se envía automaticamente si analytics habilitado.

Si gtag disponible en el sitio usar gtagFunction, si gtag no disponible usar dataLayer. En caso de que sea algo custom usar customDataLayerFunction donde recibirá los valores
y deberá transformar al formato esperado y hacer dataLayer.push(parsedObject).
2. Visualización de resultados
Cuando se muestran los resultados de búsqueda, se debe enviar el evento view_item_list, incluyendo:
item_list_name:'Gopersonal - Search Results'items: listado de productos mostrados (formateados para GA4)
Opciones de envío:
SDK de Gopersonal:
trackGopersonalSearchResults(products)
SDK de Search (embeded): Se envía automaticamente si analytics habilitado.

Si gtag disponible en el sitio usar gtagFunction, si gtag no disponible usar dataLayer. En caso de que sea algo custom usar customDataLayerFunction donde recibirá los valores
y deberá transformar al formato esperado y hacer dataLayer.push(parsedObject). OBS: products ya cuenta con el formato esperado por GA4.
3. Click en un resultado
Cuando el usuario hace click en un producto desde los resultados de búsqueda, se debe enviar el evento select_item, incluyendo:
item_list_name:'Gopersonal - Search Results'items: producto seleccionado (formateado para GA4)
SDK de Gopersonal:
trackGopersonalSearchResultClick(product)
SDK de Search (embeded): Se envía automaticamente si analytics habilitado.

Si gtag disponible en el sitio usar gtagFunction, si gtag no disponible usar dataLayer. En caso de que sea algo custom usar customDataLayerFunction donde recibirá los valores
y deberá transformar al formato esperado y hacer dataLayer.push(parsedObject). OBS: product ya cuenta con el formato esperado por GA4.
Verificación
Es posible verificar que los eventos se estén enviando correctamente desde la consola del navegador, inspeccionando el objeto dataLayer.

IMPORTANTE:
Pueden existir implementaciones personalizadas de GA4. En estos casos, aunque los eventos aparezcan en dataLayer, es posible que no se envíen correctamente a GA4.
Como parte de la verificación se debe corroborar que los eventos se envían de igual manera que los otros eventos en el sitio.
Si los eventos difieren se debe enviar usando customDataLayerFunction en caso de embeded o a través del sdk de Gopersonal usando trackGopersonalToDataLayer.

OBS: Al usar trackGopersonalToDataLayer es necesario usar la función parseItemsForGA4 para llevar a un formato esperado por GA4.
Last updated