Saltar al contenido principal

Plugins de Analytics

La implementación de analytics utiliza varios plugins para procesar y enviar datos a diferentes plataformas.

Plugins de desarrollo

Estos plugins solo se cargan en entornos de desarrollo o preview:

genericPlugin

Proporciona información de depuración en la consola.

const genericPlugin = name => ({
name,
page: ({ payload }) => {
logger.debug(`[ANALYTICS-${name.toUpperCase()}] - DEBUG ONLY: getAnalytics:page`, payload)
},
track: ({ payload }) => {
logger.debug(`[ANALYTICS-${name.toUpperCase()}] - DEBUG ONLY: getAnalytics:track`, payload)
},
identify: ({ payload }) => {
logger.debug(`[ANALYTICS-${name.toUpperCase()}] - DEBUG ONLY: getAnalytics:identify`, payload)
}
})

customPlugin

Plugin para depuración de datos de campaña.

const customPlugin = {
name: 'save-campaign-data',
campaign: ({ payload }) => {
console.log('utm data', payload.campaign)
}
}

Plugins de producción

Estos plugins se cargan solo en entornos de producción:

googleAnalyticsEnricherPlugin

Modifica la estructura de los eventos antes de enviarlos a Google Analytics para que cumplan con el formato esperado de GA4.

googleAnalytics

Envía datos a Google Analytics.

googleTagManager

Envía datos a Google Tag Manager.

insiderPlugin

Envía datos a Insider para personalización y marketing.

plausiblePlugin

Envía datos a Plausible Analytics para análisis de tráfico web.

Plugins en todos los entornos

originalSrcPlugin

Rastreo de fuente original del usuario.

Plugins Personalizados

Estos plugins modifican la información de los eventos antes de enviarlos a sus respectivos servidores.

googleAnalyticsEnricherPlugin

Este plugin transforma eventos con formato Segment en formato GA4 compatible.

Transformaciones principales:

Eventos de Lista de Productos

  • app:productList_viewedview_item_list
  • app:product_clickedselect_item

Eventos de Producto

  • app:product_viewedview_item
  • app:product_addedToWishlist → Sin cambio
  • app:product_removedFromWishlist → Sin cambio

Eventos de Carrito

  • app:cartSummary_viewed → Sin cambio
  • app:cart_viewedview_cart
  • app:product_addedadd_to_cart
  • app:product_removedremove_from_cart

Eventos de Búsqueda

  • app:products_searchedsearch
  • app:searchResults_viewedview_search_results

Eventos de Checkout

  • app:checkout_beginCheckoutbegin_checkout
  • app:checkout_addPaymentInfoadd_payment_info
  • app:checkout_addShippingInfoadd_shipping_info
  • app:purchase_successpurchase

insiderPlugin

Este plugin envía datos a Insider para personalización y marketing.

Eventos enviados a Insider:

  • Page Events:

    • page (para todo tipo de páginas)
    • Configuraciones especiales para páginas tipo Product y Category
  • Track Events:

    • app:estimateShipping_calculatefreight_calculation
    • app:product_addedToWishlistadd_product_wishlist
    • app:product_viewedproduct_page_view
    • app:listing_page_viewlisting_page_view
    • app:products_searchedsearch

Transformación de datos:

Utiliza segmentToInsiderSchema para transformar datos de formato Segment a formato Insider.

plausiblePlugin

Este plugin envía datos a Plausible Analytics para análisis de tráfico web.

Funcionalidad:

  • Captura eventos de página (pageview)
  • Captura eventos personalizados (todos los eventos de track)
  • Aplana objetos complejos para adaptarse a las limitaciones de Plausible
  • Limita el tamaño de las claves (50 bytes) y valores (500 bytes)