C贸mo Integrar Google Analytics 4 en una Aplicaci贸n Next.js

Julio Quintana
Julio Quintana
Posted underBlog

Introducci贸n

Google Analytics 4 (GA4) es la 煤ltima versi贸n de la herramienta de an谩lisis web de Google. Ofrece una serie de mejoras y nuevas caracter铆sticas sobre Universal Analytics. En este post, te mostrar茅 c贸mo integrar GA4 en una aplicaci贸n Next.js para que puedas empezar a medir el tr谩fico y el comportamiento de los usuarios en tu sitio web.

Pasos para la Integraci贸n

1. Configurar Google Analytics 4

Primero, necesitas configurar una cuenta de Google Analytics 4 si a煤n no lo has hecho.

  1. Ve a Google Analytics.
  2. Crea una nueva propiedad GA4 y obt茅n tu ID de medici贸n (formato: G-XXXXXXXXXX).

2. Configurar Next.js

A continuaci贸n, integra GA4 en tu aplicaci贸n Next.js.

A帽adir Variables de Entorno

Aseg煤rate de que tu ID de medici贸n est茅 almacenado en una variable de entorno. Puedes hacer esto agregando una variable en tu archivo .env.local:

GA_TRACKING_ID=G-XXXXXXXXXX
Modificar next.config.js

A帽ade la variable de entorno a la configuraci贸n de Next.js:

// next.config.js
module.exports = {
reactStrictMode: true,
env: {
GA_TRACKING_ID: process.env.GA_TRACKING_ID,
},
};
Crear el Script de Google Analytics

Modifica tu archivo _document.tsx para incluir el script de GA4:

// pages/_document.tsx
import Document, { Html, Head, Main, NextScript } from 'next/document';

class MyDocument extends Document {
render() {
return (
<Html>
<Head>
<link
href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap"
rel="stylesheet"
/>
<meta name="google-site-verification" content="S5LcVHc201QJKtQlaNvkg4VGzGC6JoyYjHzE_zzHr1I" />
<script async src={`https://www.googletagmanager.com/gtag/js?id=${process.env.GA_TRACKING_ID}`}></script>
<script
dangerouslySetInnerHTML={{
__html: `
window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${process.env.GA_TRACKING_ID}');
`,
}}
/>
<link rel="icon" href="https://blog.jqemprendedorve.com/wp-content/uploads/2023/08/cropped-logo.png" />
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}

export default MyDocument;
Extender la Interfaz Window

Crea un archivo global.d.ts en el directorio types para extender la interfaz Window y evitar errores de TypeScript:

// types/global.d.ts
export { };

declare global {
interface Window {
dataLayer?: Record<string, any>[];
GA_INITIALIZED?: boolean;
}
}
Modificar _app.tsx para el Manejo de Rutas

Aseg煤rate de que GA4 registre las vistas de p谩gina correctamente:

// pages/_app.tsx
import { AppProps } from 'next/app';
import { useRouter } from 'next/router';
import { useEffect } from 'react';
import '../styles/globals.css';
import { initGA, logPageView } from '../lib/ga';

function MyApp({ Component, pageProps }: AppProps) {
const router = useRouter();

useEffect(() => {
if (!window.GA_INITIALIZED) {
initGA();
window.GA_INITIALIZED = true;
}

const handleRouteChange = () => {
if (document.startViewTransition) {
document.startViewTransition(() => Promise.resolve());
}
logPageView();
};

router.events.on('routeChangeStart', handleRouteChange);
return () => {
router.events.off('routeChangeStart', handleRouteChange);
};
}, [router]);

return <Component {...pageProps} />;
}

export default MyApp;

Conclusi贸n

Integrar Google Analytics 4 en tu aplicaci贸n Next.js es un proceso sencillo que te permitir谩 obtener valiosa informaci贸n sobre el comportamiento de los usuarios en tu sitio web. Siguiendo los pasos descritos en este post, podr谩s configurar GA4 y empezar a recopilar datos de manera eficiente.

Espero que este post te haya sido 煤til.

Deja un comentario


Mas historias

C贸mo Optimizar tu Sitio Web para los Core Web Vitals en 2024: LCP, INP y CLS

Introducci贸n Los Core Web Vitals son un conjunto de m茅tricas desarrolladas por Google para evaluar la experiencia de usuario en la web. Estas m茅tricas son esenciales para el […]

Julio Quintana
Julio Quintana

Mejorando la Experiencia de Usuario en Next.js con la API Nativa de Transiciones de Vista

Introducci贸n Una de las claves para una buena experiencia de usuario en aplicaciones web es la suavidad en las transiciones entre p谩ginas. Con la nueva API nativa de […]

Julio Quintana
Julio Quintana