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_listapp:product_clicked→select_item
Eventos de Producto
app:product_viewed→view_itemapp:product_addedToWishlist→ Sin cambioapp:product_removedFromWishlist→ Sin cambio
Eventos de Carrito
app:cartSummary_viewed→ Sin cambioapp:cart_viewed→view_cartapp:product_added→add_to_cartapp:product_removed→remove_from_cart
Eventos de Búsqueda
app:products_searched→searchapp:searchResults_viewed→view_search_results
Eventos de Checkout
app:checkout_beginCheckout→begin_checkoutapp:checkout_addPaymentInfo→add_payment_infoapp:checkout_addShippingInfo→add_shipping_infoapp: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
ProductyCategory
-
Track Events:
app:estimateShipping_calculate→freight_calculationapp:product_addedToWishlist→add_product_wishlistapp:product_viewed→product_page_viewapp:listing_page_view→listing_page_viewapp: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)