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
}
});