Google Analytics

Integra el seguimiento de Google Analytics con Drupal añadiendo automáticamente el código de seguimiento JavaScript gtag.js a cada página.

google_analytics
150,122 sites
143
drupal.org

Install

Drupal 11, 10, 9, 8 v4.0.3
composer require 'drupal/google_analytics:^4.0'

Overview

El módulo Google Analytics añade un seguimiento completo de estadísticas web a tu sitio Drupal mediante la integración con Google Analytics (GA4 y Universal Analytics). Añade automáticamente el código de seguimiento JavaScript requerido a cada página, permitiendo un análisis detallado del tráfico, seguimiento del comportamiento de usuarios y medición de la efectividad del marketing.

El módulo soporta múltiples cuentas de Google Analytics (propiedades GA4 G-, Universal Analytics UA-, Google Ads AW- y etiquetas DoubleClick DC-) con ajustes de visibilidad configurables basados en páginas, roles de usuario y preferencias individuales de usuario. Proporciona amplias opciones de seguimiento incluyendo enlaces salientes, enlaces mailto/tel, descargas de archivos, fragmentos de URL, búsqueda interna del sitio y mensajes de estado de Drupal.

Las características avanzadas incluyen soporte para dimensiones y métricas personalizadas con integración de tokens, seguimiento entre dominios, caché local de JavaScript para mejor rendimiento, seguimiento de ID de usuario con hash compatible con privacidad, y una arquitectura basada en eventos que permite a otros módulos extender la funcionalidad de seguimiento.

Features

  • Soporte para múltiples cuentas de Google Analytics (GA4 G-, Universal Analytics UA-, Google Ads AW-, DoubleClick DC-) con ordenamiento mediante arrastrar y soltar
  • Visibilidad de seguimiento basada en páginas con patrones de ruta y comodines para incluir o excluir páginas específicas
  • Control de seguimiento basado en roles para rastrear o excluir roles de usuario específicos
  • Preferencias de seguimiento de aceptación/rechazo por usuario en su página de cuenta
  • Seguimiento de clics en enlaces salientes a sitios web externos
  • Seguimiento de clics en enlaces mailto y teléfono (tel:)
  • Seguimiento de descarga de archivos con extensiones configurables (más de 50 extensiones por defecto)
  • Seguimiento de fragmentos de URL como vistas de página separadas para aplicaciones de página única
  • Integración de seguimiento de contenido en diálogos modales Colorbox
  • Soporte de atribución de enlaces mejorada para análisis en página
  • Seguimiento de búsqueda interna del sitio con reporte de cantidad de resultados
  • Seguimiento de mensajes de estado, advertencia y error de Drupal como eventos
  • Dimensiones y métricas personalizadas con soporte de tokens de Drupal
  • Fragmentos de código JavaScript personalizados (antes y después de la configuración gtag)
  • Seguimiento entre dominios para múltiples dominios de nivel superior
  • Anonimización de IP compatible con privacidad (para Universal Analytics)
  • Caché local de JavaScript con actualizaciones automáticas diarias
  • Seguimiento de ID de usuario con hash criptográfico para cumplimiento de privacidad
  • Integración de seguimiento de anuncios AdSense
  • Funciones de publicidad display (Remarketing, Demografía, Informes de intereses)
  • Seguimiento de conjuntos de traducción como unidades únicas
  • Modo de depuración con registro detallado en consola
  • Soporte de migración desde Drupal 6 y 7
  • Arquitectura basada en eventos para extensibilidad por otros módulos

Use Cases

Análisis básico de tráfico del sitio web

Instala el módulo, ingresa tu ID de propiedad GA4 (G-xxxxxxxx) y comienza a recopilar datos de visitantes de inmediato. La configuración predeterminada rastrea todas las páginas excepto las rutas de administración, con anonimización de IP habilitada para cumplir con la privacidad. Visualiza las fuentes de tráfico, el comportamiento del usuario y la popularidad de las páginas en Google Analytics.

Seguimiento de descargas de comercio electrónico

Habilita el seguimiento de descargas de archivos para monitorear qué documentos, PDFs, software o archivos multimedia descargan los usuarios. La extensa lista predeterminada de extensiones de archivo cubre la mayoría de los tipos de archivo comunes. Personaliza la lista de extensiones según tus necesidades específicas. Las descargas aparecen como eventos en Google Analytics con la extensión del archivo como acción del evento.

Seguimiento multi-sitio o multi-marca

Agrega múltiples IDs de propiedad de Google Analytics para rastrear el mismo sitio en diferentes cuentas de GA. Útil para agencias que administran sitios de clientes, organizaciones con múltiples departamentos, o para rastrear simultáneamente en GA4 y Universal Analytics. Arrastra y suelta para reordenar las cuentas.

Análisis de campañas de marketing

Rastrea los clics en enlaces salientes para ver qué recursos externos visitan los usuarios. Monitorea los clics en mailto: y tel: para medir alternativas a los formularios de contacto. Habilita las funciones de publicidad display para campañas de remarketing e informes demográficos/de intereses.

Segmentación de usuarios con dimensiones personalizadas

Crea dimensiones personalizadas en Google Analytics, luego configúralas en Drupal con valores de token como [current-user:role-names] para segmentar visitantes por rol, o usa tokens de Node para segmentar por atributos de contenido. La validación de tokens compatible con la privacidad previene la exposición accidental de PII.

Seguimiento de aplicaciones de página única

Habilita el seguimiento de fragmentos de URL para sitios que usan enrutamiento basado en hash. Cada cambio de hash se registra como una vista de página separada, proporcionando análisis precisos a nivel de página para aplicaciones con uso intensivo de JavaScript y navegación basada en anclas.

Análisis de usabilidad de formularios

Habilita el seguimiento de mensajes para capturar mensajes de estado, advertencia y error de Drupal como eventos de GA. Identifica qué formularios generan errores de validación, qué procesos muestran advertencias y problemas generales de experiencia del usuario a través de tu panel de análisis.

Seguimiento entre dominios

Para organizaciones con múltiples dominios relacionados (ejemplo.com, tienda.ejemplo.com, app.ejemplo.com), configura el seguimiento entre dominios para tratar a los visitantes como usuarios únicos en todas las propiedades. Ingresa todos los dominios en la lista de dominios cruzados y selecciona el modo 'Múltiples dominios de nivel superior'.

Seguimiento compatible con GDPR/Privacidad

El módulo se instala con valores predeterminados amigables con la privacidad: anonimización de IP habilitada, usuarios autenticados con permiso de exclusión otorgado, y tokens que contienen PII bloqueados en dimensiones personalizadas. Los usuarios pueden controlar su preferencia de seguimiento en su página de perfil.

Optimización de rendimiento con caché local

Después de confirmar que el seguimiento funciona correctamente, habilita el almacenamiento en caché local de JavaScript para servir gtag.js desde tu servidor en lugar del CDN de Google. El archivo se actualiza automáticamente diariamente vía cron, reduciendo las solicitudes externas y mejorando los tiempos de carga de página.

Tips

  • Prueba tu configuración de seguimiento usando los informes en Tiempo Real de Google Analytics antes de lanzar
  • Usa el modo de depuración durante el desarrollo para ver información detallada de seguimiento en la consola del navegador
  • Las rutas excluidas por defecto (/admin/*, /batch, etc.) evitan el seguimiento de la actividad de administración que podría sesgar los análisis
  • Al usar dimensiones personalizadas, siempre configura primero la dimensión en Google Analytics, luego configúrala en Drupal
  • Para cumplimiento con GDPR, actualiza tu política de privacidad al habilitar las funciones de publicidad display
  • El almacenamiento en caché local de JavaScript mejora el rendimiento pero solo debe habilitarse después de confirmar que el seguimiento funciona
  • El seguimiento de User ID usa un hash unidireccional - el ID de usuario real de Drupal nunca se envía a Google
  • Se pueden usar múltiples cuentas de GA para rastrear tanto en GA4 como en Universal Analytics durante la migración
  • El módulo rastrea automáticamente las páginas de error 403 y 404 independientemente de la configuración de visibilidad para monitoreo de errores

Technical Details

Admin Pages 1
Google Analytics /admin/config/services/google-analytics

Configura todo el comportamiento de seguimiento de Google Analytics, incluyendo IDs de cuenta, configuración de visibilidad, seguimiento de enlaces, dimensiones/métricas personalizadas y opciones avanzadas de JavaScript.

Permissions 4
Administrar Google Analytics

Realizar tareas de mantenimiento para Google Analytics, incluyendo la configuración de todos los ajustes del módulo.

Aceptar o rechazar el seguimiento

Permitir a los usuarios decidir si se añadirá el código de seguimiento a las páginas o no. Los usuarios pueden configurar esto en su página de cuenta.

Usar PHP para la visibilidad del seguimiento

Introducir código PHP en el campo para la configuración de visibilidad del seguimiento. Acceso restringido - función obsoleta.

Añadir fragmentos de JavaScript

Introducir fragmentos de código JavaScript para funcionalidad avanzada de Google Analytics. Acceso restringido por seguridad.

Hooks 6
hook_page_attachments

Hook principal que añade el código de seguimiento de Google Analytics a cada página. Verifica la visibilidad, carga las cuentas, despacha eventos y adjunta el JavaScript.

hook_form_user_form_alter

Añade una casilla de verificación de aceptar/rechazar Google Analytics en los formularios de perfil de usuario cuando el usuario tiene el permiso apropiado.

hook_cron

Regenera el archivo de código de seguimiento en caché local diariamente cuando el almacenamiento en caché está habilitado.

hook_preprocess_item_list__search_results

Recopila y añade el número de resultados de búsqueda a la página para el seguimiento de búsqueda del sitio.

hook_entity_extra_field_info

Define el pseudo-campo de configuración de Google Analytics en los formularios de entidad de usuario.

hook_help

Proporciona texto de ayuda y enlaces de documentación para el módulo.

Troubleshooting 10
El código de seguimiento no aparece en las páginas

Verifica que esté configurado un Web Property ID válido. Revisa la configuración de visibilidad de páginas - por defecto, las páginas de administración están excluidas. Asegúrate de que el rol del usuario actual no esté excluido. Limpia las cachés de Drupal después de los cambios de configuración.

El informe de estado muestra 'El módulo Google Analytics no ha sido configurado'

Navega a /admin/config/services/google-analytics e ingresa un Web Property ID de Google Analytics válido en el formato UA-xxxxx-yy o G-xxxxxxxx.

Advertencia de modo de depuración en el informe de estado

El modo de depuración carga un archivo JavaScript más grande y solo debe usarse durante el desarrollo. Desactívalo en /admin/config/services/google-analytics bajo Configuración avanzada antes de pasar a producción.

Las dimensiones personalizadas no aparecen en Google Analytics

Las dimensiones personalizadas primero deben crearse en la Interfaz de Administración de Google Analytics antes de poder usarlas en Drupal. Asegúrate de que los números de índice coincidan entre GA y tu configuración de Drupal.

Las descargas no se están rastreando

Verifica que la extensión del archivo esté incluida en la lista de extensiones de archivo. Las extensiones no distinguen entre mayúsculas y minúsculas y soportan regex. Comprueba que el seguimiento de descargas de archivos esté habilitado.

El seguimiento de Colorbox no funciona

El módulo Colorbox debe estar instalado y habilitado para que esta función funcione. La casilla de verificación está deshabilitada cuando Colorbox no está disponible.

El seguimiento de búsqueda del sitio no funciona

El módulo Search debe estar habilitado. Además, configura tu propiedad de Google Analytics para usar 'search' como parámetro de consulta en la Configuración de Vista.

El seguimiento entre dominios no funciona

Asegúrate de que 'Múltiples dominios de nivel superior' esté seleccionado como modo de dominio y que todos los dominios estén listados en el área de texto de dominios cruzados, uno por línea. Todos los dominios deben usar el mismo ID de propiedad de GA.

Los usuarios no pueden optar por no ser rastreados

Verifica que los usuarios tengan el permiso 'Opt-in or out of tracking' y que el modo de cuenta de usuario no esté configurado como 'Sin personalización permitida'. Los usuarios pueden entonces encontrar la opción en su página de edición de cuenta.

Errores de validación de tokens para dimensiones personalizadas

Ciertos tokens que contienen información de identificación personal (nombres de usuario, correos electrónicos, UIDs) están bloqueados para cumplir con la Sección 7 de los Términos de Servicio de Google Analytics. Usa tokens alternativos que no expongan PII.

Security Notes 7
  • Los campos de fragmentos de JavaScript personalizado están protegidos por un permiso separado ('Add JavaScript snippets') para prevenir ataques XSS de usuarios sin privilegios
  • Los tokens que contienen información de identificación personal (nombres de usuario, direcciones de correo electrónico, IDs de usuario) se bloquean automáticamente en dimensiones personalizadas para cumplir con los Términos de Servicio de Google Analytics
  • El seguimiento de User ID usa hash criptográfico basado en HMAC con la clave privada del sitio, asegurando que el ID de usuario real nunca se transmita a Google
  • El permiso 'Use PHP for tracking visibility' está marcado como restringido y la función está obsoleta - evita usar código PHP para reglas de visibilidad
  • La anonimización de IP está habilitada por defecto para cumplimiento de privacidad, aunque GA4 anonimiza las IPs automáticamente independientemente de esta configuración
  • Cuando el almacenamiento en caché local está habilitado, el archivo JavaScript se almacena en el directorio de archivos públicos - asegúrate de que tu servidor esté configurado de forma segura
  • Revisa la lista de extensiones de archivo si tienes tipos de documentos sensibles que no deberían ser rastreados