Saltar al contenido principal

Guía de Implementación de Analytics

Esta guía explica cómo implementar analytics en nuevas funcionalidades.

Hook useAnalytics

Para poder comenzar a enviar eventos en cualquier componente, basta con usar el hooke mencionado:

const analytics = useAnalytics();

Una vez tengamos la variable analytics ya podemos comenzar a enviar eventos.

Rastreo de páginas

Para rastrear vistas de página, usa el método analytics.page():

// Para una página de inicio
analytics.page({ pageType: "Home" });

// Para una página de producto
analytics.page({
pageType: "Product",
product: productData
});

// Para una página de categoría
analytics.page({
pageType: "Category",
products: productsData
});

Rastreo de eventos

Para rastrear eventos específicos, usa el método analytics.track():

// Para rastrear cuando un usuario ve un producto
analytics.track('app:product_viewed', hitToSegmentSchema(productData));

// Para rastrear cuando un usuario agrega un producto al carrito
analytics.track('app:product_added', productData);

// Para rastrear cuando un usuario realiza una búsqueda
analytics.track('app:products_searched', { query: searchQuery });

Identificación de usuarios

Para identificar a un usuario, usa el método analytics.identify():

// Identificar a un usuario anónimo
analytics.identify(anonymousId);

// Identificar a un usuario registrado
analytics.identify(userId, {
email: userEmail,
name: userName
});

Transformaciones de datos

Para transformar los datos antes de enviarlos, utiliza las funciones auxiliares:

// Transformar datos de Algolia a formato Segment
const segmentData = hitToSegmentSchema(algoliaHit);

// Transformar datos de Segment a formato GA4
const ga4Data = segmentToGA4Schema(segmentData);

// Transformar datos de Segment a formato Insider
const insiderData = segmentToInsiderSchema(segmentData);

// Transformar datos de Magento a formato Segment
const segmentData = magentoToSegmentSchema(magentoItem);

Opciones avanzadas

Puedes personalizar qué plugins procesan un evento específico:

// Enviar a todos los plugins excepto Google Tag Manager
analytics.page(data, {
plugins: {
all: true,
'google-tag-manager': false
}
});

// Enviar solo a plugins específicos
analytics.track('evento', data, {
plugins: {
all: false,
'google-analytics': true,
'plausible': true
}
});