Plugins Guías Blog Mis licencias Hablemos

Cómo bloquear Google Analytics hasta el consentimiento en WordPress

Cookie ConsentActualizado el 4 de octubre de 20265 min de lectura

Cookie Consent

Para bloquear Google Analytics hasta el consentimiento en WordPress, la etiqueta de Google no debe ejecutarse al cargar la página. Solo se ejecuta después de que el visitante haga clic en Aceptar o acepte la categoría Estadísticas. Puedes hacerlo a mano en el tema, dentro de Google Tag Manager o con un plugin de consentimiento que retenga la etiqueta por ti. En los tres casos, Google Consent Mode v2 comunica a Google lo que ha elegido el visitante.

El problema es que la mayoría de los sitios creen que ya lo hacen. El banner está ahí, pero el fragmento de código de Analytics está en la cabecera y se dispara en la primera vista de página. Esta guía explica cómo comprobarlo y, después, cómo solucionarlo.

Comprueba si Analytics se carga antes del consentimiento

  1. Abre tu sitio en una ventana privada.
  2. Abre las herramientas para desarrolladores (F12), elige la pestaña Network (Red) y recarga.
  3. Sin tocar el banner, escribe collect en el filtro. Una petición a google-analytics.com/g/collect o a region1.google-analytics.com quiere decir que ya se ha enviado una vista de página.
  4. Ahora escribe gtag o gtm. Si aparece googletagmanager.com/gtag/js o gtm.js, la etiqueta de Google está cargada.
  5. En Application > Cookies (Aplicación > Cookies), busca _ga y _ga_XXXX.

Si ves cualquiera de estas cosas antes de hacer clic, Analytics funciona sin consentimiento. En WordPress el fragmento suele venir de Site Kit de Google, de una opción del tema, de un plugin de cabecera y pie de página o de una línea pegada en header.php. Averigua de dónde viene el tuyo antes de cambiar nada, para no acabar con dos etiquetas.

Consent Mode es el mecanismo de Google para que tu sitio comunique a sus etiquetas lo que ha elegido el visitante. Defines un estado por defecto al cargar la página, normalmente todo denegado, y lo actualizas cuando el visitante responde. La guía de Google sobre el modo de consentimiento enumera las cuatro señales que importan:

  • analytics_storage: cookies de Analytics.
  • ad_storage: cookies publicitarias.
  • ad_user_data: envío de datos de usuario a Google con fines publicitarios.
  • ad_personalization: anuncios personalizados y remarketing.

Las dos últimas son la parte «v2». Google las exige desde marzo de 2024 para el tráfico del Espacio Económico Europeo: sin ellas, Google Ads pierde las audiencias y el remarketing de esos visitantes.

Consent Mode tiene dos modos de funcionamiento, y la diferencia importa para el RGPD:

  • Básico: la etiqueta de Google no se carga en absoluto hasta que el visitante acepta. No llega nada a Google antes del consentimiento.
  • Avanzado: la etiqueta se carga enseguida con todo denegado y envía «pings sin cookies» que Google usa para modelizar los datos que faltan.

El modo avanzado sigue enviando peticiones a Google, con la dirección IP del visitante, antes de cualquier elección. Varias autoridades europeas consideran que eso también es una transferencia que necesita consentimiento. Si quieres ir sobre seguro, usa el modo básico: bloquea la etiqueta y envía las señales de Consent Mode cuando se le permita cargarse.

Tres formas de bloquear Analytics en WordPress

1. A mano, en el tema

Escribe primero los valores por defecto de Consent Mode, lo más arriba posible dentro de <head>, y carga gtag.js solo después de que tu banner comunique un sí:

<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
  analytics_storage: 'denied',
  ad_storage: 'denied',
  ad_user_data: 'denied',
  ad_personalization: 'denied',
  wait_for_update: 500
});
</script>

Cuando el visitante acepta, llama a gtag('consent', 'update', {analytics_storage: 'granted'}) e inserta el script gtag.js. Funciona, pero el banner, la cookie y el registro los escribes y los mantienes tú, y cada rastreador nuevo supone código nuevo.

2. Dentro de Google Tag Manager

Si todas tus etiquetas están en un contenedor de GTM, puedes definir allí los valores por defecto de Consent Mode y añadir una condición de consentimiento a cada etiqueta. Dos advertencias. El propio contenedor, gtm.js, se sigue cargando antes del consentimiento, así que sigue contactando con Google. Y GTM solo controla lo que tiene dentro: un píxel que añade un plugin o un vídeo de YouTube en una página quedan fuera de su alcance.

3. Con un plugin de consentimiento que bloquea

Un plugin puede encontrar la etiqueta de Google en la página y desactivarla hasta que el visitante acepte, la haya puesto quien la haya puesto. Es la única de las tres formas que cubre también el píxel de Meta, los vídeos incrustados, los mapas y los servicios de los que te habías olvidado. Comprueba que el plugin bloquea antes del consentimiento en lugar de limitarse a «informar»: la prueba de la ventana privada de arriba te lo dice en un minuto.

Cookie Consent sigue la tercera vía. Antes de que la página salga de tu servidor, encuentra la etiqueta de Google (y una cincuentena de servicios más) y la desactiva. Cuando el visitante acepta Estadísticas, vuelve a activar la etiqueta en el navegador, sin recargar la página.

  • Los valores por defecto de Consent Mode v2 se escriben al principio de la página, antes de cualquier etiqueta de Google, con todas las señales denegadas y un wait_for_update corto para que los visitantes que vuelven y ya habían aceptado se cuenten bien.
  • Estadísticas concede analytics_storage; Marketing concede ad_storage, ad_user_data y ad_personalization.
  • Tag Manager se bloquea por defecto hasta el consentimiento. Si ya gestionas el consentimiento dentro de tu contenedor, puedes dejar que se cargue y confiar en las señales.
  • Global Privacy Control: si el navegador del visitante envía esta señal, se trata como un rechazo del marketing.
Pestaña Third parties de Cookie Consent en WordPress tras un escaneo del sitio, con Google Analytics y Google Tag Manager en el grupo Blocked until consent
El escaneo del sitio muestra qué servicios están bloqueados hasta el consentimiento y cuáles no se reconocen.

Todo esto está en la versión gratuita. La guía Ajustes explica las opciones de Google, y Terceros, escaneo y reglas propias muestra cómo localizar los rastreadores que no conocías.

Después del arreglo: qué cambia en tus cifras

Cuenta con ver menos visitas en Google Analytics. Cada visitante que rechaza, o que se va sin responder, deja de contarse. La caída varía mucho según el público y el aspecto del banner, así que compara tendencias a lo largo del tiempo en lugar de las cifras brutas de antes y después. Tus registros del servidor y tus ventas siguen siendo la referencia real.

Si las cifras no bajan nada, vuelve a hacer la prueba en una ventana privada: puede que algo se siga cargando antes del consentimiento.

Preguntas frecuentes

¿Basta con Consent Mode v2 para cumplir el RGPD?

No. Consent Mode solo transmite la elección del visitante a las etiquetas de Google. Sigues necesitando un banner que pregunte, un registro del consentimiento y, para ir sobre seguro, etiquetas que no se carguen en absoluto antes de un sí.

¿Qué diferencia hay entre el modo básico y el avanzado de Consent Mode?

En el modo básico, la etiqueta de Google no se carga hasta que el visitante acepta. En el avanzado se carga enseguida con el consentimiento denegado y envía a Google pings sin cookies, que siguen incluyendo la dirección IP del visitante.

¿Bloquear Analytics estropea las conversiones de Google Ads?

Las conversiones de los visitantes que aceptan el marketing se registran como antes. Para los que rechazan, Google recurre a la modelización cuando están presentes las señales de Consent Mode v2. Sin las señales v2, Google Ads pierde las audiencias y el remarketing de los visitantes del EEE.

¿Por qué ha bajado mi tráfico en Analytics después de instalar un banner de cookies?

Porque los visitantes que rechazan o ignoran el banner ya no se cuentan. La caída demuestra que el banner funciona. Compara tendencias a lo largo de varias semanas en lugar de las cifras brutas de antes y después.