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_viewed → view_item_list
  • app:product_clicked → select_item

Eventos de Producto​

  • app:product_viewed → view_item
  • app:product_addedToWishlist → Sin cambio
  • app:product_removedFromWishlist → Sin cambio

Eventos de Carrito​

  • app:cartSummary_viewed → Sin cambio
  • app:cart_viewed → view_cart
  • app:product_added → add_to_cart
  • app:product_removed → remove_from_cart

Eventos de Búsqueda​

  • app:products_searched → search
  • app:searchResults_viewed → view_search_results

Eventos de Checkout​

  • app:checkout_beginCheckout → begin_checkout
  • app:checkout_addPaymentInfo → add_payment_info
  • app:checkout_addShippingInfo → add_shipping_info
  • app:purchase_success → purchase

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_calculate → freight_calculation
    • app:product_addedToWishlist → add_product_wishlist
    • app:product_viewed → product_page_view
    • app:listing_page_view → listing_page_view
    • app:products_searched → search

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)