Guía práctica · Desarrollo web

Cómo medir los clics en WhatsApp desde una web

Si tu botón de WhatsApp enlaza a wa.me, Analytics ya cuenta esos clics. Dónde mirarlos, cómo separarlos en un evento propio y los cuatro casos que los pierden.

Erick José Piñerua JiménezPublicado el
El dueño de una floristería mira en el portátil una gráfica de líneas, sentado a su mesa de trabajo entre papel de envolver, tallos cortados y un rollo de cinta, con el móvil sobre la mesa junto al teclado.

Si el botón de WhatsApp de tu web es un enlace normal a wa.me, Google Analytics 4 ya está contando esos clics. Los registra solo, sin que nadie lo programe, como un evento click con el parámetro link_domain igual a wa.me. El problema casi nunca es medir: es que ese dato está mezclado con todos los demás enlaces salientes, no aparece en la columna de eventos clave y nadie va a buscarlo.

Aquí va dónde está, cómo separarlo en un evento propio con y sin tocar el código, los cuatro casos en los que la cuenta no sale, y lo que ningún sistema de analítica puede decirte por mucho que lo configures bien.

Dónde está el dato que ya tienes

Google Analytics 4 trae una función llamada medición mejorada que se activa por flujo de datos y registra sola un puñado de interacciones sin cambiar el código. Una de ellas son los clics de salida: según la ayuda de Analytics, se envía un evento «cada vez que un usuario hace clic en un enlace que le dirige fuera del dominio actual y a otro sitio web».

Un enlace a https://wa.me/34600000000 es exactamente eso: un enlace a otro dominio. Con la medición mejorada activada, ese clic viaja a Analytics con cinco parámetros:

  • link_url, la URL completa del enlace, con el número y el mensaje predefinido si lo hay.
  • link_domain, que en este caso valdrá wa.me.
  • link_id y link_classes, el id y las clases CSS del enlace, si los tiene.
  • outbound, un booleano.

Los cinco rellenan dimensiones que ya existen en los informes —Clases de enlaces, Dominio de enlace, ID de enlace, URL del enlace y Saliente—, así que no tienes que crear ninguna dimensión personalizada para verlos.

Un aviso de traducción. La versión en español de esa página de ayuda traduce el nombre del evento y lo llama «clic». En tus datos no vas a encontrar ningún evento llamado «clic»: el nombre real es click, tal y como aparece en la versión inglesa de la misma página. Busca por el nombre en inglés.

Para verlo: Informes, Interacción, Eventos, y ahí el evento click. Para quedarte solo con WhatsApp necesitas segmentar por Dominio de enlace, lo que en la práctica significa montar una exploración libre con esa dimensión.

La excepción que conviene conocer. La ayuda de Google es explícita: «los enlaces a los dominios configurados para la medición multidominio no activarán estos eventos». Si alguien añadió wa.me a la lista de dominios de medición multidominio de tu propiedad —cosa que no tiene ningún sentido, pero pasa—, los clics desaparecen del informe sin previo aviso.

Cómo separarlo en un evento propio

Mirar una exploración cada vez que quieras saber cuántos clics de WhatsApp hubo es garantía de que nadie lo mirará. Lo que quieres es un evento con nombre propio, whatsapp_click, que puedas marcar como evento clave. Hay tres caminos y no hacen falta los tres.

1. Sin tocar la web, desde el propio Analytics

Analytics permite crear un evento nuevo a partir de otro que ya recoge. La ayuda lo explica para page_view, con un razonamiento que se aplica igual aquí: a veces «a un evento le falta poco para medir lo que a usted le interesa medir como evento clave», y marcar el evento genérico entero contaminaría la cuenta.

En Administrar, Visualización de datos, Eventos, Crear evento: nombre whatsapp_click, y como condiciones que el nombre del evento sea click y que el parámetro link_domain contenga wa.me. Desde ahí puedes marcarlo como evento clave en el mismo formulario.

Dos advertencias de la propia ayuda: crear copia el evento original sin tocarlo, mientras que modificar lo sobrescribe —no modifiques nunca click ni page_view directamente—, y el evento nuevo «se mostrará en la tabla Eventos personalizados, pero no en la pestaña Eventos recientes […] hasta que Analytics lo procese». No te asustes si esa misma tarde no lo ves.

2. Con Google Tag Manager

Si ya tienes contenedor, el activador correcto es el de clic de tipo Solo enlaces, que según la ayuda de Tag Manager hace el seguimiento «solo en los enlaces HTML en los que se use el elemento <a>». Se condiciona con un filtro del tipo «Click URL contiene wa.me» y se conecta a una etiqueta de evento de GA4 llamada whatsapp_click.

Es más trabajo que la opción anterior, pero te deja enviar parámetros propios: la página desde la que se pulsó, la posición del botón, la campaña. Si lo que buscas es el etiquetado sin código que Google anunció en 2026, conviene leer antes qué cubre de verdad y qué no: en su beta solo entraban las conversiones de compra de Google Ads.

3. Con una línea en el propio botón

Si controlas el código de la web, el camino más limpio es llamar a la función de evento en el onClick del enlace. Tiene una ventaja que las otras dos no dan: el evento queda escrito en el repositorio, con su nombre, junto al botón que lo dispara. Quien lea el código dentro de dos años sabrá qué se está midiendo.

Regla que aplicamos siempre: no marques click como evento clave. Contarías como acción importante cada enlace a un mapa, a un PDF externo o a una red social.

Los cuatro casos en los que la cuenta no sale

Este es el apartado que suele faltar y el que explica por qué a mucha gente le sale cero.

  1. El botón no es un enlace. Si es un div o un button con un salto por JavaScript, la medición mejorada no lo ve —solo mira enlaces que llevan fuera del dominio— y el activador «Solo enlaces» de Tag Manager tampoco, porque exige un elemento <a>. Le pasa sobre todo a los botones flotantes hechos a medida.
  2. El botón viene de un widget de terceros. Muchos plugins de chat pintan su burbuja dentro de un iframe. Lo que ocurre dentro de ese marco no lo ve la etiqueta de tu página. Si usas uno, mira si trae su propia analítica y da por hecho que ese número y el de Analytics no van a coincidir.
  3. El enlace no usa el formato oficial. La función de clic para chatear de WhatsApp documenta un único formato, https://wa.me/<número>, con el teléfono completo en formato internacional y «sin ceros, paréntesis ni guiones». Para España, https://wa.me/34600000000. Los esquemas alternativos tipo whatsapp:// no son una URL a otro dominio, así que no vas a poder filtrarlos por link_domain, y además fallan en escritorios sin la aplicación instalada.
  4. El visitante no aceptó la analítica. En España esto no es un detalle menor: la parte de tus visitas que rechaza la analítica no aparece en ningún informe, y sus clics tampoco. Con el modo de consentimiento, cuando no hay consentimiento «las etiquetas envían pings a Google en lugar de almacenar cookies», según la ayuda de Analytics, y los huecos se rellenan con modelización. Si tu implementación es más estricta y ni siquiera carga Analytics hasta que alguien acepta —la nuestra lo es—, esos clics sencillamente no existen en el informe.

Hay un quinto caso que no es un fallo pero confunde igual: si montas tu propio whatsapp_click y dejas la medición mejorada activada, el mismo clic aparecerá dos veces con dos nombres distintos. No los sumes.

Lo que el clic no te dice

Conviene decirlo con todas las letras: el clic es lo último que tu web puede ver. A partir de ahí la persona está en una aplicación que no es tuya y sobre la que tu analítica no tiene ninguna visibilidad.

Eso significa que un clic en WhatsApp no es una conversación, y una conversación no es un cliente. Entre el clic y el mensaje enviado se cae gente: quien pulsa sin querer, quien ve el número y se lo apunta para llamar, quien abre el chat y se arrepiente. Tratar «clics a WhatsApp» como «contactos» infla el número y te lleva a decisiones malas.

La comparación honesta es interna: cuántos clics salen de cada página, cómo evoluciona el total mes a mes y qué proporción hay entre clics a WhatsApp y envíos de formulario. Esa última proporción es la que más veces cambia la conversación con un cliente: hay negocios que descubren así que su formulario es decorativo.

El puente que sí controlas: el mensaje predefinido

Hay una manera de pasar información del lado que mides al lado que no mides, y está documentada por WhatsApp: el mensaje predefinido. El formato es https://wa.me/<número>?text=<texto codificado en URL> y el texto aparece escrito en el campo del chat antes de enviarlo.

Nuestra convención es añadir al final del mensaje una marca corta de la página de origen. Para una clínica, el botón de la página de precios llevaría a un texto como «Hola, quería pedir cita. (web: precios)», que codificado queda ?text=Hola%2C%20quer%C3%ADa%20pedir%20cita.%20(web%3A%20precios). Quien atiende el WhatsApp ve de dónde viene esa persona sin preguntar.

Tres cosas que hay que decir sobre esto:

  • No es un dato censal, es una pista. El texto es editable: quien abre el chat puede borrarlo antes de enviar. No lo lleves a una hoja de cálculo como si fuera un contador.
  • Escríbelo desde el lado del cliente, no del tuyo. Un código interno como LP-03-B en el campo del mensaje parece un error del sistema y hace dudar.
  • Nada de datos personales en el enlace. El texto viaja en una URL que acaba en el historial del navegador y en los informes de analítica.

Cómo lo tenemos montado nosotros

En esta web la analítica vive en un único archivo, lib/analytics.ts, con la lista de eventos escrita como un tipo cerrado: si alguien intenta enviar un evento que no está en esa lista, el proyecto no compila. whatsapp_click es uno de ellos. Las etiquetas arrancan con el modo de consentimiento en denegado para los cuatro permisos y Analytics no se carga hasta que la persona acepta, así que no hay pings previos; las vistas de página se envían a mano en lugar de automáticamente, para controlar cuándo se cuentan.

Y aquí va la parte incómoda, que es justamente la que hace útil este artículo: hoy ese evento no se dispara nunca, porque nuestra web no tiene botón de WhatsApp. Las vías de contacto son el formulario y la demo. El evento está declarado, con su nombre y su tipo, esperando a un botón que todavía no existe.

Lo contamos porque el malentendido de debajo es fácil de cometer: un evento declarado no es un evento medido. El nombre en el contenedor de Tag Manager, en el plan de medición o en el código no prueba nada. Lo único que lo prueba es un clic real que llega. En la portada que consigue contactos ya señalábamos que los clics a teléfono y a WhatsApp son los que más veces se quedan sin registrar; esto es el cómo registrarlos.

Cómo comprobar en diez minutos que funciona

Sin esta comprobación no tienes una medición, tienes una intención.

  1. Activa el modo de depuración y abre DebugView, en Administrar. La ayuda lo describe como la vista que muestra «los eventos y las propiedades de usuario que Analytics recoge de un usuario en tiempo real».
  2. Abre tu web y acepta las cookies de analítica. Si las rechazas, no vas a ver nada y el problema no será el botón.
  3. Pulsa el botón de WhatsApp.
  4. Busca el evento click en la columna de DebugView y ábrelo: link_url tiene que traer tu número, y link_domain, wa.me.
  5. Repite en el móvil. Es donde ocurre la mayoría de estos clics y donde más botones hechos a medida se rompen.

Si en el paso 4 no aparece nada, vuelve a la lista de los cuatro casos y empieza por el primero.

Cuándo esto se queda corto

Medir bien el clic resuelve una pregunta —qué páginas generan contacto por WhatsApp— y deja intacta la siguiente: qué pasó con esas conversaciones. Ese salto ya no es de analítica web, es de operativa, y es de lo que se ocupa un CRM conversacional: que cada conversación quede asociada a un cliente, con su estado y su historial, en lugar de perderse en una bandeja compartida.

Si estás montando o rehaciendo la web, lo sensato es dejar los eventos puestos desde el primer día en lugar de añadirlos seis meses después, cuando ya no puedes comparar con nada. Es parte de cómo construimos webs, y el lado de la conversación está en PotencIA.

Fuentes consultadas

El número 34600000000 de los ejemplos es un teléfono ficticio y no corresponde a ninguna línea real.