Atribución de clics en anuncios para WhatsApp
Si publicas anuncios en Meta o Google que dirigen a una página de tu propio sitio web, y esa página tiene un botón de WhatsApp, Your AI Connector puede decirte de qué clic en el anuncio proviene cada conversación de WhatsApp. Solo tienes que pegar un pequeño script en tu sitio web. Cuando un visitante toca tu botón de WhatsApp, el clic se registra y se vincula al primer mensaje que te envían. El contacto muestra entonces la campaña de la que proviene, y los datos del clic viajan con el contacto a los webhooks, la API y, si lo deseas, de vuelta a Meta.
Esto funciona para cualquier página con un botón de WhatsApp: una página de destino (landing page), una página de reservas, una página de precios o un cuestionario que termina en “Enviar mis respuestas por WhatsApp”.
Esta página trata sobre anuncios que envían a las personas a tu sitio web primero. Si tus anuncios abren WhatsApp directamente (anuncios de “Clic a WhatsApp” de Meta), eso se cubre automáticamente, sin necesidad de un script, en Atribución de anuncios de Clic a WhatsApp.
Configuración
- Ve a Ajustes → Seguimiento de clics en anuncios (grupo de Integraciones).
- Haz clic en Activar y obtener mi script. Tu cuenta obtendrá su propia clave de sitio y un script de una línea.
- Copia el script y pégalo justo antes de la etiqueta de cierre
</body>en cada página que tenga un botón de WhatsApp:
<script src="https://api.youraiconnector.com/v1/ad-visit/YOUR_SITE_KEY.js" async></script>
- Opcional: en Número de WhatsApp, escribe el número al que enlazan tus botones. Solo se rastrearán los enlaces a ese número. Déjalo vacío para rastrear todos los enlaces de WhatsApp en el sitio.
- Elige la redacción del número de consulta (ver más abajo) y haz clic en Guardar. No necesitas cambiar el script en tu sitio web después de un cambio en los ajustes.
- Pruébalo: abre tu página desde un enlace con una etiqueta de campaña, por ejemplo
https://yoursite.com/?utm_source=test&utm_campaign=setup-check, toca tu propio botón de WhatsApp y envía el mensaje. Abre ese contacto en Chats: el panel de contacto mostrará Proviene de un clic en anuncio con la campaña.
La clave del sitio ya está dentro del script. No es una contraseña, por lo que es seguro tenerla en una página pública.
Qué hace el script
- Cuando la página se carga, mantiene los identificadores de clic de anuncio y las etiquetas de campaña (los parámetros
utm_) de la dirección de la página en el almacenamiento de sesión de la pestaña del navegador, por lo que siguen ahí si el visitante mira otra página primero. No establece ninguna cookie, no carga nada más y no envía nada. - Cuando el visitante toca un enlace de WhatsApp (
wa.me,api.whatsapp.com/sendowhatsapp://send), añade el número de consulta al mensaje, registra la visita y permite que el toque continúe hacia WhatsApp con normalidad.
No se envía nada a Your AI Connector antes del toque.
El número de consulta
Se añade un número corto, como la referencia que te da una tienda o clínica, al mensaje de WhatsApp del visitante. Es así como Your AI Connector sabe exactamente qué clic de anuncio pertenece a qué conversación. Un mensaje se ve así:
Hi, I would like to know more.
Enquiry no. 4827
- Redacción: “N.º de consulta” es la predeterminada. Puedes usar cualquier línea de texto que suene natural para tu negocio, como “Ref. reserva” o “Ref.”. Sin dígitos.
- Dónde: En su propia última línea (la predeterminada) o Al final del texto. La página de ajustes muestra una vista previa en tiempo real.
- Longitud: 4 dígitos, o 5 cuando tu sitio tiene mucho tráfico.
- Tu agente de IA nunca lo ve y nunca lo repite. La bandeja de entrada muestra el mensaje completo, número incluido.
Puede desactivar el número de consulta. En ese caso, la coincidencia solo funciona con el texto del mensaje, por lo que no se podrá distinguir a dos visitantes que envíen exactamente el mismo texto (por ejemplo, las mismas respuestas a un cuestionario) y algunos clics no se registrarán.
Su propio código de cuestionario o botón
Si su página genera el mensaje de WhatsApp por sí misma (un cuestionario que incluye las respuestas en el texto o su propio código de botón), añada data-manual a la etiqueta script:
<script src="https://api.youraiconnector.com/v1/ad-visit/YOUR_SITE_KEY.js" data-manual async></script>
Con data-manual, el script ya no modifica los enlaces de WhatsApp por sí solo. Su propio código lo invoca justo antes de abrir WhatsApp, de modo que cada visita se registra una sola vez:
window.ChatAttribution.text(finalText, number)devuelve su texto con el número de consulta añadido y registra la visita. Utilice el texto devuelto en su enlace de WhatsApp.window.ChatAttribution.link(finalText, number)hace lo mismo y devuelve un enlacewa.melisto para usar con ese texto. Omita el número para utilizar el que aparece en Número de WhatsApp en la configuración.
<script>
function sendAnswers(answers) {
var text = "Hi, my answers: " + answers.join(", ");
if (window.ChatAttribution) {
window.location.href = window.ChatAttribution.link(text, "+15551234567");
} else {
window.location.href = "https://wa.me/15551234567?text=" + encodeURIComponent(text);
}
}
</script>
La rama else permite que el botón siga funcionando si el script no se ha cargado, por ejemplo, cuando una extensión del navegador lo bloquea. Un texto que ya contiene un número emitido por el script nunca se vuelve a modificar.
Qué se registra
En el momento del toque, el registro de la visita contiene:
- los identificadores de clic de anuncio en la dirección de la página, como
fbclid(Meta) ygclid(Google) - las cookies
_fbcy_fbp, si su propio píxel de Meta las configuró en su sitio (el script las lee, nunca las configura) - las etiquetas de campaña (
utm_source,utm_medium,utm_campaign,utm_content,utm_term) - la página de destino, la página desde la que llegó el visitante, el navegador y el texto del mensaje
- la dirección IP y la hora, añadidas por Your AI Connector cuando llega la visita
Cuando se encuentra una coincidencia de visita, Your AI Connector también calcula a partir de esos datos aproximadamente dónde se encontraba el visitante (ciudad y país, de forma aproximada, a partir de la dirección IP) y qué dispositivo utilizó (teléfono, tableta u ordenador, el sistema operativo y el navegador, por ejemplo, el navegador integrado de Instagram). La ubicación permanece vacía cuando no se puede determinar, lo cual es común en redes móviles.
Los registros de visitas se conservan durante 90 días. Cuando se encuentra una coincidencia, se guarda una copia de los datos del clic en el contacto y permanece con él hasta que usted la elimine.
Su aviso de privacidad: el script se ejecuta en su sitio web, por lo que el aviso de privacidad de su sitio debe mencionarlo: qué registra (la lista anterior) y que lo hace cuando un visitante toca un botón de WhatsApp.
Cómo funciona la coincidencia
Cuando llega el primer mensaje de un contacto, Your AI Connector busca una visita de los 15 minutos anteriores:
- Primero por número de consulta. Un mensaje que contiene un número emitido por el script se vincula a esa visita.
- De lo contrario, por texto idéntico. Un mensaje con exactamente el mismo texto que una visita se vincula a ella. Cuando dos visitantes diferentes envían el mismo texto dentro del intervalo de tiempo, no se vincula ninguno, a propósito, para que un contacto nunca se asigne al anuncio incorrecto.
Un mensaje posterior que contenga el número de consulta también se vinculará, siempre y cuando el contacto aún no tenga una coincidencia.
Cuando un contacto que ya tiene una coincidencia regresa a través de otro anuncio y envía un mensaje con un número de consulta más reciente, ese clic se guarda como el clic más reciente del contacto. La primera coincidencia permanece tal cual.
- Primer clic, para sus informes: el contacto sigue mostrando de dónde provino el cliente potencial originalmente. Eso nunca cambia.
- Clic más reciente, para Meta: los eventos enviados a Meta utilizan el clic más reciente, porque Meta acredita el anuncio que trajo a la persona de vuelta y solo dentro de su ventana de atribución. Informar de un clic antiguo acreditaría el anuncio incorrecto, o ninguno en absoluto.
- El clic más reciente solo se toma de un número de consulta, nunca solo del texto coincidente, y una visita más antigua nunca reemplaza a una más reciente.
Límites:
- La primera coincidencia nunca se sobrescribe. Los clics más recientes se guardan en el clic más reciente.
- Solo WhatsApp: los canales de la API de WhatsApp Business y WhatsApp Web.
- 15 minutos: un visitante que toca el botón pero envía el mensaje mucho después no se empareja.
- Solo hacia adelante: los contactos anteriores a la instalación del script no tienen coincidencia.
Dónde verlo
- Panel de contacto: Proviene de un clic en un anuncio con la campaña o fuente y la fecha del primer clic. Pase el ratón por encima para ver los detalles: la campaña, el Anuncio (
utm_content) y el Conjunto de anuncios (utm_term), la Ubicación aproximada y el Dispositivo, cada uno solo cuando se conoce, además de lo mismo para el último clic cuando existe uno. Las etiquetas de campaña que nunca se completaron (un toque en la vista previa del anuncio envía la plantilla de etiqueta en lugar de los nombres) se omiten. Una visita solo cuenta como clic en un anuncio cuando la página se abrió desde un enlace de anuncio (un ID de clic de Meta o Google, o etiquetas de campaña). Cualquier persona que haya llegado a la página de otra manera, por ejemplo, desde una búsqueda en Google, escribiendo su dirección o haciendo clic a través de su sitio, mostrará Proviene de su sitio web con el lugar de procedencia, como Búsqueda de Google, o Visita al sitio web, no se registró referente cuando el navegador no lo indicó. - Página de contacto: la misma línea aparece debajo del nombre del contacto en Contactos, para que pueda verla de inmediato, también en su teléfono. Pase el ratón o toque sobre ella para ver los detalles.
- Actividad: la línea de tiempo del contacto comienza con Tocó su botón de WhatsApp después de un anuncio (o en su sitio web) en el momento del clic, antes de su primer mensaje. El panel de contacto del chat muestra la misma línea en Actividad.
- Webhooks:
contact.ad_attributionen webhooks de etiquetas de agente y en cada evento de suscripción de webhook que contenga un contacto. - API:
ad_attributionen la lista de contactos yadAttributionen un contacto individual, en la sección de Contactos de la referencia de la API. - Herramientas MCP: el mismo objeto en cada contacto que devuelven.
El valor es null cuando el contacto no tiene coincidencia. Los campos a continuación describen el primer clic. Cuando se ha emparejado un clic posterior, latest lo contiene con los mismos campos; está ausente hasta ese momento.
| Campo | Qué es |
|---|---|
visit_at |
Cuándo tocó el visitante el botón de WhatsApp. |
matched_at |
Cuándo se emparejó la visita con el contacto. |
match_method |
reference (emparejado por número de consulta) o text (emparejado por texto de mensaje idéntico). |
reference |
El número de consulta, o null cuando estaba desactivado. |
fbc / fbp |
El clic de Meta y las cookies del navegador de su propio píxel de Meta, si están presentes. |
fbclid |
El ID de clic de anuncio de Meta de la dirección de la página. |
gclid / gbraid / wbraid |
Los IDs de clic de anuncio de Google de la dirección de la página. |
utm_source / utm_medium / utm_campaign / utm_content / utm_term |
Las etiquetas de campaña de la dirección de la página. |
landing_url |
La página en la que aterrizó el visitante. |
referrer |
La página de la que provino el visitante. |
client_ip |
La dirección IP del visitante. |
user_agent |
El navegador del visitante. |
geo_country / geo_region / geo_city / geo_timezone |
Ubicación aproximada a partir de la dirección IP: código de país de dos letras, código de región, ciudad y zona horaria. Ausente cuando se desconoce. |
device_type / device_os / device_browser |
El dispositivo del navegador: mobile, tablet o desktop, el sistema operativo con su versión (como iOS 18.3) y el navegador (como Safari o Instagram in-app). Ausente cuando se desconoce. |
site_key |
La clave del sitio del script que registró la visita. |
visit_id |
El ID del registro de visita. |
latest |
El clic más reciente emparejado después del primero, con los mismos campos. Se utiliza para eventos enviados a Meta. Ausente cuando no hay ninguno. |
Enviar resultados a Meta (opcional)
Puedes permitir que Your AI Connector informe los resultados a tu cuenta publicitaria de Meta, para que Meta aprenda qué anuncios generan clientes potenciales y ventas reales y se optimice en función de ellos. Esto utiliza tus propios detalles de la API de conversiones de Meta.
- En el Administrador de eventos de Meta, busque su ID de píxel (también llamado conjunto de datos) en Fuentes de datos y cree un token de acceso en Configuración, Conversions API, Generar token de acceso.
- En Configuración → Seguimiento de clics en anuncios, en Enviar resultados a Meta (opcional), introduzca el ID de píxel / conjunto de datos y el Token de acceso. Haga clic en Guardar detalles de Meta.
- Opcional: compruebe la conexión. En el Administrador de eventos de Meta, abra su píxel y vaya a la pestaña Probar eventos, copie el código de prueba que aparece allí, péguelo en Enviar un evento de prueba y haga clic en Enviar evento de prueba. La línea debajo del botón dirá “Meta recibió 1 evento de prueba” (búsquelo en Probar eventos en Meta), o mostrará el motivo de Meta si fue rechazado, por ejemplo, un token incorrecto. El código se utiliza solo para esa prueba y nunca se guarda.
- Abra el editor de agentes, vaya a la pestaña Etiquetas y abra una etiqueta. En Enviar a Meta, elija el evento: Lead, Contact, Schedule, Purchase o un nombre personalizado. Opcionalmente, añada un valor y una moneda.
A partir de ese momento, cada vez que se aplica esa etiqueta a un contacto (por la IA, manualmente, a través de la API o mediante una automatización), Your AI Connector envía el evento a Meta con los datos del clic más reciente del contacto (fbc, fbp, dirección IP, navegador, página de destino, del clic más reciente cuando lo hay, de lo contrario el primero) además de su teléfono, correo electrónico y nombre, cifrados, para que Meta pueda vincularlo al anuncio. Un contacto sin coincidencia sigue enviando el evento, solo con el teléfono, correo electrónico y nombre cifrados.
- Los eventos en vivo siempre cuentan: un código de evento de prueba nunca se almacena con sus detalles de Meta, por lo que los eventos que envían sus etiquetas y automatizaciones siempre van a sus datos reales en Meta, nunca a la pestaña Probar eventos.
- Sin recuento doble: cada evento tiene un ID fijo compuesto por el ID de contacto y el nombre de la etiqueta. Si su CRM envía el mismo evento a Meta con el mismo ID, Meta solo conserva uno.
- Ventana de atribución de Meta: Meta solo acredita un evento a un anuncio dentro de su ventana de atribución, que es de 7 días después del clic de forma predeterminada. Un trato que se cierra semanas después no contará por sí solo, así que envíe también un evento anterior, por ejemplo, una etiqueta para la consulta reservada o pagada.
Enviar conversiones desde automatizaciones
Una etiqueta envía su evento cuando se aplica. Cuando el resultado ocurre en otro lugar, como el cierre de un trato en su CRM o la reserva de una consulta, utilice la acción Enviar conversión a Meta en una automatización. Esto informa de un evento a su conjunto de datos de Meta a través de la API de conversiones, de modo que Meta optimice sus anuncios basándose en resultados reales y no solo en mensajes.
Utiliza los mismos detalles de Meta que las etiquetas: el ID del píxel / conjunto de datos y el Token de acceso en Configuración → Seguimiento de clics en anuncios. Sin ellos, el paso fallará con el mensaje “Meta no está conectado”.
Los campos
| Campo | Qué hace |
|---|---|
| Nombre del evento | Obligatorio. Purchase, Schedule, Lead o su propio nombre. Su propio nombre utiliza letras, dígitos, espacios y guiones bajos, comienza con una letra y tiene un máximo de 40 caracteres. |
| Valor y Moneda | El importe de la conversión, como el importe del trato. La moneda es un código de 3 letras y el valor predeterminado es EUR. El valor solo se envía cuando lo rellena. |
| Contacto | Opcional. El contacto al que pertenece la conversión. |
| Correo electrónico, Teléfono, Nombre, Apellido | Detalles de la persona. Rellénelos cuando la persona no sea un contacto, o para añadir información a la que ya tiene el contacto. |
| Su propio ID para la persona | Un ID para la persona de su propio sistema, como un ID de CRM. |
| ID del evento | El ID que utiliza Meta para contar el evento una vez. Véase más abajo. |
| Hora del evento | Cuándo ocurrió la conversión, como segundos unix o una fecha. Hace un máximo de 7 días. Déjelo vacío para usar el momento en que se ejecuta el paso. |
| URL de la página | La página a la que está vinculada la conversión, si la hay. |
| Código de evento de prueba | Solo para una ejecución de prueba: el código de la pestaña Probar eventos de Meta. Un evento enviado con él aparece en Probar eventos y no cuenta para sus anuncios. Déjelo vacío para eventos en vivo. |
Complete al menos uno de los campos: Contacto, Correo electrónico o Teléfono. La persona no tiene por qué ser un contacto: un trato de HubSpot que llega a “Cerrado ganado” puede enviar una “Compra” (Purchase) con el importe del trato y el correo electrónico del comprador.
Cuando elige un Contacto, se utilizan su teléfono, correo electrónico y nombre. Si provienen de un clic en un anuncio que el script detectó, los detalles del clic también se incluyen, lo que ayuda a Meta a hacer coincidir el evento con el anuncio. El correo electrónico, el teléfono y los nombres se codifican (hash) antes de salir. El ID del clic, la dirección IP y el navegador se envían según lo requiere Meta.
ID del evento y recuento doble
Meta cuenta los eventos con el mismo nombre de evento y el mismo ID de evento una sola vez. Utilice un ID fijo, como el ID del trato, cuando otra herramienta también informe de la misma conversión, o cuando la automatización pueda ejecutarse dos veces para ella. Déjelo vacío y se creará un nuevo ID en cada ejecución, por lo que cada ejecución contará.
En qué se diferencia de los eventos de etiqueta
El evento Enviar a Meta de una etiqueta se envía una vez por contacto para esa etiqueta (como máximo una vez cada 30 días). Esta acción se envía cada vez que se ejecuta. El ID del evento es lo que evita que una conversión se cuente dos veces.
Ejemplo: un trato cerrado y una consulta reservada
- Inicie una automatización que se ejecute cuando se gane un trato: un activador de Evento de aplicación en el evento de trato de su CRM, con una Condición para que solo continúen los tratos ganados. HubSpot solo envía eventos de etapa de trato a las aplicaciones de desarrollador, por lo que para HubSpot utilice un activador de Programación con una búsqueda de HubSpot de tratos que hayan llegado a Cerrado ganado desde la última ejecución, y un Bucle sobre ellos.
- Añada Enviar conversión a Meta. Establezca el Nombre del evento en Compra, el Valor en el importe del trato (insértelo con el botón +) y la Moneda en su moneda. Ponga el correo electrónico del comprador en Correo electrónico y el id del trato en ID del evento, para que el mismo trato nunca se cuente dos veces.
- Para una consulta reservada, inicie una segunda automatización con el activador Cita reservada y añada Enviar conversión a Meta con el Nombre del evento establecido en Programar y el contacto del activador en Contacto. Si lo desea, añada un segundo paso de Enviar conversión a Meta que envíe una Compra con un valor fijo, como el precio de la consulta.
También puede enviar una conversión a través de la API con POST https://api.youraiconnector.com/v1/ad-attribution/meta-event. Utiliza los mismos campos en formato snake case: event_name, value, currency, contact_id, email, phone, first_name, last_name, external_id, event_id, event_time, event_source_url y test_event_code.
Preguntas frecuentes
¿Esto funciona si mi anuncio abre WhatsApp directamente? Esos anuncios no pasan por tu sitio web, por lo que el script nunca se ejecuta. Meta envía los detalles del anuncio con el primer mensaje, consulta Atribución de anuncios de clic a WhatsApp.
¿El script ralentiza mi sitio web o establece cookies?
Se carga en segundo plano (async), no establece cookies y no carga nada más. Solo envía información cuando un visitante toca un botón de WhatsApp.
¿Puedo realizar un seguimiento de Google Ads además de los anuncios de Meta?
Sí. Los IDs de clic de Google (gclid, gbraid, wbraid) y cualquier etiqueta de campaña se registran y muestran en el contacto. El envío de resultados solo está disponible para Meta.
¿Por qué un contacto no obtuvo una coincidencia? Las razones más comunes: el mensaje llegó más de 15 minutos después del toque, el número de consulta se eliminó del mensaje, el número de consulta está desactivado y otro visitante envió el mismo texto, o la página no tiene el script.
Mi sitio web enlaza a dos números de WhatsApp. ¿Puedo realizar un seguimiento de solo uno? Sí. Escribe ese número en Número de WhatsApp en la configuración. Déjalo vacío para realizar un seguimiento de todos los enlaces de WhatsApp.
¿Puedo cambiar la redacción más tarde? Sí. Los cambios se aplican a su sitio web de inmediato; no necesita volver a pegar el script.