Utility GO! Web utils
npm install @widergy/web-utilsSe utiliza desde Frontend Web, mediante Google Analytics 4, para recoger datos de los sitios web y comprender mejor el recorrido del cliente.
#### - initializeGA(analyticsTrackingId, options)
Se encarga de inicializar analytics.
- analyticsTrackingId: Google Analytics Tracking ID.
- options: Objeto de configuración custom para Analytics.
- En caso de querer un tracker, se debe indicar acá:
``js`
{ gaOptions: { name: ANALYTICS_TRACKER }, alwaysSendToDefaultTracker: false }
- En caso de no recibir options, se usará como default`
js`
{ titleCase: false }
sendGAEvent(category, action, label, value)
#### -
Se utiliza para enviar eventos.
- category: Categoría del evento.action
- : Acción del evento.label
- : Label del evento. value
- : Valor del evento.
Por ejemplo, si se quiere enviar un evento sobre una recarga prepaga exitosa:
`js`
sendGAEvent('Cobranzas', 'Generación de carga prepago', 'WDRG | Valor agregado | -OK- |', '1850')
#### - sendGAPageView(pathname)
Se utiliza para trackear cambios de página.
- pathname: URL de la página a trackear.
Ejemplo:
`js`
sendGAPageView(ROUTES.BALANCE_TO_PAY);
#### - setGAUserId(userId)
Se utiliza para setear el id de usuario.
- userId: ID del usuario
Ejemplo:
`js`
setGAUserId(getState().user.currentUser.id);
#### - createMiddleware(eventDataDefinition)
Se utiliza para crear un middleware que intercepte acciones de redux y envíe eventos de analytics.
- eventDataDefinition debe ser un diccionario de tipo de acción - función.
`js`
const eventDataDefinition = {
actionType: function
}
Por ejemplo:
`js`
const eventDataDefinition = {
[paymentActions.PREPAID_PAYMENT_REQUEST_FAILURE]: prepaidPaymentRequestFailure
}
Cada uno de estas funciones, al ejecutarse, debe devolver los valores a usar en el trackeo de eventos.
`js`
const function = action => ({
category,
action,
label,
value
});
Por ejemplo:
`js${labels.GENERACION_DE_PAGO_ERROR} ${action.payload}
const prepaidPaymentRequestFailure = action => ({
category: categories.COBRANZAS,
action: actions.GENERACION_DE_CARGA_PREPAGO_ERRONEA,
label: ,``
value: Math.round(action.totalAmount)
});